summaryrefslogtreecommitdiffstats
path: root/tests/ui/derives/issue-91550.rs
blob: 56fd5ffa89eea4080af1e38377f57702ae1885cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use std::collections::HashSet;

/// natural case from the issue
struct Value(u32);

fn main() {
    let hs = HashSet::<Value>::new();
    hs.insert(Value(0)); //~ ERROR
}

/// synthetic cases
pub struct NoDerives;

struct Object<T>(T);
impl<T: Eq> Object<T> {
    fn use_eq(&self) {}
}
impl<T: Ord> Object<T> {
    fn use_ord(&self) {}
}
impl<T: Ord + PartialOrd> Object<T> {
    fn use_ord_and_partial_ord(&self) {}
}

fn function(foo: Object<NoDerives>) {
    foo.use_eq(); //~ ERROR
    foo.use_ord(); //~ ERROR
    foo.use_ord_and_partial_ord(); //~ ERROR
}