error[E0277]: the trait bound `T: Copy` is not satisfied --> $DIR/wf-in-fn-ret.rs:10:16 | LL | fn bar() -> MustBeCopy | ^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T` | note: required by a bound in `MustBeCopy` --> $DIR/wf-in-fn-ret.rs:6:22 | LL | struct MustBeCopy { | ^^^^ required by this bound in `MustBeCopy` help: consider restricting type parameter `T` | LL | fn bar() -> MustBeCopy | +++++++++++++++++++ error[E0308]: mismatched types --> $DIR/wf-in-fn-ret.rs:10:16 | LL | fn bar() -> MustBeCopy | --- ^^^^^^^^^^^^^ expected `MustBeCopy`, found `()` | | | implicitly returns `()` as its body has no tail or `return` expression | = note: expected struct `MustBeCopy` found unit type `()` error: aborting due to 2 previous errors Some errors have detailed explanations: E0277, E0308. For more information about an error, try `rustc --explain E0277`.