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

Arsen Arsenović <arsen at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-07-23
           Severity|normal                      |enhancement

--- Comment #2 from Arsen Arsenović <arsen at gcc dot gnu.org> ---
generalized version of this issue:

  #include <coroutine>
  template<int>
  struct X {};

  template<int R>
  requires (R >= 0)
  struct X<R>
  { using test_type = int; };

  typename X<0>::test_type foo = 1;
  typename X<-1>::test_type bar = 1;


.. resulting in:

  <source>:11:17: error: 'test_type' in 'struct X<-1>' does not name a type
     11 | typename X<-1>::test_type bar = 1;
        |                 ^~~~~~~~~

I think that if diagnostics were created for this example, we could piggy-back
off the machinery nicely for coroutines

Reply via email to