| //@ known-bug: #130524 | |
| trait Transform { | |
| type Output<'a>; | |
| } | |
| trait Propagate<Input> {} | |
| fn new_node<T: Transform>(_c: Vec<Box<dyn for<'a> Propagate<<T as Transform>::Output<'a>>>>) -> T { | |
| todo!() | |
| } | |
| impl<Input, T> Propagate<Input> for T {} | |
| struct Noop; | |
| impl Transform for Noop { | |
| type Output<'a> = (); | |
| } | |
| fn main() { | |
| let _node: Noop = new_node(vec![Box::new(Noop)]); | |
| } |