summaryrefslogtreecommitdiffstats
path: root/tests/ui/hygiene/cross-crate-define-and-use.rs
blob: 62b1820235c760f5c8e185685310ab5cc1f28649 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Check that a marco from another crate can define an item in one expansion
// and use it from another, without it being visible to everyone.
// This requires that the definition of `my_struct` preserves the hygiene
// information for the tokens in its definition.

// check-pass
// aux-build:use_by_macro.rs

extern crate use_by_macro;

use use_by_macro::*;

enum MyStruct {}
my_struct!(define);

fn main() {
    let x = my_struct!(create);
}