https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108414
Gregory Dushkin <yagreg7 at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yagreg7 at gmail dot com --- Comment #5 from Gregory Dushkin <yagreg7 at gmail dot com> --- I have two more much shorter examples of this problem: https://godbolt.org/z/EWb3ToK6E https://godbolt.org/z/fh5Tjax1z The first one reveals that inside of a concept `decltype` of a lambda that comes via a type alias will be evaluated to `int` (revealed with `#if 0` and `-fconcepts-diagnostics-depth=2`). With `#if 1` it produces ``` <source>:17:32: error: template argument 1 is invalid 17 | concept ConceptTest = std::same_as<GetArg<T>, PT>; ``` The second example is probably one of the shortest ones to reveal this problem. Both compile successfully with `clang trunk` and `msvc v19.latest` but don't with `gcc trunk` It would be really nice to see this issue resolved to be able to create type helpers without cluttering the `detail` namespace :)