]> git.lizzy.rs Git - rust.git/blob - src/test/ui-fulldeps/macro-crate-multi-decorator.rs
Stabilize const for integer {to,from}_{be,le,ne}_bytes methods
[rust.git] / src / test / ui-fulldeps / macro-crate-multi-decorator.rs
1 // check-pass
2 // aux-build:macro-crate-test.rs
3 // ignore-stage1
4
5 #![feature(rustc_attrs)]
6
7 #[macro_use]
8 extern crate macro_crate_test;
9
10 // The duplicate macro will create a copy of the item with the given identifier.
11
12 #[rustc_duplicate(MyCopy)]
13 struct MyStruct {
14     number: i32
15 }
16
17 trait TestTrait {
18     #[rustc_duplicate(TestType2)]
19     type TestType;
20
21     #[rustc_duplicate(required_fn2)]
22     fn required_fn(&self);
23
24     #[rustc_duplicate(provided_fn2)]
25     fn provided_fn(&self) { }
26 }
27
28 impl TestTrait for MyStruct {
29     #[rustc_duplicate(TestType2)]
30     type TestType = f64;
31
32     #[rustc_duplicate(required_fn2)]
33     fn required_fn(&self) { }
34 }
35
36 fn main() {
37     let s = MyStruct { number: 42 };
38     s.required_fn();
39     s.required_fn2();
40     s.provided_fn();
41     s.provided_fn2();
42
43     let s = MyCopy { number: 42 };
44 }