pub trait IntoLanguageChildren: Sizedwhere
Self::View: Functor<Container<Self::Param> = Self>,
Self::RawData: Functor,
<Self::RawData as Functor>::Container<Id>: LanguageChildren,{
type Param;
type View;
type RawData;
// Required methods
fn view<T>(children: RawData<Self, T>) -> View<Self, T>;
fn unview<T>(children: View<Self, T>) -> RawData<Self, T>;
fn raw_as_refs<T>(refs: &RawData<Self, T>) -> RawData<Self, &T>;
// Provided method
fn map<U>(self, f: impl FnMut(Self::Param) -> U) -> View<Self, U> { ... }
}Expand description
A trait for a type that can be converted from/to egg::LanguageChildren.
Self::RawData must be a egg::LanguageChildren.
This can be derived by self::LanguageChildren derive macro.
Required Associated Types§
Sourcetype RawData
type RawData
Raw egg::LanguageChildren type, which is typiacally a fixed-length array,
Vec, egg::Id, or their newtype-wrapper.
Required Methods§
Sourcefn view<T>(children: RawData<Self, T>) -> View<Self, T>
fn view<T>(children: RawData<Self, T>) -> View<Self, T>
Converts egg::LanguageChildren into a view type.
Sourcefn unview<T>(children: View<Self, T>) -> RawData<Self, T>
fn unview<T>(children: View<Self, T>) -> RawData<Self, T>
Converts a view into egg::LanguageChildren.
Sourcefn raw_as_refs<T>(refs: &RawData<Self, T>) -> RawData<Self, &T>
fn raw_as_refs<T>(refs: &RawData<Self, T>) -> RawData<Self, &T>
Converts a reference to a egg::LanguageChildren into a reference to a view.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.