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

MIT/Apache

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