mirror of
https://github.com/rust-lang-cn/book-cn.git
synced 2025-02-02 23:38:41 +08:00
32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
$ cargo run
|
|
Compiling cons-list v0.1.0 (file:///projects/cons-list)
|
|
error[E0072]: recursive type `List` has infinite size
|
|
--> src/main.rs:1:1
|
|
|
|
|
1 | enum List {
|
|
| ^^^^^^^^^ recursive type has infinite size
|
|
2 | Cons(i32, List),
|
|
| ---- recursive without indirection
|
|
|
|
|
help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `List` representable
|
|
|
|
|
2 | Cons(i32, Box<List>),
|
|
| ^^^^ ^
|
|
|
|
error[E0391]: cycle detected when computing drop-check constraints for `List`
|
|
--> src/main.rs:1:1
|
|
|
|
|
1 | enum List {
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: ...which again requires computing drop-check constraints for `List`, 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: List } }`
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
Some errors have detailed explanations: E0072, E0391.
|
|
For more information about an error, try `rustc --explain E0072`.
|
|
error: could not compile `cons-list`
|
|
|
|
To learn more, run the command again with --verbose.
|