// Under the 2015 edition without the keyword_idents lint, `dyn` is // entirely acceptable as an identifier. // // check-pass // edition:2015 #![allow(non_camel_case_types)] mod outer_mod { pub mod dyn { pub struct dyn; } } use outer_mod::dyn::dyn; fn main() { match dyn { dyn => {} } macro_defn::dyn(); } mod macro_defn { macro_rules! dyn { () => { ::outer_mod::dyn::dyn } } pub fn dyn() -> ::outer_mod::dyn::dyn { dyn!() } }