Error code E0773

A builtin-macro was defined more than once.

Erroneous code example:

#![feature(decl_macro)]
#![feature(rustc_attrs)]

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

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

To fix the issue, remove the duplicate declaration:

#![feature(decl_macro)]
#![feature(rustc_attrs)]

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

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.

Back to list of error codes