@@ -0,0 +1,43 @@ |
|
|
|
1 |
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT |
|
2 |
+// file at the top-level directory of this distribution and at |
|
3 |
+// http://rust-lang.org/COPYRIGHT. |
|
4 |
+// |
|
5 |
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or |
|
6 |
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license |
|
7 |
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your |
|
8 |
+// option. This file may not be copied, modified, or distributed |
|
9 |
+// except according to those terms. |
|
10 |
+ |
|
11 |
+// aux-build:derive-foo.rs |
|
12 |
+// ignore-stage1 |
|
13 |
+// pp-exact |
|
14 |
+// Testing that both the inner item and next outer item are |
|
15 |
+// preserved, and that the first outer item parsed in main is not |
|
16 |
+// accidentally carried over to each inner function |
|
17 |
+ |
|
18 |
+#[macro_use] |
|
19 |
+extern crate derive_foo; |
|
20 |
+ |
|
21 |
+#[derive(Foo)] |
|
22 |
+struct X; |
|
23 |
+ |
|
24 |
+#[derive(Foo)] |
|
25 |
+#[Bar] |
|
26 |
+struct Y; |
|
27 |
+ |
|
28 |
+#[derive(Foo)] |
|
29 |
+struct WithRef { |
|
30 |
+x: X, |
|
31 |
+#[Bar] |
|
32 |
+y: Y, |
|
33 |
+} |
|
34 |
+ |
|
35 |
+#[derive(Foo)] |
|
36 |
+enum Enum { |
|
37 |
+ |
|
38 |
+#[Bar] |
|
39 |
+Asdf, |
|
40 |
+Qwerty, |
|
41 |
+} |
|
42 |
+ |
|
43 |
+fn main() { } |