error[E0277]: the trait bound `(dyn ToString + 'static): Default` is not satisfied --> $DIR/issue-43924.rs:7:45 | LL | type Out: Default + ToString + ?Sized = dyn ToString; | ^^^^^^^^^^^^ the trait `Default` is not implemented for `(dyn ToString + 'static)` | note: required by a bound in `Foo::Out` --> $DIR/issue-43924.rs:7:15 | LL | type Out: Default + ToString + ?Sized = dyn ToString; | ^^^^^^^ required by this bound in `Foo::Out` error[E0599]: no function or associated item named `default` found for trait object `(dyn ToString + 'static)` in the current scope --> $DIR/issue-43924.rs:14:39 | LL | assert_eq!(<() as Foo>::Out::default().to_string(), "false"); | ^^^^^^^ function or associated item not found in `dyn ToString` error: aborting due to 2 previous errors Some errors have detailed explanations: E0277, E0599. For more information about an error, try `rustc --explain E0277`.