[Bug c++/100946] [11/12 Regression] [concepts] nonsensical results of compound requirements in requires expressions

ppalka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jun 7 19:12:42 GMT 2021


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

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |ppalka at gcc dot gnu.org
            Summary|[concepts] nonsensical      |[11/12 Regression]
                   |results of compound         |[concepts] nonsensical
                   |requirements in requires    |results of compound
                   |expressions                 |requirements in requires
                   |                            |expressions
     Ever confirmed|0                           |1
   Target Milestone|---                         |11.2
      Known to fail|                            |11.1.0
             Status|UNCONFIRMED                 |ASSIGNED
           Keywords|                            |accepts-invalid,
                   |                            |rejects-valid
   Last reconfirmed|                            |2021-06-07
      Known to work|                            |10.3.0
                 CC|                            |ppalka at gcc dot gnu.org

--- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Confirmed, this started with r11-7454.   The bogus results happen only when
evaluating a non-templated requires-expression.

Reduced accepts-invalid testcase:

template<class T> concept C = __is_same(T, int);
static_assert(requires { { 0 } -> C; });
static_assert(requires { { true } -> C; });


More information about the Gcc-bugs mailing list