<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/75002>75002</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++] `views::split` and `views::lazy_split` shouldn't be range adaptor closures
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
StephanTLavavej
</td>
</tr>
</table>
<pre>
See my analysis in #74961 followed by @cpplearner's https://github.com/llvm/llvm-project/pull/74961#issuecomment-1848847026.
The `views::split` and `views::lazy_split` machinery shouldn't derive from `__range_adaptor_closure`:
https://github.com/llvm/llvm-project/blob/fde04e61cb7393f0ca982d7fc905a17767d93e6e/libcxx/include/__ranges/split_view.h#L196-L197
https://github.com/llvm/llvm-project/blob/fde04e61cb7393f0ca982d7fc905a17767d93e6e/libcxx/include/__ranges/lazy_split_view.h#L439-L440
Instead they should inherit from nothing, like `views::take_while`:
https://github.com/llvm/llvm-project/blob/fde04e61cb7393f0ca982d7fc905a17767d93e6e/libcxx/include/__ranges/take_while_view.h#L135-L137
I'm unsure if other changes will be needed, beyond my test changes in #74961.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVM1uszgUfRqzsRKZa8CwYNFvKqSRsmv3kcGX2K2xkW2SZp5-BP1Lu-u3qhQ5EsaH8-NzZYzm5BBbUv4h5X0ml6R9aB8Szlq6x4M8yzM-Zb1X1_YBkU5XKp2012giNY4S4KJoqpyO3lp_QUX7KyUFG-bZogwOAwERqU5pjoTfEegIdCeT9NLvBz8R6Kw9v__t5uCfcEgEunmxlkC3YRPgJsYFBz9N6NIur4u6LgSDak_YPWF3r-ujRkoqdjZ42T7F7-JsTSIVo9Kpb1tW_nc9fuxPctDGYbjSqP1ilSMgElUYzBnpGPy0nj4eg3QnPEol5-TDcbA-LgFJxVbIGyI_Fttb3xPoRoWswCofesEbPrJBNjUoMQ4NK2UuRCVUw7HCFcD0w8sLgc64wS5qffRGLxLoNl3HVe1eE-CHvKl2h7wRv4Tep_c3HAve7A5FwW6N_NfFhFLRpPE9GWqcxmDSayrOJ23cicA_1Jrn7_En-YzHizb2N2b0Se42KF7uDjkXX0wgICa6uPWuUTNSnzQGOugNiF6MtbRH6hAVqtWIHq_eqbWnCWP6ePGmq19a87pmquWq4Y3MsM0FAwBesDrTrar7EkauZM2QVYqzkVdQVDJXnJWVEplpgQHPIWd5WTJW70dWQl6KslGSsZIXpGA4SWP3q6F7H07ZVuZWlIxBZmWPNm7DB2B1jMCf7QfrMArtlkK_nCIpmDUxxU-YZJLdxtbNsfL-b0fAbfF7pFtO9K3q9K3qMVuCbX98dTa9a-ab5P8DAAD__0yKs8A">