https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118398

--- Comment #10 from mauro russo <ing.russomauro at gmail dot com> ---
As comment about point (a), I hope to be right in referring the following
standard text from [temp.constr.normal]-p(1.4):

"The normal form of a concept-id C<A1 , A2 , ..., An > is the normal form of
the constraint-expression of C, after substituting A1 , A2 , ..., An for C’s
respective template parameters in the parameter mappings in each atomic
constraint. ..."

This seems to confirm the statement that unsued parameter do not partecipate in
the generation of the normal form of the constraints associated to a template,
because [temp.constr.decl]-p3, in turn, reads:
"... the associated constraints are the normal form of ..."


Another contribute to (b), beyond the aforementioned [expr.prim.req.general] -
p5, there is also [temp.constr.atomic]-p3, reading:

"To determine if an atomic constraint is satisfied, the parameter mapping and
template arguments are first substituted into its expression. If substitution
results in an invalid type or expression in the immediate context of the atomic
constraint, the constraint is not satisfied. ... "

Reply via email to