1 个不稳定版本
0.1.0 | 2021年12月26日 |
---|
#20 in #typemap
在 fixed_typemap 中使用
6KB
59 行
fixed_typemap
实现了使用过程宏支持许多额外功能的typemaps。docs.rs 中比这个readme包含的内容要多得多,包括一个迷你教程和实际示例。你可以用这个来实现
- 实现不分配的固定typemaps,并将所有成员内联初始化为默认值。
- 使用这个来实现类似于fields-in-traits提案的功能,其中你可以使用类型“命名”字段。
- 生成迭代辅助工具,可以迭代任何数量的特质(例如,这可以替换
HashMap<TypeId, Box<dyn MyTrait>>
,并带来其他所有功能,同时也可以让你一次性处理尽可能多的特质)。 - 添加一个可选的动态部分,它使用
HashMap
来存储任何类型。
no_std
支持正在开发中,基本完成,但我不知道如何可靠地完成它。这样做应该不难,我非常欢迎对此做出贡献,并希望提供 CI 配置。
lib.rs
:
fixed_typemap 的内部细节,这是一个用于生成具有已知类型扩展功能的 typemaps 的 crate。
这是由过程宏使用的一系列内部细节,不应直接依赖。相反,你应该依赖并使用 fixed_typemap
,这可能是你想要的内容。
依赖项
~2MB
~42K SLoC