Skip to content

Commit 111ad87

Browse files
hlbarberhawkw
authored andcommitted
tracing: use fully qualified names in macros for items exported from std prelude (#2621)
Currently, in many places, macros do not use fully qualified names for items exported from the prelude. This means that naming collisions (`struct Some`) or the removal of the std library prelude will cause compilation errors. - Identify and use fully qualified names in macros were we previously assumed the Rust std prelude. We use `::core` rather than `::std`. - Add [`no_implicit_prelude`](https://doc.rust-lang.org/reference/names/preludes.html#the-no_implicit_prelude-attribute) to `tracing/tests/macros.rs`. I'm unsure if this is giving us good coverage - can we improve on this approach? I'm not confident I've caught everything.
1 parent eb2ce04 commit 111ad87

File tree

7 files changed

+191
-187
lines changed

7 files changed

+191
-187
lines changed

tracing-core/src/field.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1086,7 +1086,7 @@ macro_rules! impl_valid_len {
10861086
( $( $len:tt ),+ ) => {
10871087
$(
10881088
impl<'a> private::ValidLen<'a> for
1089-
[(&'a Field, Option<&'a (dyn Value + 'a)>); $len] {}
1089+
[(&'a Field, ::core::option::Option<&'a (dyn Value + 'a)>); $len] {}
10901090
)+
10911091
}
10921092
}

tracing-core/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,9 @@ macro_rules! metadata {
243243
$name,
244244
$target,
245245
$level,
246-
Some(file!()),
247-
Some(line!()),
248-
Some(module_path!()),
246+
::core::option::Option::Some(file!()),
247+
::core::option::Option::Some(line!()),
248+
::core::option::Option::Some(module_path!()),
249249
$crate::field::FieldSet::new($fields, $crate::identify_callsite!($callsite)),
250250
$kind,
251251
)

tracing-log/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -307,9 +307,9 @@ macro_rules! log_cs {
307307
"log event",
308308
"log",
309309
$level,
310-
None,
311-
None,
312-
None,
310+
::core::option::Option::None,
311+
::core::option::Option::None,
312+
::core::option::Option::None,
313313
field::FieldSet::new(FIELD_NAMES, identify_callsite!(&$cs)),
314314
Kind::EVENT,
315315
);

tracing-subscriber/src/fmt/fmt_layer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -775,7 +775,7 @@ macro_rules! with_event_from_span {
775775
#[allow(unused)]
776776
let mut iter = fs.iter();
777777
let v = [$(
778-
(&iter.next().unwrap(), Some(&$value as &dyn field::Value)),
778+
(&iter.next().unwrap(), ::core::option::Option::Some(&$value as &dyn field::Value)),
779779
)*];
780780
let vs = fs.value_set(&v);
781781
let $event = Event::new_child_of($id, meta, &vs);

tracing-subscriber/src/macros.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ macro_rules! try_lock {
44
try_lock!($lock, else return)
55
};
66
($lock:expr, else $els:expr) => {
7-
if let Ok(l) = $lock {
7+
if let ::core::result::Result::Ok(l) = $lock {
88
l
99
} else if std::thread::panicking() {
1010
$els

tracing/src/macros.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2193,127 +2193,127 @@ macro_rules! valueset {
21932193
// };
21942194
(@ { $(,)* $($out:expr),* }, $next:expr, $($k:ident).+ = ?$val:expr, $($rest:tt)*) => {
21952195
$crate::valueset!(
2196-
@ { $($out),*, (&$next, Some(&debug(&$val) as &dyn Value)) },
2196+
@ { $($out),*, (&$next, ::core::option::Option::Some(&debug(&$val) as &dyn Value)) },
21972197
$next,
21982198
$($rest)*
21992199
)
22002200
};
22012201
(@ { $(,)* $($out:expr),* }, $next:expr, $($k:ident).+ = %$val:expr, $($rest:tt)*) => {
22022202
$crate::valueset!(
2203-
@ { $($out),*, (&$next, Some(&display(&$val) as &dyn Value)) },
2203+
@ { $($out),*, (&$next, ::core::option::Option::Some(&display(&$val) as &dyn Value)) },
22042204
$next,
22052205
$($rest)*
22062206
)
22072207
};
22082208
(@ { $(,)* $($out:expr),* }, $next:expr, $($k:ident).+ = $val:expr, $($rest:tt)*) => {
22092209
$crate::valueset!(
2210-
@ { $($out),*, (&$next, Some(&$val as &dyn Value)) },
2210+
@ { $($out),*, (&$next, ::core::option::Option::Some(&$val as &dyn Value)) },
22112211
$next,
22122212
$($rest)*
22132213
)
22142214
};
22152215
(@ { $(,)* $($out:expr),* }, $next:expr, $($k:ident).+, $($rest:tt)*) => {
22162216
$crate::valueset!(
2217-
@ { $($out),*, (&$next, Some(&$($k).+ as &dyn Value)) },
2217+
@ { $($out),*, (&$next, ::core::option::Option::Some(&$($k).+ as &dyn Value)) },
22182218
$next,
22192219
$($rest)*
22202220
)
22212221
};
22222222
(@ { $(,)* $($out:expr),* }, $next:expr, ?$($k:ident).+, $($rest:tt)*) => {
22232223
$crate::valueset!(
2224-
@ { $($out),*, (&$next, Some(&debug(&$($k).+) as &dyn Value)) },
2224+
@ { $($out),*, (&$next, ::core::option::Option::Some(&debug(&$($k).+) as &dyn Value)) },
22252225
$next,
22262226
$($rest)*
22272227
)
22282228
};
22292229
(@ { $(,)* $($out:expr),* }, $next:expr, %$($k:ident).+, $($rest:tt)*) => {
22302230
$crate::valueset!(
2231-
@ { $($out),*, (&$next, Some(&display(&$($k).+) as &dyn Value)) },
2231+
@ { $($out),*, (&$next, ::core::option::Option::Some(&display(&$($k).+) as &dyn Value)) },
22322232
$next,
22332233
$($rest)*
22342234
)
22352235
};
22362236
(@ { $(,)* $($out:expr),* }, $next:expr, $($k:ident).+ = ?$val:expr) => {
22372237
$crate::valueset!(
2238-
@ { $($out),*, (&$next, Some(&debug(&$val) as &dyn Value)) },
2238+
@ { $($out),*, (&$next, ::core::option::Option::Some(&debug(&$val) as &dyn Value)) },
22392239
$next,
22402240
)
22412241
};
22422242
(@ { $(,)* $($out:expr),* }, $next:expr, $($k:ident).+ = %$val:expr) => {
22432243
$crate::valueset!(
2244-
@ { $($out),*, (&$next, Some(&display(&$val) as &dyn Value)) },
2244+
@ { $($out),*, (&$next, ::core::option::Option::Some(&display(&$val) as &dyn Value)) },
22452245
$next,
22462246
)
22472247
};
22482248
(@ { $(,)* $($out:expr),* }, $next:expr, $($k:ident).+ = $val:expr) => {
22492249
$crate::valueset!(
2250-
@ { $($out),*, (&$next, Some(&$val as &dyn Value)) },
2250+
@ { $($out),*, (&$next, ::core::option::Option::Some(&$val as &dyn Value)) },
22512251
$next,
22522252
)
22532253
};
22542254
(@ { $(,)* $($out:expr),* }, $next:expr, $($k:ident).+) => {
22552255
$crate::valueset!(
2256-
@ { $($out),*, (&$next, Some(&$($k).+ as &dyn Value)) },
2256+
@ { $($out),*, (&$next, ::core::option::Option::Some(&$($k).+ as &dyn Value)) },
22572257
$next,
22582258
)
22592259
};
22602260
(@ { $(,)* $($out:expr),* }, $next:expr, ?$($k:ident).+) => {
22612261
$crate::valueset!(
2262-
@ { $($out),*, (&$next, Some(&debug(&$($k).+) as &dyn Value)) },
2262+
@ { $($out),*, (&$next, ::core::option::Option::Some(&debug(&$($k).+) as &dyn Value)) },
22632263
$next,
22642264
)
22652265
};
22662266
(@ { $(,)* $($out:expr),* }, $next:expr, %$($k:ident).+) => {
22672267
$crate::valueset!(
2268-
@ { $($out),*, (&$next, Some(&display(&$($k).+) as &dyn Value)) },
2268+
@ { $($out),*, (&$next, ::core::option::Option::Some(&display(&$($k).+) as &dyn Value)) },
22692269
$next,
22702270
)
22712271
};
22722272

22732273
// Handle literal names
22742274
(@ { $(,)* $($out:expr),* }, $next:expr, $k:literal = ?$val:expr, $($rest:tt)*) => {
22752275
$crate::valueset!(
2276-
@ { $($out),*, (&$next, Some(&debug(&$val) as &dyn Value)) },
2276+
@ { $($out),*, (&$next, ::core::option::Option::Some(&debug(&$val) as &dyn Value)) },
22772277
$next,
22782278
$($rest)*
22792279
)
22802280
};
22812281
(@ { $(,)* $($out:expr),* }, $next:expr, $k:literal = %$val:expr, $($rest:tt)*) => {
22822282
$crate::valueset!(
2283-
@ { $($out),*, (&$next, Some(&display(&$val) as &dyn Value)) },
2283+
@ { $($out),*, (&$next, ::core::option::Option::Some(&display(&$val) as &dyn Value)) },
22842284
$next,
22852285
$($rest)*
22862286
)
22872287
};
22882288
(@ { $(,)* $($out:expr),* }, $next:expr, $k:literal = $val:expr, $($rest:tt)*) => {
22892289
$crate::valueset!(
2290-
@ { $($out),*, (&$next, Some(&$val as &dyn Value)) },
2290+
@ { $($out),*, (&$next, ::core::option::Option::Some(&$val as &dyn Value)) },
22912291
$next,
22922292
$($rest)*
22932293
)
22942294
};
22952295
(@ { $(,)* $($out:expr),* }, $next:expr, $k:literal = ?$val:expr) => {
22962296
$crate::valueset!(
2297-
@ { $($out),*, (&$next, Some(&debug(&$val) as &dyn Value)) },
2297+
@ { $($out),*, (&$next, ::core::option::Option::Some(&debug(&$val) as &dyn Value)) },
22982298
$next,
22992299
)
23002300
};
23012301
(@ { $(,)* $($out:expr),* }, $next:expr, $k:literal = %$val:expr) => {
23022302
$crate::valueset!(
2303-
@ { $($out),*, (&$next, Some(&display(&$val) as &dyn Value)) },
2303+
@ { $($out),*, (&$next, ::core::option::Option::Some(&display(&$val) as &dyn Value)) },
23042304
$next,
23052305
)
23062306
};
23072307
(@ { $(,)* $($out:expr),* }, $next:expr, $k:literal = $val:expr) => {
23082308
$crate::valueset!(
2309-
@ { $($out),*, (&$next, Some(&$val as &dyn Value)) },
2309+
@ { $($out),*, (&$next, ::core::option::Option::Some(&$val as &dyn Value)) },
23102310
$next,
23112311
)
23122312
};
23132313

23142314
// Remainder is unparsable, but exists --- must be format args!
23152315
(@ { $(,)* $($out:expr),* }, $next:expr, $($rest:tt)+) => {
2316-
$crate::valueset!(@ { (&$next, Some(&format_args!($($rest)+) as &dyn Value)), $($out),* }, $next, )
2316+
$crate::valueset!(@ { (&$next, ::core::option::Option::Some(&format_args!($($rest)+) as &dyn Value)), $($out),* }, $next, )
23172317
};
23182318

23192319
// === entry ===
@@ -2324,7 +2324,7 @@ macro_rules! valueset {
23242324
let mut iter = $fields.iter();
23252325
$fields.value_set($crate::valueset!(
23262326
@ { },
2327-
iter.next().expect("FieldSet corrupted (this is a bug)"),
2327+
::core::iter::Iterator::next(&mut iter).expect("FieldSet corrupted (this is a bug)"),
23282328
$($kvs)+
23292329
))
23302330
}

0 commit comments

Comments
 (0)