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

Fedor Chelnokov <fchelnokov at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fchelnokov at gmail dot com

--- Comment #3 from Fedor Chelnokov <fchelnokov at gmail dot com> ---
The main problem as I can see, is that in GCC `operator auto` changes its name
after definition:
```
class A {
protected:
    operator auto();
};

template<class>
struct B : A {
    using A::operator auto;
};

B<int> bi; // ok everywhere, including GCC

A::operator auto() { return 1; }

B<char> bc; // ok everywhere, but in GCC
```
Online demo: https://gcc.godbolt.org/z/3cn73EGKs

After the definition, it becomes `A::operator int` in GCC, which is not like in
other compilers.

Reply via email to