1 error[E0599]: the method `insert` exists for struct `HashSet<Value>`, but its trait bounds were not satisfied
2 --> $DIR/issue-91550.rs:8:8
4 LL | struct Value(u32);
7 | doesn't satisfy `Value: Eq`
8 | doesn't satisfy `Value: Hash`
10 LL | hs.insert(Value(0));
13 = note: the following trait bounds were not satisfied:
16 help: consider annotating `Value` with `#[derive(Eq, Hash, PartialEq)]`
18 LL | #[derive(Eq, Hash, PartialEq)]
21 error[E0599]: the method `use_eq` exists for struct `Object<NoDerives>`, but its trait bounds were not satisfied
22 --> $DIR/issue-91550.rs:26:9
24 LL | pub struct NoDerives;
25 | -------------------- doesn't satisfy `NoDerives: Eq`
27 LL | struct Object<T>(T);
28 | ---------------- method `use_eq` not found for this struct
31 | ^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
33 note: trait bound `NoDerives: Eq` was not satisfied
34 --> $DIR/issue-91550.rs:15:9
36 LL | impl<T: Eq> Object<T> {
39 | unsatisfied trait bound introduced here
40 help: consider annotating `NoDerives` with `#[derive(Eq, PartialEq)]`
42 LL | #[derive(Eq, PartialEq)]
45 error[E0599]: the method `use_ord` exists for struct `Object<NoDerives>`, but its trait bounds were not satisfied
46 --> $DIR/issue-91550.rs:27:9
48 LL | pub struct NoDerives;
49 | -------------------- doesn't satisfy `NoDerives: Ord`
51 LL | struct Object<T>(T);
52 | ---------------- method `use_ord` not found for this struct
55 | ^^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
57 note: trait bound `NoDerives: Ord` was not satisfied
58 --> $DIR/issue-91550.rs:18:9
60 LL | impl<T: Ord> Object<T> {
63 | unsatisfied trait bound introduced here
64 help: consider annotating `NoDerives` with `#[derive(Eq, Ord, PartialEq, PartialOrd)]`
66 LL | #[derive(Eq, Ord, PartialEq, PartialOrd)]
69 error[E0599]: the method `use_ord_and_partial_ord` exists for struct `Object<NoDerives>`, but its trait bounds were not satisfied
70 --> $DIR/issue-91550.rs:28:9
72 LL | pub struct NoDerives;
73 | --------------------
75 | doesn't satisfy `NoDerives: Ord`
76 | doesn't satisfy `NoDerives: PartialOrd`
78 LL | struct Object<T>(T);
79 | ---------------- method `use_ord_and_partial_ord` not found for this struct
81 LL | foo.use_ord_and_partial_ord();
82 | ^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
84 note: the following trait bounds were not satisfied:
86 `NoDerives: PartialOrd`
87 --> $DIR/issue-91550.rs:21:9
89 LL | impl<T: Ord + PartialOrd> Object<T> {
90 | ^^^ ^^^^^^^^^^ ---------
92 | | unsatisfied trait bound introduced here
93 | unsatisfied trait bound introduced here
94 help: consider annotating `NoDerives` with `#[derive(Eq, Ord, PartialEq, PartialOrd)]`
96 LL | #[derive(Eq, Ord, PartialEq, PartialOrd)]
99 error: aborting due to 4 previous errors
101 For more information about this error, try `rustc --explain E0599`.