I'm just wondering why this trait impl is not provided in the core lib Option<&'a [T]>: From<&'a [T; N]>? Is this just because there has not been such a need so far?
I expected some of the desirable impls to be impossible due to coherence rules not being able to prove them disjoint from the From<T> for Option<T> impl, but they all seem to be allowable.
The other question is whether adding the impls would be API breaking, as adding new blanket impls can be, since e.g. implementing From<LocalType> for StdType is permitted. But, as far as I can tell, while &T is fundamental, thus allowing crates to write impl From<&LocalType> for Option<&[LocalType]>, [T; N] isn't considered fundamental to coherence and thus attempts to write the impl in a crate cause an error, meaning adding the impls to std should be nonbreaking.
TBH, this is a great example of why I'm not fond of spamming the "into trick" on parameters everywhere. If the parameter was just a: Option<&[i32]>, then Some(&[1, 2, 3]) would work fine.