]> git.lizzy.rs Git - rust.git/blob - src/test/ui/generics/generic-fn.rs
Merge commit 'b40ea209e7f14c8193ddfc98143967b6a2f4f5c9' into clippyup
[rust.git] / src / test / ui / generics / generic-fn.rs
1 // run-pass
2 #![allow(dead_code)]
3 #![allow(unused_assignments)]
4
5 fn id<T>(x: T) -> T { return x; }
6
7 #[derive(Copy, Clone)]
8 struct Triple {x: isize, y: isize, z: isize}
9
10 pub fn main() {
11     let mut x = 62;
12     let mut y = 63;
13     let a = 'a';
14     let mut b = 'b';
15     let p: Triple = Triple {x: 65, y: 66, z: 67};
16     let mut q: Triple = Triple {x: 68, y: 69, z: 70};
17     y = id::<isize>(x);
18     println!("{}", y);
19     assert_eq!(x, y);
20     b = id::<char>(a);
21     println!("{}", b);
22     assert_eq!(a, b);
23     q = id::<Triple>(p);
24     x = p.z;
25     y = q.z;
26     println!("{}", y);
27     assert_eq!(x, y);
28 }