1 // compile-flags: --crate-type=lib
2 // This test checks that the `where_clauses_object_safety` lint does not cause
3 // other object safety *hard errors* to be suppressed, because we currently
4 // only emit one object safety error per trait...
6 use std::future::Future;
9 pub trait Fetcher: Send + Sync {
10 fn get<'a>(self: &'a Box<Self>) -> Pin<Box<dyn Future<Output = Vec<u8>> + 'a>>
18 fn fetcher() -> Box<dyn Fetcher> {
19 //~^ ERROR the trait `Fetcher` cannot be made into an object
24 let fetcher = fetcher();
25 let _ = fetcher.get();