pub struct FieldError {
pub path: String,
pub expected: String,
pub got: String,
}Expand description
Why a value coming back from Lua did not fit a #[derive(TealRecord)] struct.
FromLua is the only place the two sides of a record are compared — the .d.tl is
generated from Rust, so what a host offers is checked at build time, while what it
receives is checked when a value crosses. This carries enough to act on: which
record, which field, the Teal type declared for it, and what arrived instead.
Outcome.cause: expected string, got nil
Outcome.depth: expected integer, got stringA record inside a record extends the path rather than nesting the message, so the
innermost field is what the reader sees: Recording.outcome.cause.
Fields§
§path: StringRecord.field, one segment per level of nesting.
expected: StringThe Teal type the record declares for the field.
got: StringThe Lua type that arrived: nil, string, table, …
Trait Implementations§
Source§impl Clone for FieldError
impl Clone for FieldError
Source§fn clone(&self) -> FieldError
fn clone(&self) -> FieldError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FieldError
impl Debug for FieldError
Source§impl Display for FieldError
impl Display for FieldError
impl Eq for FieldError
Source§impl Error for FieldError
impl Error for FieldError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl PartialEq for FieldError
impl PartialEq for FieldError
impl StructuralPartialEq for FieldError
Auto Trait Implementations§
impl Freeze for FieldError
impl RefUnwindSafe for FieldError
impl Send for FieldError
impl Sync for FieldError
impl Unpin for FieldError
impl UnsafeUnpin for FieldError
impl UnwindSafe for FieldError
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,
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
Compare self to
key and return true if they are equal.Source§impl<E> ExternalError for E
impl<E> ExternalError for E
fn into_lua_err(self) -> Error
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