error[E0369]: binary operation `==` cannot be applied to type `S` --> $DIR/invalid-bin-op.rs:2:15 | LL | let _ = s == t; | - ^^ - S | | | S | note: an implementation of `PartialEq<_>` might be missing for `S` --> $DIR/invalid-bin-op.rs:5:1 | LL | struct S(T); | ^^^^^^^^^^^ must implement `PartialEq<_>` help: consider annotating `S` with `#[derive(PartialEq)]` | LL + #[derive(PartialEq)] LL | struct S(T); | help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement | LL | pub fn foo(s: S, t: S) where S: PartialEq { | +++++++++++++++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0369`.