]> git.lizzy.rs Git - rust.git/blob - src/test/ui/proc-macro/auxiliary/external-crate-var.rs
normalize stderr
[rust.git] / src / test / ui / proc-macro / auxiliary / external-crate-var.rs
1 pub struct ExternFoo;
2
3 pub trait ExternTrait {
4     const CONST: u32;
5     type Assoc;
6 }
7
8 impl ExternTrait for ExternFoo {
9     const CONST: u32 = 0;
10     type Assoc = ExternFoo;
11 }
12
13 #[macro_export]
14 macro_rules! external { () => {
15     mod bar {
16         #[derive(Double)]
17         struct Bar($crate::ExternFoo);
18     }
19
20     mod qself {
21         #[derive(Double)]
22         struct QSelf(<$crate::ExternFoo as $crate::ExternTrait>::Assoc);
23     }
24
25     mod qself_recurse {
26         #[derive(Double)]
27         struct QSelfRecurse(<
28             <$crate::ExternFoo as $crate::ExternTrait>::Assoc
29             as $crate::ExternTrait>::Assoc
30         );
31     }
32
33     mod qself_in_const {
34         #[derive(Double)]
35         #[repr(u32)]
36         enum QSelfInConst {
37             Variant = <$crate::ExternFoo as $crate::ExternTrait>::CONST,
38         }
39     }
40 } }