pub enum ObOp {
Basic(Ustr),
Id(ObType),
Composite(Vec<ObOp>),
ModeApp {
modality: Modality,
op: Box<ObOp>,
},
}
Expand description
Object operation in a double theory.
Variants§
Basic(Ustr)
Basic or generating object operation.
Id(ObType)
Identity operation on an object type.
Composite(Vec<ObOp>)
Composite of object operations.
ModeApp
Modality applied to an object operation.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ObOp
impl<'de> Deserialize<'de> for ObOp
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl FromWasmAbi for ObOpwhere
Self: DeserializeOwned,
impl FromWasmAbi for ObOpwhere
Self: DeserializeOwned,
Source§impl IntoWasmAbi for ObOp
impl IntoWasmAbi for ObOp
Source§impl OptionFromWasmAbi for ObOpwhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for ObOpwhere
Self: DeserializeOwned,
Source§impl OptionIntoWasmAbi for ObOp
impl OptionIntoWasmAbi for ObOp
Source§impl RefFromWasmAbi for ObOpwhere
Self: DeserializeOwned,
impl RefFromWasmAbi for ObOpwhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
The Wasm ABI type references to
Self
are recovered from.Source§impl Tsify for ObOp
impl Tsify for ObOp
const DECL: &'static str = "/**\n * Object operation in a double theory.\n */\nexport type ObOp = { tag: \"Basic\"; content: Ustr } | { tag: \"Id\"; content: ObType } | { tag: \"Composite\"; content: ObOp[] } | { tag: \"ModeApp\"; content: { modality: Modality; op: ObOp } };"
const SERIALIZATION_CONFIG: SerializationConfig
type JsType = JsType
fn into_js(&self) -> Result<Self::JsType, Error>where
Self: Serialize,
fn from_js<T>(js: T) -> Result<Self, Error>
Source§impl VectorFromWasmAbi for ObOpwhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for ObOpwhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Source§impl VectorIntoWasmAbi for ObOp
impl VectorIntoWasmAbi for ObOp
type Abi = <JsType as VectorIntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi
impl Eq for ObOp
impl StructuralPartialEq for ObOp
Auto Trait Implementations§
impl Freeze for ObOp
impl RefUnwindSafe for ObOp
impl Send for ObOp
impl Sync for ObOp
impl Unpin for ObOp
impl UnwindSafe for ObOp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as
IntoWasmAbi::Abi
Source§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as
IntoWasmAbi::into_abi
, except that it may throw and never
return in the case of Err
.