[Bug c++/71965] [6/7 regression] [concepts] Substitution error *after* failure to satisfy an earlier constraint

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Feb 19 23:15:00 GMT 2017


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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrew.n.sutton at gmail dot com

--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #1)
> Started with r238558.

Right.  With the faster model, when we consider whether a particular concept is
satisfied, we first substitute the template arguments into the whole concept
definition and then evaluate the whole thing for satisfaction.  This seems to
be non-conforming: N4641 says,

"The satisfaction of a conjunction’s operands are evaluated left-to-right; if
the left operand is not satisfied, template arguments are not substituted into
the right operand, and the constraint is not satisfied."

Andrew?


More information about the Gcc-bugs mailing list