]> git.proxmox.com Git - rustc.git/blame - src/test/ui/hygiene/auxiliary/intercrate.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / hygiene / auxiliary / intercrate.rs
CommitLineData
7cac9316
XL
1#![feature(decl_macro)]
2
3pub mod foo {
4 pub use self::bar::m;
5 mod bar {
6 fn f() -> u32 { 1 }
7 pub macro m() {
94222f64 8 f()
7cac9316 9 }
476ff2be
SL
10 }
11}
8faf50e0
XL
12
13pub struct SomeType;
14
15// `$crate`
16pub macro uses_dollar_crate_modern() {
17 type Alias = $crate::SomeType;
18}
19
20pub macro define_uses_dollar_crate_modern_nested($uses_dollar_crate_modern_nested: ident) {
21 macro $uses_dollar_crate_modern_nested() {
22 type AliasCrateModernNested = $crate::SomeType;
23 }
24}
25
26#[macro_export]
27macro_rules! define_uses_dollar_crate_legacy_nested {
28 () => {
29 macro_rules! uses_dollar_crate_legacy_nested {
30 () => {
31 type AliasLegacyNested = $crate::SomeType;
32 }
33 }
34 }
35}
36
37// `crate`
38pub macro uses_crate_modern() {
39 type AliasCrate = crate::SomeType;
40}
41
42pub macro define_uses_crate_modern_nested($uses_crate_modern_nested: ident) {
43 macro $uses_crate_modern_nested() {
44 type AliasCrateModernNested = crate::SomeType;
45 }
46}