Skip to content

US095 12.02 p1 Equivalence of requires-clauses #94

@wg21bot

Description

@wg21bot

A declaration redeclares a constrained function if its requires-clause is equivalent. No atomic constraint expression can be equivalent to any other unless it is accessed via a concept (even within a single translation unit); for functions with no template parameters, all requires-clauses are functionally equivalent to either "requires true" or "requires false". In either case, the program is ill-formed NDR because of constructs that are functionally equivalent but not equivalent.

Proposed change:
Document these severe restrictions, change the definition of (functionally) equivalent for atomic constraints to rely on the ODR, and/or eagerly evaluate non-dependent (portions of) constraints.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions