Interestingly Index::index is also usually not marked as `#[must_use]` in Rust either.
In the case of e.g. Vec, it returns a reference, which by itself is side-effect free, so the compiler will always optimize it. I do agree that it should still be marked as such though. I'd be curious the reasons why it's not.
I think there's a reasonable position to take that it was/is too conservative, and also one that it's fine.
Index returns a reference:
https://doc.rust-lang.org/std/ops/trait.Index.html#:~:text=s...
If you don't use the reference it just ... disappears.
Am I missing something here?