1 error[E0072]: recursive type `Take` has infinite size
2 --> $DIR/infinite-struct.rs:1:1
4 LL | struct Take(Take);
7 | | recursive without indirection
8 | recursive type has infinite size
10 help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `Take` representable
12 LL | struct Take(Box<Take>);
15 error[E0391]: cycle detected when computing drop-check constraints for `Take`
16 --> $DIR/infinite-struct.rs:1:1
18 LL | struct Take(Take);
21 = note: ...which immediately requires computing drop-check constraints for `Take` again
22 = note: cycle used when computing dropck types for `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, constness: NotConst }, value: Take } }`
24 error: aborting due to 2 previous errors
26 Some errors have detailed explanations: E0072, E0391.
27 For more information about an error, try `rustc --explain E0072`.