//@ check-pass //@ edition:2018 //@ compile-flags: -Z span-debug //@ aux-build:test-macros.rs //@ aux-build:dollar-crate-external.rs #![no_std] // Don't load unnecessary hygiene information from std extern crate std; #[macro_use] extern crate test_macros; extern crate dollar_crate_external; type S = u8; mod local { macro_rules! local { () => { print_bang! { struct M($crate::S); } #[print_attr] struct A($crate::S); #[derive(Print)] struct D($crate::S); }; } local!(); } mod external { use crate::dollar_crate_external; dollar_crate_external::external!(); } fn main() {}