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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-03-26
     Ever confirmed|0                           |1

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, started with r9-4045-g0c1e0d63fe0ceabb.
Before that it was rejected with:

pr94333.cc:7:45: error: lambda-expression in unevaluated context
    7 |     static yes check(U u) requires(requires{[](auto u){auto [a, b] =
u;}(u);});
      |                                             ^
pr94333.cc:7:76: error: expected ‘}’ before ‘;’ token
    7 |     static yes check(U u) requires(requires{[](auto u){auto [a, b] =
u;}(u);});
      |                                            ~                           
   ^
pr94333.cc:7:76: error: expected ‘)’ before ‘;’ token
    7 |     static yes check(U u) requires(requires{[](auto u){auto [a, b] =
u;}(u);});
      |                                   ~                                    
   ^
      |                                                                        
   )
pr94333.cc:7:78: error: expected ‘;’ before ‘)’ token
    7 |     static yes check(U u) requires(requires{[](auto u){auto [a, b] =
u;}(u);});
      |                                                                        
     ^
      |                                                                        
     ;
pr94333.cc:8:12: error: ‘no’ does not name a type
    8 |     static no check(...);
      |            ^~
pr94333.cc:9:44: error: ‘T’ was not declared in this scope
    9 |     static constexpr bool y = sizeof(check(T())) == sizeof(yes);
      |                                            ^
pr94333.cc:9:38: error: ‘check’ was not declared in this scope
    9 |     static constexpr bool y = sizeof(check(T())) == sizeof(yes);
      |                                      ^~~~~
pr94333.cc:9:60: error: ‘yes’ was not declared in this scope
    9 |     static constexpr bool y = sizeof(check(T())) == sizeof(yes);
      |                                                            ^~~
pr94333.cc:10:1: error: expected declaration before ‘}’ token
   10 | };
      | ^
pr94333.cc: In function ‘int main()’:
pr94333.cc:21:50: error: ‘y’ is not a member of ‘has2param<point>’
   21 |     constexpr bool ans = has2param<decltype(p)>::y;
      |                                                  ^

Reply via email to