Serde: `#[derive(Serialize)]` 带有类型默认值?

创建于 2015-09-21  ·  3评论  ·  资料来源: serde-rs/serde

我有一些这样的代码:

trait MyTrait: Debug + Serialize {}

#[derive(Serialize)]
struct MyStruct<T, U: MyTrait = i32> { t: T, u: U }

出现消息“错误:此处不允许关联类型绑定”的错误。
完整的错误在这里: https://gist.github.com/pwoolcoc/b94407ed648a125969f3 ,我在https://github.com/pwoolcoc/serde-related-types-bug有一个示例项目


rustc 1.5.0-nightly (0418a43fa 2015-09-21)
binary: rustc
commit-hash: 0418a43fa3ce430d18e87c66afb2185395f354d6
commit-date: 2015-09-21
host: x86_64-unknown-linux-gnu
release: 1.5.0-nightly
cargo 0.6.0-nightly (4080ea8 2015-09-20)
bug derive

最有用的评论

已在 #295 中修复,这可以关闭。

所有3条评论

不错的发现! 我需要为此添加支持。

我在https://github.com/dtolnay/serde/commit/fdc81dbb4a344b7135c162d7be47f715afd65c28 上有一个修复,但它与#285 冲突,所以我会在打开 PR 之前等待它合并。

已在 #295 中修复,这可以关闭。

此页面是否有帮助?
0 / 5 - 0 等级