#serialization #debugging #formatting #no-std #write #standard #convert

no-std serde_fmt

Write any serde::Serialize using the standard formatting APIs

7 releases (4 stable)

1.0.3 May 5, 2023
1.0.2 Apr 8, 2023
1.0.1 May 22, 2020
0.1.0 Feb 3, 2020
0.0.1 Jul 11, 2019

#538 in Encoding

Download history 135795/week @ 2024-07-24 125612/week @ 2024-07-31 152062/week @ 2024-08-07 165288/week @ 2024-08-14 158443/week @ 2024-08-21 157956/week @ 2024-08-28 230048/week @ 2024-09-04 215842/week @ 2024-09-11 215336/week @ 2024-09-18 225001/week @ 2024-09-25 244795/week @ 2024-10-02 246458/week @ 2024-10-09 233215/week @ 2024-10-16 238492/week @ 2024-10-23 218182/week @ 2024-10-30 192510/week @ 2024-11-06

930,190 downloads per month
Used in 3 crates (via value-bag-serde1)

Apache-2.0 OR MIT

19KB
476 lines

serde_fmt

rust Latest version Documentation Latest

Convert any serde::Serialize into a std::fmt::Debug:

fn takes_serialize(v: impl Serialize) {
    dbg!(serde_fmt::to_debug(&v));

    // Do something with `v`
}

Supported rustc

This library requires a Rust compiler that's at least 1.42.0.

Getting started

Add serde_fmt to your Cargo.toml:

[dependencies.serde_fmt]
version = "1.0.3"

By default, this library will depend on the standard library. To use it in no-std environments, you can disable the default crate features:

[dependencies.serde_fmt]
version = "1.0.3"
default-features = false

lib.rs:

serde -> std::fmt

This library lets you take any Serialize and format it as if it's Debug. The format produced is the same as if the type derived Debug, and any formatting flags will be preserved.

Getting started

Add serde_fmt to your Cargo.toml:

[dependencies.serde_fmt]
version = "1.0.3"

By default, this library doesn't depend on the standard library. You can enable support with the std Cargo feature:

[dependencies.serde_fmt]
version = "1.0.3"
features = ["std"]

Formatting a Serialize

Use the to_debug function to treat a serde::Serialize like a std::fmt::Debug:

fn takes_serialize(v: impl Serialize) {
// You can dump any `Serialize` using the
// standard `dbg!` macro
dbg!(serde_fmt::to_debug(&v));

// do something with `v`
}

Dependencies

~100–335KB