[clang] [libcxx] [llvm] Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (PR #98547)

Krystian Stasiowski via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 22 07:54:05 PDT 2024


sdkrystian wrote:

@mizvekov Consider a slightly altered version of the motivating example [in the DR](https://cplusplus.github.io/CWG/issues/1835.html):
```cpp
template<int I> void end();

template<typename T>
bool Foo(T it0, T it1) 
{
    return it0->end < it1->end || it0->end > it1->end;
}
```
`< it1->end || it0->end >` _looks_ like a template-argument-list, but the alternate interpretation (`(it0->end < it1->end) || (it0->end > it1->end)`) is also valid and reasonable.

https://github.com/llvm/llvm-project/pull/98547


More information about the llvm-commits mailing list