mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-28 11:38:01 +00:00
Currently, we only point at the span of the macro argument. When the macro call is itself generated by another macro, this can make it difficult or impossible to determine which macro is responsible for producing the error.
50 lines
1.0 KiB
Rust
50 lines
1.0 KiB
Rust
#![feature(crate_visibility_modifier)]
|
|
#![feature(decl_macro)]
|
|
#![feature(destructuring_assignment)]
|
|
#![feature(format_args_capture)]
|
|
#![feature(iter_zip)]
|
|
#![feature(proc_macro_diagnostic)]
|
|
#![feature(proc_macro_internals)]
|
|
#![feature(proc_macro_span)]
|
|
#![feature(try_blocks)]
|
|
|
|
#[macro_use]
|
|
extern crate rustc_macros;
|
|
|
|
extern crate proc_macro as pm;
|
|
|
|
mod placeholders;
|
|
mod proc_macro_server;
|
|
|
|
pub use mbe::macro_rules::compile_declarative_macro;
|
|
crate use rustc_span::hygiene;
|
|
pub mod base;
|
|
pub mod build;
|
|
#[macro_use]
|
|
pub mod config;
|
|
pub mod expand;
|
|
pub mod module;
|
|
pub mod proc_macro;
|
|
|
|
crate mod mbe;
|
|
|
|
// HACK(Centril, #64197): These shouldn't really be here.
|
|
// Rather, they should be with their respective modules which are defined in other crates.
|
|
// However, since for now constructing a `ParseSess` sorta requires `config` from this crate,
|
|
// these tests will need to live here in the iterim.
|
|
|
|
#[cfg(test)]
|
|
mod tests;
|
|
#[cfg(test)]
|
|
mod parse {
|
|
mod tests;
|
|
}
|
|
#[cfg(test)]
|
|
mod tokenstream {
|
|
mod tests;
|
|
}
|
|
#[cfg(test)]
|
|
mod mut_visit {
|
|
mod tests;
|
|
}
|