]> git.proxmox.com Git - rustc.git/blob - src/test/run-pass/deriving-meta.rs
82cf9db3232c0f2251c2dded55bbff40820f931b
[rustc.git] / src / test / run-pass / deriving-meta.rs
1
2 // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
3 // file at the top-level directory of this distribution and at
4 // http://rust-lang.org/COPYRIGHT.
5 //
6 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
7 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
8 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
9 // option. This file may not be copied, modified, or distributed
10 // except according to those terms.
11
12 use std::hash::{Hash, SipHasher};
13
14 #[derive(PartialEq, Clone, Hash)]
15 struct Foo {
16 bar: uint,
17 baz: int
18 }
19
20 fn hash<T: Hash>(_t: &T) {}
21
22 pub fn main() {
23 let a = Foo {bar: 4, baz: -3};
24
25 a == a; // check for PartialEq impl w/o testing its correctness
26 a.clone(); // check for Clone impl w/o testing its correctness
27 hash(&a); // check for Hash impl w/o testing its correctness
28 }