Trait ValueKind

Source
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§

Source

type Mod<'a>: Mod<'a>

Source

type Val<'a, K>: for<'b> Value<'a, Tag = K, Kind = Self, Mod<'b> = Self::Mod<'b>> where K: 'a

Source

type Func<'a>: for<'b> Func<'a, Kind = Self, Mod<'b> = Self::Mod<'b>>

Source

type Ty<'a>: Ty<'a>

Required Methods§

Source

fn const_int<'a>(ty: Self::Ty<'a>, n: u64, sext: bool) -> Self::Val<'a, Normal>

Source

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.

Implementors§