1 error[E0072]: recursive type `MList` has infinite size
2 --> $DIR/infinite-tag-type-recursion.rs:1:1
4 LL | enum MList { Cons(isize, MList), Nil }
5 | ^^^^^^^^^^ ----- recursive without indirection
7 | recursive type has infinite size
9 = help: insert indirection (e.g., a `Box`, `Rc`, or `&`) at some point to make `MList` representable
11 error[E0391]: cycle detected when processing `MList`
12 --> $DIR/infinite-tag-type-recursion.rs:1:1
14 LL | enum MList { Cons(isize, MList), Nil }
17 = note: ...which again requires processing `MList`, completing the cycle
18 = note: cycle used when computing dropck types for `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, def_id: None }, value: MList } }`
20 error: aborting due to 2 previous errors
22 Some errors have detailed explanations: E0072, E0391.
23 For more information about an error, try `rustc --explain E0072`.