pub struct UsefulnessReport<'p, Cx: TypeCx> {
pub arm_usefulness: Vec<(MatchArm<'p, Cx>, Usefulness<'p, Cx>)>,
pub non_exhaustiveness_witnesses: Vec<WitnessPat<Cx>>,
}
Expand description
The output of checking a match for exhaustiveness and arm usefulness.
Fields§
§arm_usefulness: Vec<(MatchArm<'p, Cx>, Usefulness<'p, Cx>)>
For each arm of the input, whether that arm is useful after the arms above it.
non_exhaustiveness_witnesses: Vec<WitnessPat<Cx>>
If the match is exhaustive, this is empty. If not, this contains witnesses for the lack of exhaustiveness.
Auto Trait Implementations§
impl<'p, Cx> !RefUnwindSafe for UsefulnessReport<'p, Cx>
impl<'p, Cx> !Send for UsefulnessReport<'p, Cx>
impl<'p, Cx> !Sync for UsefulnessReport<'p, Cx>
impl<'p, Cx> Unpin for UsefulnessReport<'p, Cx>
impl<'p, Cx> !UnwindSafe for UsefulnessReport<'p, Cx>
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