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`
9 | doesn't satisfy `Value: PartialEq`
11 LL | hs.insert(Value(0));
14 = note: the following trait bounds were not satisfied:
17 which is required by `Value: Eq`
19 help: consider annotating `Value` with `#[derive(Eq, Hash, PartialEq)]`
21 LL | #[derive(Eq, Hash, PartialEq)]
24 error[E0599]: the method `use_eq` exists for struct `Object<NoDerives>`, but its trait bounds were not satisfied
25 --> $DIR/issue-91550.rs:26:9
27 LL | pub struct NoDerives;
28 | --------------------
30 | doesn't satisfy `NoDerives: Eq`
31 | doesn't satisfy `NoDerives: PartialEq`
33 LL | struct Object<T>(T);
34 | ---------------- method `use_eq` not found for this struct
37 | ^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
39 note: the following trait bounds were not satisfied:
41 `NoDerives: PartialEq`
42 --> $DIR/issue-91550.rs:15:9
44 LL | impl<T: Eq> Object<T> {
47 | unsatisfied trait bound introduced here
48 help: consider annotating `NoDerives` with `#[derive(Eq, PartialEq)]`
50 LL | #[derive(Eq, PartialEq)]
53 error[E0599]: the method `use_ord` exists for struct `Object<NoDerives>`, but its trait bounds were not satisfied
54 --> $DIR/issue-91550.rs:27:9
56 LL | pub struct NoDerives;
57 | --------------------
59 | doesn't satisfy `NoDerives: Eq`
60 | doesn't satisfy `NoDerives: Ord`
61 | doesn't satisfy `NoDerives: PartialEq`
62 | doesn't satisfy `NoDerives: PartialOrd`
64 LL | struct Object<T>(T);
65 | ---------------- method `use_ord` not found for this struct
68 | ^^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
70 note: the following trait bounds were not satisfied:
73 `NoDerives: PartialEq`
74 `NoDerives: PartialOrd`
75 --> $DIR/issue-91550.rs:18:9
77 LL | impl<T: Ord> Object<T> {
80 | unsatisfied trait bound introduced here
81 help: consider annotating `NoDerives` with `#[derive(Eq, Ord, PartialEq, PartialOrd)]`
83 LL | #[derive(Eq, Ord, PartialEq, PartialOrd)]
86 error[E0599]: the method `use_ord_and_partial_ord` exists for struct `Object<NoDerives>`, but its trait bounds were not satisfied
87 --> $DIR/issue-91550.rs:28:9
89 LL | pub struct NoDerives;
90 | --------------------
92 | doesn't satisfy `NoDerives: Eq`
93 | doesn't satisfy `NoDerives: Ord`
94 | doesn't satisfy `NoDerives: PartialEq`
95 | doesn't satisfy `NoDerives: PartialOrd`
97 LL | struct Object<T>(T);
98 | ---------------- method `use_ord_and_partial_ord` not found for this struct
100 LL | foo.use_ord_and_partial_ord();
101 | ^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called on `Object<NoDerives>` due to unsatisfied trait bounds
103 note: the following trait bounds were not satisfied:
106 `NoDerives: PartialEq`
107 `NoDerives: PartialOrd`
108 --> $DIR/issue-91550.rs:21:9
110 LL | impl<T: Ord + PartialOrd> Object<T> {
111 | ^^^ ^^^^^^^^^^ ---------
113 | | unsatisfied trait bound introduced here
114 | unsatisfied trait bound introduced here
115 help: consider annotating `NoDerives` with `#[derive(Eq, Ord, PartialEq, PartialOrd)]`
117 LL | #[derive(Eq, Ord, PartialEq, PartialOrd)]
120 error: aborting due to 4 previous errors
122 For more information about this error, try `rustc --explain E0599`.