<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/78899>78899</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Validate valarray and slice operations
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
mordante
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mordante
</td>
</tr>
</table>
<pre>
https://github.com/llvm/llvm-project/issues/21320 mentions `valarray`'s multiplication compound assignment operator is not working properly with `slice_array`. The other standard `operator[]` proxy classes have the same issue. This is fixed by https://github.com/llvm/llvm-project/pull/76528.
This issue is not limited to compound assignment operators. `valarray op(valarray, valarray)`, `valarray op(valarray, value)`, and `valarray op(value, valarray)` have similar issues.
All functions for [valarrays](http://eel.is/c++draft/numarray) and `operator[]` proxies should be validated and fixed when needed.
This includes the compound operators for the proxy classes.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyklMGOmzAQhp_GXEZFjoEABw6bXeUJql4rY0-CW2Mjj727efvKJGR3q1WrqpcE4fHvme__jSQyZ4c4sObAhJh90NJFZEKw5qmQKU4-DNvbYvT6MkwxLsSqByaOTBzPJk5pLJWfmTha-7z9fVmC_4EqMnE0RAmJiaPYVYLDjC4a7wjYnj9LK0OQF7bnTLQEc7LRLNYomUtA-XnxyWm4tpl3gl8wyOgDGALnI7z48NO4Mywhr9gLvJg4ZW2yRuH3Tb6ErxOCjxMGoCidlkHnqk0uz988sT3PQq8XUFYSIcEknxHihEByRlhHyVKG8vkn84oaxgv8M5MlWcvEsd03oisZf2L84fp7k6aE24DWzCaihuj_yIPK90DBL0x0d7ziEd6e-5X241_LE77VSqc_rc81v2tfmZGZjZXhOgt9mPHBWjglp64xOPkArDlsGpRtEF0megeKaEuTE6SYODBx0EGeMkWX5u3crcPP_TRIQJNPVsOIuV2jZWaaN11NfJnQgUPUqMv3Tjhlk0ZaI3DHf2e-Np-XPoTmw7CFHirdV70scNi1vOnqqud1MQ1jW3O9byR2-1ZINXZtrxo89ZWQVadkV5hBcFHzndjtqmpX1yVix3eIQp2aCrHuWM1xlsaWOVylD-dihT20Xdf3hZUjWrpdbGvGG7vb1Q7DmsgxnYnV3BqK9CYTTbQ4fLthutu74lqv1Y1A9q9Iwf7HN2Ht9VcAAAD__0Fjf6k">