use std::sync::Arc;
pub trait UtilOpt {
fn verbosity(&self) -> u8;
fn max_tolerate_errors(&self) -> u32;
fn any_errors_exit_code(&self) -> Option<u8>;
fn mute_errors(&self) -> bool;
fn error_code_filter(&self) -> Option<&[String]>;
fn disable_styled_views(&self) -> bool;
}
impl<T> UtilOpt for &T
where
T: UtilOpt,
{
fn verbosity(&self) -> u8 {
(*self).verbosity()
}
fn max_tolerate_errors(&self) -> u32 {
(*self).max_tolerate_errors()
}
fn any_errors_exit_code(&self) -> Option<u8> {
(*self).any_errors_exit_code()
}
fn mute_errors(&self) -> bool {
(*self).mute_errors()
}
fn error_code_filter(&self) -> Option<&[String]> {
(*self).error_code_filter()
}
fn disable_styled_views(&self) -> bool {
(*self).disable_styled_views()
}
}
impl<T> UtilOpt for &mut T
where
T: UtilOpt,
{
fn verbosity(&self) -> u8 {
(**self).verbosity()
}
fn max_tolerate_errors(&self) -> u32 {
(**self).max_tolerate_errors()
}
fn any_errors_exit_code(&self) -> Option<u8> {
(**self).any_errors_exit_code()
}
fn mute_errors(&self) -> bool {
(**self).mute_errors()
}
fn error_code_filter(&self) -> Option<&[String]> {
(**self).error_code_filter()
}
fn disable_styled_views(&self) -> bool {
(**self).disable_styled_views()
}
}
impl<T> UtilOpt for Box<T>
where
T: UtilOpt,
{
fn verbosity(&self) -> u8 {
(**self).verbosity()
}
fn max_tolerate_errors(&self) -> u32 {
(**self).max_tolerate_errors()
}
fn any_errors_exit_code(&self) -> Option<u8> {
(**self).any_errors_exit_code()
}
fn mute_errors(&self) -> bool {
(**self).mute_errors()
}
fn error_code_filter(&self) -> Option<&[String]> {
(**self).error_code_filter()
}
fn disable_styled_views(&self) -> bool {
(**self).disable_styled_views()
}
}
impl<T> UtilOpt for Arc<T>
where
T: UtilOpt,
{
fn verbosity(&self) -> u8 {
(**self).verbosity()
}
fn max_tolerate_errors(&self) -> u32 {
(**self).max_tolerate_errors()
}
fn any_errors_exit_code(&self) -> Option<u8> {
(**self).any_errors_exit_code()
}
fn mute_errors(&self) -> bool {
(**self).mute_errors()
}
fn error_code_filter(&self) -> Option<&[String]> {
(**self).error_code_filter()
}
fn disable_styled_views(&self) -> bool {
(**self).disable_styled_views()
}
}