AaronBallman wrote: > > > Just to be clear, that's going to impact things like function overloading > > > (which we support in C as well as C++), type inspection via `_Generic`, > > > template type deduction in C++, etc. That's not an argument for or > > > against anything, just a reminder that making these truly distinct types > > > means more things to think about. > > > > > > To chime in here, my current implementation supports overloading, > > templating + specialization and `_Generic`. I think @rjmccall is suggesting > > we scale that support back. Which reminds me, I think we discussed some > > edge cases at the dev meeting that I should add tests for. > > I am not suggesting that template argument deduction should ignore OBTs. > Overloading solely by whether an argument is `__ob_trap` seems like a really > bad idea, though.
So it would be part of the type sometimes (argument deduction, mangling) and not part of the type otherwise (overloading)? That seems like a bad idea too, to me. My mental model for this is still that it's like `_Atomic` or `_Complex` in that it specifies a type that's distinct from its underlying type. So that would include overloading as well as argument deduction. https://github.com/llvm/llvm-project/pull/148914 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
