rust/tests/ui/hygiene/cross-crate-define-and-use.rs

19 lines
447 B
Rust

// 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);
}