- Rename test files to follow conventions better
 - Split constructor tests that were in a single file
 - Add missing tests for take_view and transform_view's default constructors
 - Add missing tests for transform_view's view/function constructor
 - Fix include guards
 - Mark some tests as being specific to libc++
 
Details
- Reviewers
 • Quuxplusone ldionne - Group Reviewers
 Restricted Project - Commits
 - rG770602cfa013: [libc++] Various cleanups in the ranges tests
 
Diff Detail
- Repository
 - rG LLVM Github Monorepo
 
Event Timeline
Just skimmed, but it LGTM.
Might you be persuaded to do another cleanup patch replacing all the instances of stdr:: with std::ranges::? Two days ago I was grepping for the ranges::iterator_t tests, and was mildly irked to find we "didn't have any" (because we had stdr::iterator_t instead).
| libcxx/test/std/ranges/range.access/range.access.begin/incomplete.verify.cpp | ||
|---|---|---|
| 15 | Grammar nit (throughout): "types" should be "type", since it's an array of (one single) incomplete type.  | |
| 22–24 | It might be more to the point to make this an actual SFINAE situation, like template<class T> void f() requires std::invocable<begin_t&, T> {}
template<class T> void f() {}https://godbolt.org/z/deP98eMvd Also, calling this 48-line spew a "better" diagnostic is... generous. ;)  | |
| 29 | Tangent: Maybe the message shouldn't end with a period .  | |
| libcxx/test/std/ranges/range.access/range.access.begin/incomplete.verify.cpp | ||
|---|---|---|
| 22–24 | I'll suggest that we tackle whether or not we want this behavior at all as a separate patch.  | |
Grammar nit (throughout): "types" should be "type", since it's an array of (one single) incomplete type.