pub struct MirScalarExprDeserializeContext;
Expand description
Extends the test case syntax to support MirScalarExpr
s
The following variants of MirScalarExpr
have non-standard syntax:
Literal -> the syntax is (ok <literal> <scalar type>)
, <literal>
or (err <eval error> <scalar type>)
. Note that ok
token can be omitted.
If <scalar type>
is not specified, then literals will be assigned
default types:
- true/false become Bool
- numbers become Int64
- strings become String
- Bool for literal errors
Column -> the syntax is
#n
, where n is the column number.
Implementations§
source§impl MirScalarExprDeserializeContext
impl MirScalarExprDeserializeContext
pub(crate) fn build_column( &self, token: Option<TokenTree>, ) -> Result<MirScalarExpr, String>
pub(crate) fn build_literal_if_able<I>( &self, first_arg: TokenTree, rest_of_stream: &mut I, ) -> Result<Option<MirScalarExpr>, String>
pub(crate) fn build_literal_ok_if_able<I>( &self, first_arg: TokenTree, rest_of_stream: &mut I, ) -> Result<Option<MirScalarExpr>, String>
Trait Implementations§
source§impl Default for MirScalarExprDeserializeContext
impl Default for MirScalarExprDeserializeContext
source§fn default() -> MirScalarExprDeserializeContext
fn default() -> MirScalarExprDeserializeContext
Returns the “default value” for a type. Read more
source§impl TestDeserializeContext for MirScalarExprDeserializeContext
impl TestDeserializeContext for MirScalarExprDeserializeContext
source§fn override_syntax<I>(
&mut self,
first_arg: TokenTree,
rest_of_stream: &mut I,
type_name: &str,
) -> Result<Option<String>, String>
fn override_syntax<I>( &mut self, first_arg: TokenTree, rest_of_stream: &mut I, type_name: &str, ) -> Result<Option<String>, String>
Override the way that
first_arg
is resolved to JSON. Read moresource§fn reverse_syntax_override(
&mut self,
json: &Value,
type_name: &str,
) -> Option<String>
fn reverse_syntax_override( &mut self, json: &Value, type_name: &str, ) -> Option<String>
Converts
json
back to the extended syntax specified by
TestDeserializeContext::override_syntax. Read moreAuto Trait Implementations§
impl Freeze for MirScalarExprDeserializeContext
impl RefUnwindSafe for MirScalarExprDeserializeContext
impl Send for MirScalarExprDeserializeContext
impl Sync for MirScalarExprDeserializeContext
impl Unpin for MirScalarExprDeserializeContext
impl UnwindSafe for MirScalarExprDeserializeContext
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
Mutably borrows from an owned value. Read more
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.