-
Notifications
You must be signed in to change notification settings - Fork 16.4k
Closed
Labels
libc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Description
See my analysis in #74961 followed by @cpplearner's #74961 (comment).
The views::split and views::lazy_split machinery shouldn't derive from __range_adaptor_closure:
llvm-project/libcxx/include/__ranges/split_view.h
Lines 196 to 197 in fde04e6
| namespace __split_view { | |
| struct __fn : __range_adaptor_closure<__fn> { |
llvm-project/libcxx/include/__ranges/lazy_split_view.h
Lines 439 to 440 in fde04e6
| namespace __lazy_split_view { | |
| struct __fn : __range_adaptor_closure<__fn> { |
Instead they should inherit from nothing, like views::take_while:
llvm-project/libcxx/include/__ranges/take_while_view.h
Lines 135 to 137 in fde04e6
| namespace __take_while { | |
| struct __fn { |
I'm unsure if other changes will be needed, beyond my test changes in #74961.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
libc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.