4个版本

0.1.10 2024年7月22日
0.1.9 2024年7月17日
0.1.8 2024年7月12日
0.1.7 2024年7月8日

714编码 中排名

Download history 226/week @ 2024-07-08 157/week @ 2024-07-15 137/week @ 2024-07-22 17/week @ 2024-07-29

每月下载 537
2 个crate中使用(通过 argus-lib

MIT 许可证

225KB
6K SLoC

Rustc类型远程 serde::Serialize 继承

警告:这些定义是匆忙完成的,肯定需要一点“修复”。将在某个时候完成。在此期间,请自行承担风险。

以下是本模块中使用的命名约定的快速指南。尽可能使用serde::remote来序列化类型。根据惯例,这些远程类型在类型后附加一个“Def”后缀。

例如,rustc_middle::ty::Ty 序列化为 TyDef

序列化丰富的源信息是 困难的,需要先进行展开和处理,才能获得所有信息。如果你不相信这个说法,请看一下 rustc_middle::ty::print::pretty,当你确信后再回来。

如果一个类型需要扩展成更丰富的形式,这将在 new 函数中完成。

如果一个类型需要在一个serde with 属性中使用,则定义一个相关函数 serialize,实际的序列化将推迟到 serialize 扩展方法。

如果你需要序列化一个可选类型,则在其前缀为 Option__,元素列表使用带前缀的 Slice__ 进行序列化。

依赖项

~4–6MB
~112K SLoC