#![feature(decl_macro)]
macro m($t:ty, $e:expr) {
mod foo {
#[allow(unused)]
struct S;
pub(super) fn f(_: $t) {}
}
foo::f($e);
fn main() {
m!(S, S); //~ ERROR cannot find type `S` in this scope