use core::fmt::Display;
use crate::ir::{OperationReflect, TypeHash};
#[cfg_attr(feature = "ir-serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, TypeHash, PartialEq, Eq, Hash, OperationReflect)]
#[operation(opcode_name = SyncOpCode)]
#[allow(missing_docs)]
pub enum Synchronization {
SyncRuda,
SyncPlane,
SyncStorage,
SyncAsyncProxyShared,
}
impl Display for Synchronization {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Synchronization::SyncRuda => write!(f, "sync_ruda()"),
Synchronization::SyncStorage => write!(f, "sync_storage()"),
Synchronization::SyncAsyncProxyShared => write!(f, "sync_proxy_shared()"),
Synchronization::SyncPlane => write!(f, "sync_plane()"),
}
}
}