]> git.lizzy.rs Git - rust.git/blob - src/test/ui/traits/static-method-overwriting.rs
:arrow_up: rust-analyzer
[rust.git] / src / test / ui / traits / static-method-overwriting.rs
1 // run-pass
2 #![allow(dead_code)]
3 mod base {
4     pub trait HasNew {
5         fn new() -> Self;
6     }
7
8     pub struct Foo {
9         dummy: (),
10     }
11
12     impl ::base::HasNew for Foo {
13         fn new() -> Foo {
14             println!("Foo");
15             Foo { dummy: () }
16         }
17     }
18
19     pub struct Bar {
20         dummy: (),
21     }
22
23     impl ::base::HasNew for Bar {
24         fn new() -> Bar {
25             println!("Bar");
26             Bar { dummy: () }
27         }
28     }
29 }
30
31 pub fn main() {
32     let _f: base::Foo = base::HasNew::new();
33     let _b: base::Bar = base::HasNew::new();
34 }