error[E0107]: trait takes 1 generic argument but 0 generic arguments were supplied --> $DIR/unable-fulfill-trait.rs:4:17 | LL | field1: dyn Bar<'a, 'b,>, | ^^^ expected 1 generic argument | note: trait defined here, with 1 generic parameter: `U` --> $DIR/unable-fulfill-trait.rs:10:11 | LL | pub trait Bar<'x, 's, U> | ^^^ - help: add missing generic argument | LL | field1: dyn Bar<'a, 'b, U,>, | +++ error[E0227]: ambiguous lifetime bound, explicit lifetime bound required --> $DIR/unable-fulfill-trait.rs:4:13 | LL | field1: dyn Bar<'a, 'b,>, | ^^^^^^^^^^^^^^^^ error[E0478]: lifetime bound not satisfied --> $DIR/unable-fulfill-trait.rs:4:13 | LL | field1: dyn Bar<'a, 'b,>, | ^^^^^^^^^^^^^^^^ | note: lifetime parameter instantiated with the lifetime `'b` as defined here --> $DIR/unable-fulfill-trait.rs:3:20 | LL | pub struct Foo<'a, 'b, T> { | ^^ note: but lifetime parameter must outlive the lifetime `'a` as defined here --> $DIR/unable-fulfill-trait.rs:3:16 | LL | pub struct Foo<'a, 'b, T> { | ^^ error: aborting due to 3 previous errors Some errors have detailed explanations: E0107, E0227, E0478. For more information about an error, try `rustc --explain E0107`.