    macro_rules! foo {
        ($foo:ident) => {
            mod y {
                pub struct $foo;
            }
        };
    }
    fn main() {
        foo!(Foo);
        mod module {
            foo!(Bar);
            fn func(_: y::Bar) {
                mod inner {
                    struct Innerest<const C: usize> { field: [u32; {C}], field2: &Innerest }
                }
            }
        }
    }