pub enum InputVariance {
Fixed,
Error,
Warn,
Info,
}Expand description
What the compiler does with an open input, one whose type it
inferred rather than the author declared: an auto-extern, or an
extern a scope builder synthesized (input_variance.md §3, §4).
Coordinates and declared inputs are never affected.
A converted input costs a converter node, which on the compiled
engines is a closure step or a slot call from native code, run when
the input changes (input_variance.md §5). A declared input and an
open input under Fixed cost nothing, so conversion is asked for,
never assumed.
Variants§
Fixed
An open input takes its inferred type, and a write of another type is refused.
Error
An open input stops construction, naming it: every input’s type must be declared.
Warn
Every open input takes any value and gets a converter node to the type its consumers read, each reported as a warning.
Info
As Warn, each converter reported as info.
Trait Implementations§
Source§impl Clone for InputVariance
impl Clone for InputVariance
impl Copy for InputVariance
Source§impl Debug for InputVariance
impl Debug for InputVariance
Source§impl Default for InputVariance
impl Default for InputVariance
impl Eq for InputVariance
Source§impl PartialEq for InputVariance
impl PartialEq for InputVariance
impl StructuralPartialEq for InputVariance
Auto Trait Implementations§
impl Freeze for InputVariance
impl RefUnwindSafe for InputVariance
impl Send for InputVariance
impl Sync for InputVariance
impl Unpin for InputVariance
impl UnsafeUnpin for InputVariance
impl UnwindSafe for InputVariance
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more