One minor addition to make: [[i32]]
is in fact a "real" type, despite being ill-formed and an error to use. You can without an error mention the type in a type alias (e.g. type Illegal = [[i32]];
), and you can even mention it as the base of a type projection (e.g. <[[i32]] as Trait>::AssociatedType
), although the latter is probably a bug.
3 Likes