4个版本 (破坏性更新)
| 0.12.0 | 2019年12月25日 |
|---|---|
| 0.11.0 | 2019年3月24日 |
| 0.10.0 | 2017年6月3日 |
| 0.1.0 | 2017年4月23日 |
#209 在 #scripting-language
每月下载量 34
用于 3 个crate
22KB
357 代码行
ketos_derive
为使用Ketos时提供一系列自定义宏。
以下名称之一可以添加到任何结构体或枚举值的derive属性中。例如
extern crate ketos;
#[derive(Clone, Debug, ForeignValue, FromValue, IntoValue)]
struct Foo {
// ...
}
derive(ForeignValue)
为给定类型实现ForeignValue特性。此宏实现的唯一方法是type_name。其他方法保留默认实现。
ForeignValue特性必须实现(手动或使用此derive),以便其他derive实现能够成功。
derive(FromValue)
为给定类型实现FromValue。
生成的实现要求Ketos Value持有的类型的实例是唯一的,即所包含的Rc的引用计数为1。
如果您的类型实现了Clone,则derive(FromValueClone)将生成一个实现FromValue的宏,该宏会克隆包含的值,如果需要的话。
derive(FromValueClone)
为给定的类型实现 FromValue,前提是这个类型实现了 Clone 特性。
如果 Ketos Value 包含的值不唯一,结果将是包含值的副本。
derive(FromValueRef)
为给定的类型实现 FromValueRef。
derive(IntoValue)
为给定的类型实现 Into<Value>。
依赖项
~1.5MB
~35K SLoC