[libcxx-commits] [clang] [libcxx] [llvm] Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (PR #98547)
Krystian Stasiowski via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jul 15 09:07:33 PDT 2024
sdkrystian wrote:
> I think the next reland needs to cover the non-type template case, so that we have a way to suppress the warning for all cases (this gives developer time to do the cleanup transition).
@hokein The problem with the non-type template case is that we would have to check the validity of constructs outside the potential _template-argument-list_ in order to disambiguate. For example, `w.x<y>::z` may be a valid expression (interpreted as `((w.x) < y) > ::z`) if the type of `w` is a class type that declares a member `x`, `::z` exists, and both `<` and `>` comparisons are valid.
> I wonder if we should consider deploying that change NOT as a DR such that it would only affect C++23+ conformance, that might alleviate some of the pain points.
@cor3ntin Yes, this is what I was thinking and is the resolution I prefer.
https://github.com/llvm/llvm-project/pull/98547
More information about the libcxx-commits
mailing list