use crate::core::should::ShouldImpl;
use std::fmt::Debug;
pub trait AssertionImpl: Sized {
type Left: Debug;
fn failure_message(&mut self) -> Option<String>;
fn consume_as_should(self) -> ShouldImpl<Self::Left>;
fn should_mut(&mut self) -> &mut ShouldImpl<Self::Left>;
}