error[E0277]: can't compare `S` with `S` --> $DIR/E0277-3.rs:6:9 | LL | foo(S); | --- ^ no implementation for `S == S` | | | required by a bound introduced by this call | = help: the trait `PartialEq` is not implemented for `S` note: required by a bound in `foo` --> $DIR/E0277-3.rs:1:11 | LL | fn foo(_: T) {} | ^^^^^^^^^ required by this bound in `foo` help: consider annotating `S` with `#[derive(PartialEq)]` | LL + #[derive(PartialEq)] LL | struct S; | error: aborting due to previous error For more information about this error, try `rustc --explain E0277`.