Struct jlrs::value::type_var::TypeVar[][src]

#[repr(transparent)]pub struct TypeVar<'frame>(_, _);

This is a unknown, but possibly restricted, type parameter. In Array{T, N}, T and N are TypeVars.

Implementations

impl<'frame> TypeVar<'frame>[src]

pub fn new<F, S>(
    frame: &mut F,
    name: S,
    lower_bound: Option<Value<'_, '_>>,
    upper_bound: Option<Value<'_, '_>>
) -> JlrsResult<Self> where
    F: Frame<'frame>,
    S: TemporarySymbol
[src]

Create a new TypeVar, the optional lower and upper bounds must be subtypes of Type, their default values are Union{} and Any respectively. This requires one slot on the GC stack.

pub fn name(self) -> Symbol<'frame>[src]

The name of this TypeVar.

pub fn lower_bound(self) -> Value<'frame, 'static>[src]

The lower bound of this TypeVar.

pub fn upper_bound(self) -> Value<'frame, 'static>[src]

The upper bound of this TypeVar.

pub fn as_value(self) -> Value<'frame, 'static>[src]

Convert self to a Value.

Trait Implementations

impl<'frame, 'data> Cast<'frame, 'data> for TypeVar<'frame>[src]

type Output = Self

impl<'frame> Clone for TypeVar<'frame>[src]

impl<'frame> Copy for TypeVar<'frame>[src]

impl<'frame> Eq for TypeVar<'frame>[src]

impl<'frame> Hash for TypeVar<'frame>[src]

impl<'frame> Into<Value<'frame, 'static>> for TypeVar<'frame>[src]

impl<'frame> JuliaType for TypeVar<'frame>[src]

impl<'frame> JuliaTypecheck for TypeVar<'frame>[src]

impl<'frame> PartialEq<TypeVar<'frame>> for TypeVar<'frame>[src]

impl<'frame> StructuralEq for TypeVar<'frame>[src]

impl<'frame> StructuralPartialEq for TypeVar<'frame>[src]

impl<'frame> ValidLayout for TypeVar<'frame>[src]

Auto Trait Implementations

impl<'frame> RefUnwindSafe for TypeVar<'frame>[src]

impl<'frame> !Send for TypeVar<'frame>[src]

impl<'frame> !Sync for TypeVar<'frame>[src]

impl<'frame> Unpin for TypeVar<'frame>[src]

impl<'frame> UnwindSafe for TypeVar<'frame>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.