pub struct ContractResult {
pub errors: Vec<String>,
pub missing: Option<Vec<String>>,
pub missing_at: (usize, usize),
pub bad_require_fields: Vec<String>,
}Expand description
Result of a static contract check (see Htl::contract_check).
Fields§
§errors: Vec<String>Type errors from local m: <T> = require("<mod>").
missing: Option<Vec<String>>Declared fields absent from the module’s returned table literal; None when the
return value is not a literal (not decidable statically).
missing_at: (usize, usize)Line and column of the returned table literal, for the report about
missing to point at. (1, 1) when the checker gave no position,
so a message always has somewhere to point rather than none.
bad_require_fields: Vec<String>Names require_fields asked for that the contract type does not declare. The
config is wrong about the type, which is a different finding from a module that
fails the contract, and no module can fix it.
Trait Implementations§
Source§impl Clone for ContractResult
impl Clone for ContractResult
Source§fn clone(&self) -> ContractResult
fn clone(&self) -> ContractResult
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 ContractResult
impl Debug for ContractResult
Source§impl Default for ContractResult
impl Default for ContractResult
Source§fn default() -> ContractResult
fn default() -> ContractResult
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ContractResult
impl RefUnwindSafe for ContractResult
impl Send for ContractResult
impl Sync for ContractResult
impl Unpin for ContractResult
impl UnsafeUnpin for ContractResult
impl UnwindSafe for ContractResult
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<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