about summary refs log tree commit diff
path: root/tests/ui/deriving/deriving-meta-multiple.rs
blob: 7c2d3566fbf26343a4d7a935e5a8b9fc0393fcc4 (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
//@ run-pass
#![allow(unused_must_use)]
#![allow(unused_imports)]
#![allow(deprecated)]

use std::hash::{Hash, SipHasher};

// testing multiple separate deriving attributes
#[derive(PartialEq)]
#[derive(Clone)]
#[derive(Hash)]
struct Foo {
    bar: usize,
    baz: isize
}

fn hash<T: Hash>(_t: &T) {}

pub fn main() {
    let a = Foo {bar: 4, baz: -3};

    a == a;    // check for PartialEq impl w/o testing its correctness
    a.clone(); // check for Clone impl w/o testing its correctness
    hash(&a);  // check for Hash impl w/o testing its correctness
}