Struct ValueWithSpan
pub struct ValueWithSpan {
pub value: Value,
pub span: Span,
}Expand description
Wraps a primitive SQL Value with its Span location
§Example: create a ValueWithSpan from a Value
let value = Value::SingleQuotedString(String::from("endpoint"));
// from line 1, column 1 to line 1, column 7
let span = Span::new(Location::new(1, 1), Location::new(1, 7));
let value_with_span = value.with_span(span);§Example: create a ValueWithSpan from a Value with an empty span
You can call Value::with_empty_span to create a ValueWithSpan with an empty span
let value = Value::SingleQuotedString(String::from("endpoint"));
let value_with_span = value.with_empty_span();
assert_eq!(value_with_span.span, Span::empty());You can also use the From trait to convert ValueWithSpan to/from Values
let value = Value::SingleQuotedString(String::from("endpoint"));
// converting `Value` to `ValueWithSpan` results in an empty span
let value_with_span: ValueWithSpan = value.into();
assert_eq!(value_with_span.span, Span::empty());
// convert back to `Value`
let value: Value = value_with_span.into();Fields§
§value: Value§span: SpanImplementations§
§impl ValueWithSpan
impl ValueWithSpan
pub fn into_string(self) -> Option<String>
pub fn into_string(self) -> Option<String>
If the underlying literal is a string, regardless of quote style, returns the associated string value
Trait Implementations§
§impl Clone for ValueWithSpan
impl Clone for ValueWithSpan
§fn clone(&self) -> ValueWithSpan
fn clone(&self) -> ValueWithSpan
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for ValueWithSpan
impl Debug for ValueWithSpan
§impl Display for ValueWithSpan
impl Display for ValueWithSpan
§impl From<Value> for ValueWithSpan
impl From<Value> for ValueWithSpan
§fn from(value: Value) -> ValueWithSpan
fn from(value: Value) -> ValueWithSpan
Converts to this type from the input type.
§impl From<ValueWithSpan> for Value
impl From<ValueWithSpan> for Value
§fn from(value: ValueWithSpan) -> Value
fn from(value: ValueWithSpan) -> Value
Converts to this type from the input type.
§impl Hash for ValueWithSpan
impl Hash for ValueWithSpan
§impl Ord for ValueWithSpan
impl Ord for ValueWithSpan
§impl PartialEq for ValueWithSpan
impl PartialEq for ValueWithSpan
§impl PartialOrd for ValueWithSpan
impl PartialOrd for ValueWithSpan
§impl Spanned for ValueWithSpan
impl Spanned for ValueWithSpan
§impl Visit for ValueWithSpan
impl Visit for ValueWithSpan
§impl VisitMut for ValueWithSpan
impl VisitMut for ValueWithSpan
fn visit<V>(&mut self, visitor: &mut V) -> ControlFlow<<V as VisitorMut>::Break>where
V: VisitorMut,
impl Eq for ValueWithSpan
Auto Trait Implementations§
impl Freeze for ValueWithSpan
impl RefUnwindSafe for ValueWithSpan
impl Send for ValueWithSpan
impl Sync for ValueWithSpan
impl Unpin for ValueWithSpan
impl UnwindSafe for ValueWithSpan
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.