error[E0072]: recursive type `MList` has infinite size
  --> $DIR/infinite-tag-type-recursion.rs:1:1
   |
LL | enum MList { Cons(isize, MList), Nil }
   | ^^^^^^^^^^               ----- recursive without indirection
   | |
   | recursive type has infinite size
   |
help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `MList` representable
   |
LL | enum MList { Cons(isize, Box<MList>), Nil }
   |                          ^^^^     ^

error[E0391]: cycle detected when computing drop-check constraints for `MList`
  --> $DIR/infinite-tag-type-recursion.rs:1:1
   |
LL | enum MList { Cons(isize, MList), Nil }
   | ^^^^^^^^^^
   |
   = note: ...which again requires computing drop-check constraints for `MList`, completing the cycle
   = note: cycle used when computing dropck types for `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing }, value: MList } }`

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0072, E0391.
For more information about an error, try `rustc --explain E0072`.
