#[non_exhaustive]pub enum UnrepresentableReason {
RequiresRounding,
NotFinite,
}Expand description
Reason an exact result cannot satisfy an exact-to-f64 conversion contract.
RequiresRounding is recoverable when the caller is willing to opt into a
rounded exact-to-f64 API. NotFinite means even the rounded result would
not be a finite f64.
§Examples
use la_stack::prelude::*;
let err = LaError::unrepresentable(None, UnrepresentableReason::RequiresRounding);
assert!(err.requires_rounding());
let err = LaError::unrepresentable(None, UnrepresentableReason::NotFinite);
assert_eq!(
err.unrepresentable_reason(),
Some(UnrepresentableReason::NotFinite)
);Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
RequiresRounding
A finite f64 exists only after rounding, but the requested conversion
requires an exact binary64 representation.
NotFinite
The exact value would convert to NaN or infinity rather than a finite
f64.
Trait Implementations§
Source§impl Clone for UnrepresentableReason
impl Clone for UnrepresentableReason
Source§fn clone(&self) -> UnrepresentableReason
fn clone(&self) -> UnrepresentableReason
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 moreimpl Copy for UnrepresentableReason
Source§impl Debug for UnrepresentableReason
impl Debug for UnrepresentableReason
impl Eq for UnrepresentableReason
Source§impl PartialEq for UnrepresentableReason
impl PartialEq for UnrepresentableReason
Source§fn eq(&self, other: &UnrepresentableReason) -> bool
fn eq(&self, other: &UnrepresentableReason) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for UnrepresentableReason
Auto Trait Implementations§
impl Freeze for UnrepresentableReason
impl RefUnwindSafe for UnrepresentableReason
impl Send for UnrepresentableReason
impl Sync for UnrepresentableReason
impl Unpin for UnrepresentableReason
impl UnsafeUnpin for UnrepresentableReason
impl UnwindSafe for UnrepresentableReason
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