error[E0369]: cannot add `T` to `Wrapper` --> $DIR/restrict-type-not-param.rs:8:7 | LL | a + b | - ^ - T | | | Wrapper | note: an implementation of `Add<_>` might be missing for `Wrapper` --> $DIR/restrict-type-not-param.rs:3:1 | LL | struct Wrapper(T); | ^^^^^^^^^^^^^^^^^ must implement `Add<_>` note: the trait `Add` must be implemented --> $SRC_DIR/core/src/ops/arith.rs:LL:COL help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement | LL | fn qux(a: Wrapper, b: T) -> T where Wrapper: Add { | ++++++++++++++++++++++++++++++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0369`.