]>
Commit | Line | Data |
---|---|---|
2b03887a FG |
1 | error[E0038]: the trait `Fetcher` cannot be made into an object |
2 | --> $DIR/issue-102762.rs:18:21 | |
3 | | | |
4 | LL | fn get<'a>(self: &'a Box<Self>) -> Pin<Box<dyn Future<Output = Vec<u8>> + 'a>> | |
5 | | ------------- help: consider changing method `get`'s `self` parameter to be `&self`: `&Self` | |
6 | ... | |
7 | LL | fn fetcher() -> Box<dyn Fetcher> { | |
8 | | ^^^^^^^^^^^ `Fetcher` cannot be made into an object | |
9 | | | |
10 | 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> | |
11 | --> $DIR/issue-102762.rs:10:22 | |
12 | | | |
13 | LL | pub trait Fetcher: Send + Sync { | |
14 | | ------- this trait cannot be made into an object... | |
15 | LL | fn get<'a>(self: &'a Box<Self>) -> Pin<Box<dyn Future<Output = Vec<u8>> + 'a>> | |
16 | | ^^^^^^^^^^^^^ ...because method `get`'s `self` parameter cannot be dispatched on | |
17 | ||
18 | error: aborting due to previous error | |
19 | ||
20 | For more information about this error, try `rustc --explain E0038`. |