Unlikely I think because of the lack of stable unsized_locals. However, I rather leave the un-bound in for future-compat purposes. Is there a specific reason you want to remove ?Sized?
I would happily r+ a PR that adds a test! Thank you for discovering the lack thereof.
Consistency: we generally don't have ?Sized bounds unless there's a strong reason to have one. For example, Add is defined as trait Add<RHS=Self>.
I definitely think that we should not blindly add a test for this. I guess I'll send a PR for the libs team to review. It may be the case that we want this to be ?Sized, but than we need to figure out if we can change over operators to follow the suite.
That’s an extremely personal opinion, but I prefer to reduce expressiveness of things unless there’s a strong reason that expressiveness is required Expressiveness and “easy to understand” tend to oppose each other (https://www.tedinski.com/2018/01/30/the-one-ring-problem-abstraction-and-power.html is a good blog post on this topic).
In this particular cases, I imagine that, with by-value DSTs implemented, someone might accidentally write Index<[usize]> instead of Index<&[usize]> for multidimensional array indexes, and get an excessive stack usage.