error[E0308]: mismatched types --> $DIR/infinite-autoderef.rs:20:13 | LL | x = box x; | ^^^^^ | | | cyclic type of infinite size | help: try using a conversion method: `(box x).to_string()` error[E0055]: reached the recursion limit while auto-dereferencing `Foo` --> $DIR/infinite-autoderef.rs:25:5 | LL | Foo.foo; | ^^^^^^^ deref recursion limit reached | = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`infinite_autoderef`) error[E0055]: reached the recursion limit while auto-dereferencing `Foo` --> $DIR/infinite-autoderef.rs:25:9 | LL | Foo.foo; | ^^^ deref recursion limit reached | = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`infinite_autoderef`) error[E0609]: no field `foo` on type `Foo` --> $DIR/infinite-autoderef.rs:25:9 | LL | Foo.foo; | ^^^ unknown field error[E0055]: reached the recursion limit while auto-dereferencing `Foo` --> $DIR/infinite-autoderef.rs:26:9 | LL | Foo.bar(); | ^^^ deref recursion limit reached | = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`infinite_autoderef`) error[E0599]: no method named `bar` found for struct `Foo` in the current scope --> $DIR/infinite-autoderef.rs:26:9 | LL | struct Foo; | ----------- method `bar` not found for this ... LL | Foo.bar(); | ^^^ method not found in `Foo` error: aborting due to 6 previous errors Some errors have detailed explanations: E0055, E0308, E0599, E0609. For more information about an error, try `rustc --explain E0055`.