Enum gapi_grpc::google::api::expr::v1beta1::expr_value::Kind [−][src]
An expression can resolve to a value, error or unknown.
Variants
Value(Value)
A concrete value.
Error(ErrorSet)
The set of errors in the critical path of evalution.
Only errors in the critical path are included. For example,
(<error1> || true) && <error2>
will only result in <error2>
,
while <error1> || <error2>
will result in both <error1>
and
<error2>
.
Errors cause by the presence of other errors are not included in the
set. For example <error1>.foo
, foo(<error1>)
, and <error1> + 1
will
only result in <error1>
.
Multiple errors might be included when evaluation could result
in different errors. For example <error1> + <error2>
and
foo(<error1>, <error2>)
may result in <error1>
, <error2>
or both.
The exact subset of errors included for this case is unspecified and
depends on the implementation details of the evaluator.
Unknown(UnknownSet)
The set of unknowns in the critical path of evaluation.
Unknown behaves identically to Error with regards to propagation. Specifically, only unknowns in the critical path are included, unknowns caused by the presence of other unknowns are not included, and multiple unknowns might be included included when evaluation could result in different unknowns. For example:
(<unknown[1]> || true) && <unknown[2]> -> <unknown[2]> <unknown[1]> || <unknown[2]> -> <unknown[1,2]> <unknown[1]>.foo -> <unknown[1]> foo(<unknown[1]>) -> <unknown[1]> <unknown[1]> + <unknown[2]> -> <unknown[1]> or <unknown[2[>
Unknown takes precidence over Error in cases where a Value
can short
circuit the result:
<error> || <unknown> -> <unknown> <error> && <unknown> -> <unknown>
Errors take precidence in all other cases:
<unknown> + <error> -> <error> foo(<unknown>, <error>) -> <error>
Implementations
impl Kind
[src]
pub fn encode<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
pub fn merge<B>(
field: &mut Option<Kind>,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
[src]
field: &mut Option<Kind>,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
pub fn encoded_len(&self) -> usize
[src]
Trait Implementations
impl Clone for Kind
[src]
impl Debug for Kind
[src]
impl PartialEq<Kind> for Kind
[src]
impl StructuralPartialEq for Kind
[src]
Auto Trait Implementations
impl RefUnwindSafe for Kind
impl Send for Kind
impl Sync for Kind
impl Unpin for Kind
impl UnwindSafe for Kind
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoRequest<T> for T
[src]
pub fn into_request(self) -> Request<T>
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,