diff --git a/Cargo.lock b/Cargo.lock index e273990..08e0cc0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,39 +8,11 @@ version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" -[[package]] -name = "derive_more" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" -dependencies = [ - "derive_more-impl", -] - -[[package]] -name = "derive_more-impl" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "unicode-xid", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "n0-error" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", - "derive_more", "n0-error-macros", "spez", ] @@ -49,7 +21,6 @@ dependencies = [ name = "n0-error-macros" version = "0.1.0" dependencies = [ - "heck", "proc-macro2", "quote", "syn", @@ -100,9 +71,3 @@ name = "unicode-ident" version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" - -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" diff --git a/Cargo.toml b/Cargo.toml index 5c1417e..4a6dd9f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "n0-error" -version = "0.1.0" +version = "0.1.1" edition = "2024" readme = "README.md" description = "ergonomic errors with call-site location" @@ -11,7 +11,6 @@ keywords = ["error", "location", "ergonomic"] [dependencies] anyhow = { version = "1.0.100", optional = true } -derive_more = { version = "2.0.1", features = ["debug", "display"] } n0-error-macros = { path = "n0-error-macros", version = "0.1.0" } spez = "0.1.2" diff --git a/n0-error-macros/Cargo.toml b/n0-error-macros/Cargo.toml index 8d82c3f..2b604e1 100644 --- a/n0-error-macros/Cargo.toml +++ b/n0-error-macros/Cargo.toml @@ -12,7 +12,6 @@ keywords = ["error", "location", "ergonomic"] proc-macro = true [dependencies] -heck = "0.5" proc-macro2 = "1" quote = "1" syn = { version = "2", features = ["full", "extra-traits"] } diff --git a/src/meta.rs b/src/meta.rs index a4bf293..cc46136 100644 --- a/src/meta.rs +++ b/src/meta.rs @@ -1,10 +1,21 @@ use std::{fmt, sync::OnceLock}; /// Wrapper around `std::panic::Location` used for display in reports. -#[derive(derive_more::Debug, derive_more::Display, Clone, Copy)] -#[debug("{_0:?}")] +#[derive(Clone, Copy)] pub struct Location(&'static std::panic::Location<'static>); +impl fmt::Display for Location { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + fmt::Display::fmt(self.0, f) + } +} + +impl fmt::Debug for Location { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + fmt::Display::fmt(self.0, f) + } +} + /// Captured metadata for an error creation site. /// /// Currently this only contains the call-site [`Location`].