Specification of when semantic constraints are imposed by use of concepts is unclear
Tim Song

Created on 2021-05-23.00:00:00 last changed 3 weeks ago


Date: 2021-05-15.00:00:00

[ 2021-05-26; Reflector poll ]

Set priority to 3 after reflector poll.

Date: 2021-05-23.00:00:00

[structure.requirements] p9 says:

A declaration may explicitly impose requirements through its associated constraints ([temp.constr.decl]). When the associated constraints refer to a concept ([temp.concept]), the semantic constraints specified for that concept are additionally imposed on the use of the declaration.

There are at least two issues with this wording:

  1. First, "associated constraints" is a Core term that refers to the constraints on a declaration after normalization, at which point direct uses of concepts have been decomposed into the constituent atomic constraints and are no longer visible.

  2. Second, "refers to" is too vague. Does !C<T> "refer to" C and impose its semantic constraints? Does C1<T> || C2<T> "refer to" both C1 and C2 and therefore impose the semantic constraints of both?

Date User Action Args
2021-05-26 10:52:50adminsetmessages: + msg11854
2021-05-23 00:00:00admincreate