#serde #serialization #no-std

已废弃 无 std serde-feature-hack

允许在依赖 serde 的情况下使用名为 serde 的功能的一个技巧

3 个不稳定版本

0.2.1 2022年1月27日
0.2.0 2019年1月18日
0.1.0 2018年8月26日

#1030#serde

34 每月下载量
用于 2 crates

MIT/Apache

5KB

serde-feature-hack

已废弃:从 Rust 1.31 版本开始,可以 重命名依赖。不再需要使用此 crate。

允许在 serde 依赖之外使用名为 serde 的功能的一个技巧

在 Cargo.toml 中,你可以这样做

[dependencies]
serde-feature-hack = { version = "0.1.0", optional = true }

[features]
serde = ["serde-feature-hack", "some-other-dependency"]

然后,你可以像平时一样使用 serde,除了 crate 名称是 serde_feature_hack。你可以用通常的 serde 名称导入它。

extern crate serde_feature_hack as serde;
extern crate serde_json;

use serde::{Serialize, Serializer};

struct X;

impl Serialize for X {
    fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
        serializer.serialize_str("Hello, world!")
    }
}

assert_eq!(serde_json::to_string(&X).unwrap(), r#""Hello, world!""#);

依赖

~110–345KB