diff --git a/tracing-core/src/lib.rs b/tracing-core/src/lib.rs index eafdba912..b78cfcecd 100644 --- a/tracing-core/src/lib.rs +++ b/tracing-core/src/lib.rs @@ -165,6 +165,14 @@ #[cfg(feature = "alloc")] extern crate alloc; +#[doc(hidden)] +pub mod __macro_support { + // Re-export the `core` functions that are used in macros. This allows + // a crate to be named `core` and avoid name clashes. + // See here: https://github.com/tokio-rs/tracing/issues/2761 + pub use core::{file, line, module_path, option::Option}; +} + /// Statically constructs an [`Identifier`] for the provided [`Callsite`]. /// /// This may be used in contexts, such as static initializers, where the @@ -264,9 +272,9 @@ macro_rules! metadata { $name, $target, $level, - ::core::option::Option::Some(file!()), - ::core::option::Option::Some(line!()), - ::core::option::Option::Some(module_path!()), + $crate::__macro_support::Option::Some($crate::__macro_support::file!()), + $crate::__macro_support::Option::Some($crate::__macro_support::line!()), + $crate::__macro_support::Option::Some($crate::__macro_support::module_path!()), $crate::field::FieldSet::new($fields, $crate::identify_callsite!($callsite)), $kind, ) diff --git a/tracing/src/lib.rs b/tracing/src/lib.rs index de08ec408..3e88cf9f2 100644 --- a/tracing/src/lib.rs +++ b/tracing/src/lib.rs @@ -1005,7 +1005,7 @@ pub mod __macro_support { // Re-export the `core` functions that are used in macros. This allows // a crate to be named `core` and avoid name clashes. // See here: https://github.com/tokio-rs/tracing/issues/2761 - pub use core::{concat, format_args, iter::Iterator, option::Option}; + pub use core::{concat, file, format_args, iter::Iterator, line, option::Option}; /// Callsite implementation used by macro-generated code. /// diff --git a/tracing/src/macros.rs b/tracing/src/macros.rs index 5c688e918..b0791d63f 100644 --- a/tracing/src/macros.rs +++ b/tracing/src/macros.rs @@ -693,11 +693,11 @@ macro_rules! event { (target: $target:expr, parent: $parent:expr, $lvl:expr, { $($fields:tt)* } )=> ({ use $crate::__macro_support::Callsite as _; static __CALLSITE: $crate::__macro_support::MacroCallsite = $crate::callsite2! { - name: concat!( + name: $crate::__macro_support::concat!( "event ", - file!(), + $crate::__macro_support::file!(), ":", - line!() + $crate::__macro_support::line!() ), kind: $crate::metadata::Kind::EVENT, target: $target, @@ -854,11 +854,11 @@ macro_rules! event { (target: $target:expr, $lvl:expr, { $($fields:tt)* } )=> ({ use $crate::__macro_support::Callsite as _; static __CALLSITE: $crate::__macro_support::MacroCallsite = $crate::callsite2! { - name: concat!( + name: $crate::__macro_support::concat!( "event ", - file!(), + $crate::__macro_support::file!(), ":", - line!() + $crate::__macro_support::line!() ), kind: $crate::metadata::Kind::EVENT, target: $target, @@ -1184,11 +1184,11 @@ macro_rules! enabled { if $crate::level_enabled!($lvl) { use $crate::__macro_support::Callsite as _; static __CALLSITE: $crate::__macro_support::MacroCallsite = $crate::callsite2! { - name: concat!( + name: $crate::__macro_support::concat!( "enabled ", - file!(), + $crate::__macro_support::file!(), ":", - line!() + $crate::__macro_support::line!() ), kind: $kind.hint(), target: $target,