A concept-centered standard library for C++20, enabling safer and more reliable products and a more modern feel for C++ code.; Also home of Subdoc the code-documentation generator.
To do this, we need to be able to implement IntoIterator for any type. That means it can't be a structural concept, but needs to be done through template specialization or whatever.
We should keep the into_iter() methods on types that are IntoIterator for convenience when you have the concrete type, but generic code would want to sus::iter::into_iter(x) instead. Then it can do so on a std::range.
To do this, we need to be able to implement IntoIterator for any type. That means it can't be a structural concept, but needs to be done through template specialization or whatever.
We should keep the
into_iter()
methods on types that are IntoIterator for convenience when you have the concrete type, but generic code would want tosus::iter::into_iter(x)
instead. Then it can do so on astd::range
.Then
sus::iter::from_range()
can go away.