Trait ExtensionValue

Source
pub trait ExtensionValue:
    Debug
    + Send
    + Sync
    + UnwindSafe
    + RefUnwindSafe {
    // Required methods
    fn typename(&self) -> Name;
    fn supports_operator_overloading(&self) -> bool;
}
Expand description

Extension value.

Anything implementing this trait can be used as a first-class value in Cedar. For instance, the ipaddr extension uses this mechanism to implement IPAddr as a Cedar first-class value.

Required Methods§

Source

fn typename(&self) -> Name

Get the name of the type of this value.

Cedar has nominal typing, so two values have the same type iff they return the same typename here.

Source

fn supports_operator_overloading(&self) -> bool

If it supports operator overloading

Implementors§