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
}
|