summaryrefslogtreecommitdiffstats
path: root/tests/ui/hygiene/cross-crate-define-and-use.rs
blob: 94f1adff626429f0909e96ea21c326c230dab673 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 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

#![feature(type_name_of_val)]
extern crate use_by_macro;

use use_by_macro::*;

enum MyStruct {}
my_struct!(define);

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