Auto merge of #122317 - compiler-errors:fulfill-method-probe, r=lcnr · rust-lang/rust@cd90d5c (original) (raw)

`` @@ -2,15 +2,13 @@ error[E0599]: the method insert exists for struct HashSet<Value>, but its tr

``

2

2

` --> $DIR/issue-91550.rs:8:8

`

3

3

` |

`

4

4

`LL | struct Value(u32);

`

5

``

`` -

| ------------ doesn't satisfy Value: Eq, Value: Hash or Value: PartialEq

``

``

5

`` +

| ------------ doesn't satisfy Value: Eq or Value: Hash

``

6

6

`...

`

7

7

`LL | hs.insert(Value(0));

`

8

8

` | ^^^^^^

`

9

9

` |

`

10

10

` = note: the following trait bounds were not satisfied:

`

11

11

`` Value: Eq

``

12

``

`` -

Value: PartialEq

``

13

``

`` -

which is required by Value: Eq

``

14

12

`` Value: Hash

``

15

13

`` help: consider annotating Value with #[derive(Eq, Hash, PartialEq)]

``

16

14

` |

`

`` @@ -22,7 +20,7 @@ error[E0599]: the method use_eq exists for struct Object<NoDerives>, but its

``

22

20

` --> $DIR/issue-91550.rs:26:9

`

23

21

` |

`

24

22

`LL | pub struct NoDerives;

`

25

``

`` -

| -------------------- doesn't satisfy NoDerives: Eq or NoDerives: PartialEq

``

``

23

`` +

| -------------------- doesn't satisfy NoDerives: Eq

``

26

24

`LL |

`

27

25

`LL | struct Object(T);

`

28

26

`` | ---------------- method use_eq not found for this struct

``

`@@ -37,9 +35,6 @@ LL | impl<T: Eq> Object {

`

37

35

` | ^^ ---------

`

38

36

` | |

`

39

37

` | unsatisfied trait bound introduced here

`

40

``

`-

= note: the following trait bounds were not satisfied:

`

41

``

`` -

NoDerives: PartialEq

``

42

``

`` -

which is required by NoDerives: Eq

``

43

38

`` help: consider annotating NoDerives with #[derive(Eq, PartialEq)]

``

44

39

` |

`

45

40

`LL + #[derive(Eq, PartialEq)]

`

`` @@ -50,7 +45,7 @@ error[E0599]: the method use_ord exists for struct Object<NoDerives>, but it

``

50

45

` --> $DIR/issue-91550.rs:27:9

`

51

46

` |

`

52

47

`LL | pub struct NoDerives;

`

53

``

`` -

| -------------------- doesn't satisfy NoDerives: Eq, NoDerives: Ord, NoDerives: PartialEq or NoDerives: PartialOrd

``

``

48

`` +

| -------------------- doesn't satisfy NoDerives: Ord

``

54

49

`LL |

`

55

50

`LL | struct Object(T);

`

56

51

`` | ---------------- method use_ord not found for this struct

``

`@@ -65,13 +60,6 @@ LL | impl<T: Ord> Object {

`

65

60

` | ^^^ ---------

`

66

61

` | |

`

67

62

` | unsatisfied trait bound introduced here

`

68

``

`-

= note: the following trait bounds were not satisfied:

`

69

``

`` -

NoDerives: PartialOrd

``

70

``

`` -

which is required by NoDerives: Ord

``

71

``

`` -

NoDerives: PartialEq

``

72

``

`` -

which is required by NoDerives: Ord

``

73

``

`` -

NoDerives: Eq

``

74

``

`` -

which is required by NoDerives: Ord

``

75

63

`` help: consider annotating NoDerives with #[derive(Eq, Ord, PartialEq, PartialOrd)]

``

76

64

` |

`

77

65

`LL + #[derive(Eq, Ord, PartialEq, PartialOrd)]

`

`` @@ -82,7 +70,7 @@ error[E0599]: the method use_ord_and_partial_ord exists for struct `Object<NoD

``

82

70

` --> $DIR/issue-91550.rs:28:9

`

83

71

` |

`

84

72

`LL | pub struct NoDerives;

`

85

``

`` -

| -------------------- doesn't satisfy NoDerives: Eq, NoDerives: Ord, NoDerives: PartialEq or NoDerives: PartialOrd

``

``

73

`` +

| -------------------- doesn't satisfy NoDerives: Ord or NoDerives: PartialOrd

``

86

74

`LL |

`

87

75

`LL | struct Object(T);

`

88

76

`` | ---------------- method use_ord_and_partial_ord not found for this struct

``

`@@ -100,13 +88,6 @@ LL | impl<T: Ord + PartialOrd> Object {

`

100

88

` | | |

`

101

89

` | | unsatisfied trait bound introduced here

`

102

90

` | unsatisfied trait bound introduced here

`

103

``

`-

= note: the following trait bounds were not satisfied:

`

104

``

`` -

NoDerives: PartialEq

``

105

``

`` -

which is required by NoDerives: Ord

``

106

``

`` -

NoDerives: Eq

``

107

``

`` -

which is required by NoDerives: Ord

``

108

``

`` -

NoDerives: PartialEq

``

109

``

`` -

which is required by NoDerives: PartialOrd

``

110

91

`` help: consider annotating NoDerives with #[derive(Eq, Ord, PartialEq, PartialOrd)]

``

111

92

` |

`

112

93

`LL + #[derive(Eq, Ord, PartialEq, PartialOrd)]

`