pub enum BookingError {
AmbiguousMatch {
num_matches: usize,
currency: InternedStr,
},
NoMatchingLot {
currency: InternedStr,
cost_spec: CostSpec,
},
InsufficientUnits {
currency: InternedStr,
requested: Decimal,
available: Decimal,
},
CurrencyMismatch {
expected: InternedStr,
got: InternedStr,
},
}Expand description
Error that can occur during booking.
Variants§
AmbiguousMatch
Multiple lots match but booking method requires unambiguous match.
Fields
currency: InternedStrThe currency being reduced.
NoMatchingLot
No lots match the cost specification.
Fields
currency: InternedStrThe currency being reduced.
InsufficientUnits
Not enough units in matching lots.
Fields
currency: InternedStrThe currency being reduced.
CurrencyMismatch
Currency mismatch between reduction and inventory.
Implementations§
Source§impl BookingError
impl BookingError
Sourcepub const fn with_account(self, account: InternedStr) -> AccountedBookingError
pub const fn with_account(self, account: InternedStr) -> AccountedBookingError
Wrap this booking error with the account context that produced it.
Inventory itself doesn’t know which account it belongs to, so the
raw BookingError carries no account field. The caller (booking
engine, validator) knows the account and uses this constructor to
produce the user-facing error.
The resulting AccountedBookingError is the single canonical
rendering of an inventory failure for user-facing output. Both the
booking layer and the validator format errors via this type so the
wording cannot drift between them — the failure mode that produced
#748.
Trait Implementations§
Source§impl Clone for BookingError
impl Clone for BookingError
Source§fn clone(&self) -> BookingError
fn clone(&self) -> BookingError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BookingError
impl Debug for BookingError
Source§impl Display for BookingError
impl Display for BookingError
Source§impl Error for BookingError
impl Error for BookingError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl PartialEq for BookingError
impl PartialEq for BookingError
impl Eq for BookingError
impl StructuralPartialEq for BookingError
Auto Trait Implementations§
impl Freeze for BookingError
impl RefUnwindSafe for BookingError
impl Send for BookingError
impl Sync for BookingError
impl Unpin for BookingError
impl UnsafeUnpin for BookingError
impl UnwindSafe for BookingError
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
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<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.