[Bug c++/102802] Selection of inherited operator contrary to `using` clause in C++ when using lambda type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102802 Fedor Chelnokov changed: What|Removed |Added Resolution|--- |WONTFIX Status|NEW |RESOLVED --- Comment #4 from Fedor Chelnokov --- Thanks for TC's explanation! This is an equivalent code to the question, but without lambdas: gcc.godbolt.org/z/38T35Yfvs GCC is correct in processing the original code, closing the issue.
[Bug c++/102802] Selection of inherited operator contrary to `using` clause in C++ when using lambda type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102802 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #3 from TC --- No, this is valid. B's operator() is not visible, but its conversion to function pointer is, and that introduces a surrogate call function during the overload resolution for the function call expression (and it's selected because it is the only viable candidate).
[Bug c++/102802] Selection of inherited operator contrary to `using` clause in C++ when using lambda type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102802 --- Comment #2 from Andrew Pinski --- ICC also rejects it.
[Bug c++/102802] Selection of inherited operator contrary to `using` clause in C++ when using lambda type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102802 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed||2021-10-17 Summary|Selection of inherited |Selection of inherited |operator contrary to|operator contrary to |`using` clause in C++ |`using` clause in C++ when ||using lambda type --- Comment #1 from Andrew Pinski --- Confirmed.