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

--- Comment #1 from eracpp <eracpp at eml dot cc> ---
The example may be simplified further by removing the function parameters:

----
template <typename T>
struct B {
  void foo() {}
};

template <typename T>
struct D : B<T> {
  void foo() noexcept(noexcept(B<T>::foo())) {}
};

template struct D<int>;
----

Which still yields the same error:

----
error: cannot call member function 'void B<T>::foo() [with T = int]' without
object
    8 |   void foo() noexcept(noexcept(B<T>::foo())) {}
      |
----

And the `this->B<T>::foo()` workaround still applies.

Reply via email to