]> git.lizzy.rs Git - rust.git/blob - src/test/ui/hygiene/rustc-macro-transparency.rs
Merge commit '0eff589afc83e21a03a168497bbab6b4dfbb4ef6' into clippyup
[rust.git] / src / test / ui / hygiene / rustc-macro-transparency.rs
1 #![feature(decl_macro, rustc_attrs)]
2
3 #[rustc_macro_transparency = "transparent"]
4 macro transparent() {
5     struct Transparent;
6     let transparent = 0;
7 }
8 #[rustc_macro_transparency = "semitransparent"]
9 macro semitransparent() {
10     struct SemiTransparent;
11     let semitransparent = 0;
12 }
13 #[rustc_macro_transparency = "opaque"]
14 macro opaque() {
15     struct Opaque;
16     let opaque = 0;
17 }
18
19 fn main() {
20     transparent!();
21     semitransparent!();
22     opaque!();
23
24     Transparent; // OK
25     SemiTransparent; // OK
26     Opaque; //~ ERROR cannot find value `Opaque` in this scope
27
28     transparent; // OK
29     semitransparent; //~ ERROR expected value, found macro `semitransparent`
30     opaque; //~ ERROR expected value, found macro `opaque`
31 }