erichkeane wrote: > > Is kinda wrong, it should be in the instantiation of that function... > > @erichkeane I don’t quite understand: the CWG issue itself requires us to > check the constraint before substituting into the function during template > argument deduction. So it shouldn’t live in a specialization because we don’t > really have one. This situation feels more like a chicken-and-egg problem. > > GCC doesn’t encounter this issue because it doesn’t need to support the MSVC > ABI. The problem only arises with the MSVC ABI because it requires parent > mangling when instantiating the lambda body.
Actually, I perhaps misread the example (I think I inserted extra curleys there). It isn't clear to me why we are mangling the name of the lambda. It isn't in a context where it should be emitted? Corentin might be right about the starting an unevaluated context. It also isn't clear to me why compare_three_way_result_t is being instantiated with a lambda in it, but the example is one that perhaps needs more contemplating. https://github.com/llvm/llvm-project/pull/102857 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits