pub trait ValueKind: Sealed {
type Mod<'a>: Mod<'a>;
type Val<'a, K>: for<'b> Value<'a, Tag = K, Kind = Self, Mod<'b> = Self::Mod<'b>>
where K: 'a;
type Func<'a>: for<'b> Func<'a, Kind = Self, Mod<'b> = Self::Mod<'b>>;
type Ty<'a>: Ty<'a>;
// Required methods
fn const_int<'a>(
ty: Self::Ty<'a>,
n: u64,
sext: bool,
) -> Self::Val<'a, Normal>;
fn function<'a, 'b, 'c, 'd: 'a + 'b + 'c>(
mod: Self::Mod<'a>,
name: &'b CStr,
ty: Self::Ty<'c>,
) -> Self::Func<'d>;
}
Required Associated Types§
type Mod<'a>: Mod<'a>
type Val<'a, K>: for<'b> Value<'a, Tag = K, Kind = Self, Mod<'b> = Self::Mod<'b>> where K: 'a
type Func<'a>: for<'b> Func<'a, Kind = Self, Mod<'b> = Self::Mod<'b>>
type Ty<'a>: Ty<'a>
Required Methods§
fn const_int<'a>(ty: Self::Ty<'a>, n: u64, sext: bool) -> Self::Val<'a, Normal>
fn function<'a, 'b, 'c, 'd: 'a + 'b + 'c>( mod: Self::Mod<'a>, name: &'b CStr, ty: Self::Ty<'c>, ) -> Self::Func<'d>
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.