Skip to main content

ValidField

Trait ValidField 

Source
pub unsafe trait ValidField {
    // Required method
    fn valid_field(ty: Value<'_, '_>) -> bool;
}
Expand description

Trait used to check if a field of a Rust type and Julia type have matching layouts.

Layouts for immutable types generated by JlrsReflect.jl derive this trait. Mutable types must use Option<WeakValue> because they’re not stored inline when used as a field type.

Required Methods§

Source

fn valid_field(ty: Value<'_, '_>) -> bool

Returns true if Self is the correct representation for Julia data of type ty when it’s used as a field type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ValidField for ()

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for *mut c_void

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<DataType<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<Expr<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<JuliaString<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<Module<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<Symbol<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<TypeName<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<TypeVar<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<Union<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<UnionAll<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakDataType<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakExpr<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakModule<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakString<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakSymbol<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakTypeName<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakTypeVar<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakUnion<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakUnionAll<'_>>

Source§

fn valid_field(ty: Value<'_, '_>) -> bool

Source§

impl ValidField for Option<WeakValue<'_, '_>>

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for bool

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for char

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for f16

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for f32

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for f64

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for i8

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for i16

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for i32

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for i64

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for isize

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for u8

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for u16

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for u32

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for u64

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl ValidField for usize

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl<'scope> ValidField for Option<WeakSimpleVector<'scope>>

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl<T: ConstructType, const N: isize> ValidField for Option<WeakTypedRankedArray<'_, '_, T, N>>

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl<T> ValidField for Option<TypedValue<'_, '_, T>>
where T: ConstructType,

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Source§

impl<const N: isize> ValidField for Option<WeakRankedArray<'_, '_, N>>

Source§

fn valid_field(v: Value<'_, '_>) -> bool

Implementors§

Source§

impl ValidField for Bool

Source§

impl ValidField for Char

Source§

impl ValidField for EmptyUnion

Source§

impl ValidField for Nothing

Source§

impl ValidField for Tuple0

Source§

impl<L, T> ValidField for TypedLayout<L, T>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32> ValidField for Tuple32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> ValidField for Tuple31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> ValidField for Tuple30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> ValidField for Tuple29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> ValidField for Tuple28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> ValidField for Tuple27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> ValidField for Tuple26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> ValidField for Tuple25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> ValidField for Tuple24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> ValidField for Tuple23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> ValidField for Tuple22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> ValidField for Tuple21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> ValidField for Tuple20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> ValidField for Tuple19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> ValidField for Tuple18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> ValidField for Tuple17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ValidField for Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ValidField for Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ValidField for Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ValidField for Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ValidField for Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ValidField for Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ValidField for Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> ValidField for Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8> ValidField for Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>

Source§

impl<T1, T2, T3, T4, T5, T6, T7> ValidField for Tuple7<T1, T2, T3, T4, T5, T6, T7>

Source§

impl<T1, T2, T3, T4, T5, T6> ValidField for Tuple6<T1, T2, T3, T4, T5, T6>

Source§

impl<T1, T2, T3, T4, T5> ValidField for Tuple5<T1, T2, T3, T4, T5>

Source§

impl<T1, T2, T3, T4> ValidField for Tuple4<T1, T2, T3, T4>

Source§

impl<T1, T2, T3> ValidField for Tuple3<T1, T2, T3>
where T1: ValidField + Clone + Debug, T2: ValidField + Clone + Debug, T3: ValidField + Clone + Debug,

Source§

impl<T1, T2> ValidField for Tuple2<T1, T2>
where T1: ValidField + Clone + Debug, T2: ValidField + Clone + Debug,

Source§

impl<T1> ValidField for Tuple1<T1>
where T1: ValidField + Clone + Debug,

Source§

impl<T: ValidField> ValidField for Complex<T>