mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-17 15:51:23 +01:00
The reason to do a wildcard import of the prelude instead of something
like
// src/observability/prelude.rs
pub(crate) use tracing::*;
// elsewhere
use crate::observability::prelude as o;
o::warn!("something");
is that we can't import traits like tracing::Instrument that way.
I'm generally not a fan of wildcard imports, but I think it can be okay
when it's a module in the same crate. There aren't really an backwards
compatibility hazards because it's your own code.
14 lines
385 B
Rust
14 lines
385 B
Rust
//! Common tracing-related items intended to be wildcard imported in most
|
|
//! modules:
|
|
//!
|
|
//! ```
|
|
//! use crate::observability::prelude::*;
|
|
//! ```
|
|
//!
|
|
//! This avoids diff churn in the imports when adding/removing log statements.
|
|
//!
|
|
//! [`tracing`] is re-exported as `t`, to avoid name collisions.
|
|
#![allow(unused)]
|
|
|
|
pub(crate) use tracing as t;
|
|
pub(crate) use tracing::Instrument;
|