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

Jonathon Reinhart <jonathon.reinhart at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jonathon.reinhart at gmail dot 
com

--- Comment #3 from Jonathon Reinhart <jonathon.reinhart at gmail dot com> ---
I just discovered this also, with the following:

  class Foo {
    template <typename Write>
    void WriteNestedMessage(uint32_t field_number, Write write_message);

   protected:
    void Write();
  };

  template <typename Write>
  void Foo::WriteNestedMessage(uint32_t field_number, Write write_message) {}

results in

  <source>:12:53: error: 'Write' is not a type
     12 | void Foo::WriteNestedMessage(uint32_t field_number, Write
write_message) {}
        |                                                     ^~~~~


https://stackoverflow.com/questions/79706653

https://godbolt.org/z/hrE3YEzPd


Clang previously got this wrong also and it was fixed in Clang 11:

https://github.com/llvm/llvm-project/commit/d1446017f3fdc2f6a9efba222008d20afa1e26cc

Reply via email to