Error code E0773

A builtin-macro was defined more than once.

Erroneous code example:

#![allow(unused)]
#![feature(decl_macro)]
#![feature(rustc_attrs)]
#![allow(internal_features)]

fn main() {
#[rustc_builtin_macro]
pub macro test($item:item) {
    /* compiler built-in */
}

mod inner {
    #[rustc_builtin_macro]
    pub macro test($item:item) {
        /* compiler built-in */
    }
}
}

To fix the issue, remove the duplicate declaration:

#![allow(unused)]
#![feature(decl_macro)]
#![feature(rustc_attrs)]
#![allow(internal_features)]

fn main() {
#[rustc_builtin_macro]
pub macro test($item:item) {
    /* compiler built-in */
}
}

In very rare edge cases, this may happen when loading core or std twice, once with check metadata and once with build metadata. For more information, see #75176.