Crate starlark_derive

Crate starlark_derive 

Source
Expand description

A proc-macro for writing functions in Rust that can be called from Starlark.

Macros§

starlark_attrs
Generate {has,get,dir}_attr in the StarlarkValue impl block that proxy to the ones generated by derive(StarlarkAttrs)

Attribute Macros§

starlark_internal_bc
Stubs for Starlark bytecode interpreter.
starlark_internal_vtable
starlark_module
Write Starlark modules concisely in Rust syntax.
starlark_value
Generate missing elements of StarlarkValue trait when this attribute is applied to an impl block of StarlarkValue.

Derive Macros§

AllocFrozenValue
Derive the AllocFrozenValue trait.
AllocValue
Derive the AllocValue trait.
Coerce
Freeze
Derive the Freeze trait.
NoSerialize
Derive the NoSerialize trait for serde.
ProvidesStaticType
Derive the ProvidesStaticType trait. Requires the type has no type arguments, no constant arguments, and at most one lifetime argument.
StarlarkAttrs
Derive accessor methods that are designed to be used from {has,get,dir}_attr in an impl StarlarkValue block. All fields in the struct that are not marked with #[starlark(skip)] are exported to Starlark code as attributes. NOTE: Any usage must also call starlark_attrs!() in the impl block for StarlarkValue, otherwise the generated attr methods will not be used.
StarlarkTypeRepr
Derive the StarlarkTypeRepr trait.
Trace
Derive the Trace trait.
UnpackValue
Derive the UnpackValue trait.
VisitSpanMut