error[E0391]: cycle detected when expanding type alias `X`
  --> $DIR/infinite-vec-type-recursion.rs:1:14
   |
LL | type X = Vec<X>;
   |              ^
   |
   = note: ...which immediately requires expanding type alias `X` again
   = note: type aliases cannot be recursive
   = help: consider using a struct, enum, or union instead to break the cycle
   = help: see <https://doc.rust-lang.org/reference/types.html#recursive-types> for more information
note: cycle used when collecting item types in top-level module
  --> $DIR/infinite-vec-type-recursion.rs:1:1
   |
LL | / type X = Vec<X>;
LL | |
LL | |
LL | | fn main() { let b: X = Vec::new(); }
   | |____________________________________^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0391`.
