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