25 lines
1.2 KiB
Plaintext
25 lines
1.2 KiB
Plaintext
error: the trait `Foo` cannot be made into an object
|
|
--> $DIR/object-safety-err-where-bounds.rs:9:8
|
|
|
|
|
LL | fn test(&self) where [u8; bar::<Self>()]: Sized;
|
|
| ^^^^
|
|
|
|
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
|
= note: for more information, see issue #51443 <https://github.com/rust-lang/rust/issues/51443>
|
|
note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
|
|
--> $DIR/object-safety-err-where-bounds.rs:9:8
|
|
|
|
|
LL | trait Foo {
|
|
| --- this trait cannot be made into an object...
|
|
LL | fn test(&self) where [u8; bar::<Self>()]: Sized;
|
|
| ^^^^ ...because method `test` references the `Self` type in its `where` clause
|
|
= help: consider moving `test` to another trait
|
|
note: the lint level is defined here
|
|
--> $DIR/object-safety-err-where-bounds.rs:3:9
|
|
|
|
|
LL | #![deny(where_clauses_object_safety)]
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: aborting due to previous error
|
|
|