Derive Macro rquickjs_macro::HasRefs[][src]

#[derive(HasRefs)]
{
    // Attributes available to this derive:
    #[quickjs]
}

A macro to derive HasRefs

Supported attributes

Macro attributes

AttributeDescription
crate = "rquickjs"Allows rename rquickjs crate

Field attributes

AttributeDescription
has_refsMark a field which has referenses

Examples

Struct


#[derive(HasRefs)]
struct Data {
    #[quickjs(has_refs)]
    lists: HashMap<String, Persistent<Array<'static>>>,
    #[quickjs(has_refs)]
    func: Persistent<Function<'static>>,
    flag: bool,
    text: String,
}

Enum


#[derive(HasRefs)]
enum Data {
    Lists(
        #[quickjs(has_refs)]
        HashMap<String, Persistent<Array<'static>>>
    ),
    Func {
        name: String,
        #[quickjs(has_refs)]
        func: Persistent<Function<'static>>,
    },
    Flag(bool),
    Text(String),
}