]> git.proxmox.com Git - rustc.git/blob - src/test/ui/traits/inheritance/simple.rs
New upstream version 1.52.0~beta.3+dfsg1
[rustc.git] / src / test / ui / traits / inheritance / simple.rs
1 // run-pass
2 #![allow(dead_code)]
3
4 trait Foo { fn f(&self) -> isize; }
5 trait Bar : Foo { fn g(&self) -> isize; }
6
7 struct A { x: isize }
8
9 impl Foo for A { fn f(&self) -> isize { 10 } }
10 impl Bar for A { fn g(&self) -> isize { 20 } }
11
12 fn ff<T:Foo>(a: &T) -> isize {
13 a.f()
14 }
15
16 fn gg<T:Bar>(a: &T) -> isize {
17 a.g()
18 }
19
20 pub fn main() {
21 let a = &A { x: 3 };
22 assert_eq!(ff(a), 10);
23 assert_eq!(gg(a), 20);
24 }