[libcxx-commits] [libcxx] [libc++] avoid using `ranges::advance` and `ranges::next` in all algorithms (PR #179095)

via libcxx-commits libcxx-commits at lists.llvm.org
Sun Feb 1 06:13:31 PST 2026


huixie90 wrote:

Another alternatively solution I have considered is to change

```cpp
template <class _Iter>
class __wrap_iter{
  // ....
};
```

to

```cpp
template <class _Iter>
struct __wrap_iter_t{
  class __t {
   // ...
  }; 
};

template <class _Iter>
using __wrap_iter = __wrap_iter_t<_Iter>::__t;
```

to disable the ADL so that we don't pick up those overly-convertible types's hidden friend

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


More information about the libcxx-commits mailing list