mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 01:11:10 +00:00
sp-debug-derive: Add force-debug feature (#9996)
* sp-debug-derive: Add `force-debug` feature Sometimes users want to have proper debug information even inside the wasm runtime, when they use `RuntimeDebug`. To not fork Substrate to change a type to a normal `Debug` derive, this pr introduces the `force-debug` feature. This feature can be enabled by the user in their runtime and then the types will use the normal Debug derive instead of printing `wasm:stripped`. * Fixes
This commit is contained in:
@@ -40,7 +40,7 @@ zeroize = { version = "1.4.2", default-features = false }
|
||||
secrecy = { version = "0.8.0", default-features = false }
|
||||
lazy_static = { version = "1.4.0", default-features = false, optional = true }
|
||||
parking_lot = { version = "0.11.1", optional = true }
|
||||
sp-debug-derive = { version = "3.0.0", path = "../debug-derive" }
|
||||
sp-debug-derive = { version = "3.0.0", default-features = false, path = "../debug-derive" }
|
||||
sp-externalities = { version = "0.10.0-dev", optional = true, path = "../externalities" }
|
||||
sp-storage = { version = "4.0.0-dev", default-features = false, path = "../storage" }
|
||||
parity-util-mem = { version = "0.10.0", default-features = false, features = [
|
||||
|
||||
@@ -22,6 +22,12 @@ syn = "1.0.80"
|
||||
proc-macro2 = "1.0"
|
||||
|
||||
[features]
|
||||
default = [ "std" ]
|
||||
std = []
|
||||
# By default `RuntimeDebug` implements `Debug` that outputs `<wasm:stripped>` when `std` is
|
||||
# disabled. However, sometimes downstream users need to have the real `Debug` implementation for
|
||||
# debugging purposes. If this is required, a user only needs to add this crate as a dependency of
|
||||
# their runtime and enable the `force-debug` feature.
|
||||
force-debug = []
|
||||
|
||||
[dev-dependencies]
|
||||
|
||||
@@ -43,7 +43,7 @@ pub fn debug_derive(ast: DeriveInput) -> proc_macro::TokenStream {
|
||||
gen.into()
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "std"))]
|
||||
#[cfg(all(not(feature = "std"), not(feature = "force-debug")))]
|
||||
mod implementation {
|
||||
use super::*;
|
||||
|
||||
@@ -58,7 +58,7 @@ mod implementation {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
#[cfg(any(feature = "std", feature = "force-debug"))]
|
||||
mod implementation {
|
||||
use super::*;
|
||||
use proc_macro2::Span;
|
||||
|
||||
@@ -18,9 +18,9 @@ sp-std = { version = "4.0.0-dev", default-features = false, path = "../std" }
|
||||
serde = { version = "1.0.126", optional = true, features = ["derive"] }
|
||||
impl-serde = { version = "0.3.1", optional = true }
|
||||
ref-cast = "1.0.0"
|
||||
sp-debug-derive = { version = "3.0.0", path = "../debug-derive" }
|
||||
sp-debug-derive = { version = "3.0.0", default-features = false, path = "../debug-derive" }
|
||||
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
|
||||
|
||||
[features]
|
||||
default = [ "std" ]
|
||||
std = [ "sp-std/std", "serde", "impl-serde", "codec/std" ]
|
||||
std = [ "sp-std/std", "serde", "impl-serde", "codec/std", "sp-debug-derive/std" ]
|
||||
|
||||
Reference in New Issue
Block a user