summary refs log tree commit diff
path: root/src/test/ui/infinite/infinite-struct.stderr
blob: 369645f9030fbc8c9d93fc4438e9a280fa671c12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
error[E0072]: recursive type `Take` has infinite size
  --> $DIR/infinite-struct.rs:1:1
   |
LL | struct Take(Take);
   | ^^^^^^^^^^^^----^^
   | |           |
   | |           recursive without indirection
   | recursive type has infinite size
   |
help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `Take` representable
   |
LL | struct Take(Box<Take>);
   |             ++++    +

error[E0391]: cycle detected when computing drop-check constraints for `Take`
  --> $DIR/infinite-struct.rs:1:1
   |
LL | struct Take(Take);
   | ^^^^^^^^^^^^^^^^^^
   |
   = note: ...which immediately requires computing drop-check constraints for `Take` again
   = note: cycle used when computing dropck types for `Canonical { max_universe: U0, variables: [], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing }, value: Take } }`

error: aborting due to 2 previous errors

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