6ba08755df
This doesn't mention that using an existing lifetime is possible, but that would hopefully be clear as always being an option. The intention of this is to teach newcomers what the lifetime syntax is.
45 lines
1.8 KiB
Plaintext
45 lines
1.8 KiB
Plaintext
error: `?Trait` is not permitted in trait object types
|
|
--> $DIR/trait-object-trait-parens.rs:6:25
|
|
|
|
|
LL | let _: Box<(Copy) + (?Sized) + (for<'a> Trait<'a>)>;
|
|
| ^^^^^^^^
|
|
|
|
error: `?Trait` is not permitted in trait object types
|
|
--> $DIR/trait-object-trait-parens.rs:11:47
|
|
|
|
|
LL | let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
|
|
| ^^^^^^^^
|
|
|
|
warning: trait objects without an explicit `dyn` are deprecated
|
|
--> $DIR/trait-object-trait-parens.rs:6:16
|
|
|
|
|
LL | let _: Box<(Copy) + (?Sized) + (for<'a> Trait<'a>)>;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (Copy) + (?Sized) + (for<'a> Trait<'a>)`
|
|
|
|
|
= note: `#[warn(bare_trait_objects)]` on by default
|
|
|
|
warning: trait objects without an explicit `dyn` are deprecated
|
|
--> $DIR/trait-object-trait-parens.rs:9:16
|
|
|
|
|
LL | let _: Box<(?Sized) + (for<'a> Trait<'a>) + (Copy)>;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (?Sized) + (for<'a> Trait<'a>) + (Copy)`
|
|
|
|
warning: trait objects without an explicit `dyn` are deprecated
|
|
--> $DIR/trait-object-trait-parens.rs:11:16
|
|
|
|
|
LL | let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (for<'a> Trait<'a>) + (Copy) + (?Sized)`
|
|
|
|
error[E0261]: use of undeclared lifetime name `'a`
|
|
--> $DIR/trait-object-trait-parens.rs:11:31
|
|
|
|
|
LL | fn main() {
|
|
| - help: consider introducing lifetime `'a` here: `<'a>`
|
|
...
|
|
LL | let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
|
|
| ^^ undeclared lifetime
|
|
|
|
error: aborting due to 3 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0261`.
|