mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-15 13:36:49 +00:00
Add test
This commit is contained in:
parent
17a6ae2df3
commit
8c5577283c
@ -0,0 +1,7 @@
|
||||
trait Foo {
|
||||
type Bar<T>;
|
||||
}
|
||||
|
||||
fn bar(x: &dyn Foo) {} //~ ERROR the trait `Foo` cannot be made into an object
|
||||
|
||||
fn main() {}
|
@ -0,0 +1,18 @@
|
||||
error[E0038]: the trait `Foo` cannot be made into an object
|
||||
--> $DIR/object-unsafe-missing-assoc-type.rs:5:16
|
||||
|
|
||||
LL | fn bar(x: &dyn Foo) {}
|
||||
| ^^^ `Foo` cannot be made into an object
|
||||
|
|
||||
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-unsafe-missing-assoc-type.rs:2:10
|
||||
|
|
||||
LL | trait Foo {
|
||||
| --- this trait cannot be made into an object...
|
||||
LL | type Bar<T>;
|
||||
| ^^^ ...because it contains the generic associated type `Bar`
|
||||
= help: consider moving `Bar` to another trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0038`.
|
Loading…
Reference in New Issue
Block a user