mirror of https://github.com/rust-lang/rust
25 lines
435 B
Rust
25 lines
435 B
Rust
trait Wrap<'b> {
|
|
fn foo(&'b mut self);
|
|
}
|
|
|
|
struct Wrapper<P>(P);
|
|
|
|
impl<'b, P> Wrap<'b> for Wrapper<P>
|
|
where P: Process<'b>,
|
|
<P as Process<'b>>::Item: Iterator {
|
|
fn foo(&mut self) {}
|
|
}
|
|
|
|
|
|
pub trait Process<'a> {
|
|
type Item;
|
|
fn bar(&'a self);
|
|
}
|
|
|
|
fn push_process<P>(process: P) where P: Process<'static> {
|
|
let _: Box<dyn for<'b> Wrap<'b>> = Box::new(Wrapper(process));
|
|
//~^ ERROR is not an iterator
|
|
}
|
|
|
|
fn main() {}
|