#[cfg(test)]
mod tests;
#[cfg_attr(nightly_doc, doc(cfg(feature = "_tuple")))]
mod codegen {
use crate::{Debug, Display, FmtResult, Formatter};
include!(concat!(env!("OUT_DIR"), "/build/tuple.rs"));
trait Sealed {}
#[doc = crate::_tags!(fmt debug)]
#[doc = crate::_doc_location!("data/value/tuple")]
#[repr(transparent)]
pub struct TupleFmt<'a, T: Tuple>(&'a T);
trait TupleDebug: Tuple {
fn fmt_debug(&self, f: &mut Formatter) -> FmtResult<()>;
}
impl<T: TupleDebug> Debug for TupleFmt<'_, T> {
fn fmt(&self, f: &mut Formatter) -> FmtResult<()> {
self.0.fmt_debug(f)
}
}
trait TupleDisplay: Tuple {
fn fmt_display(&self, f: &mut Formatter) -> FmtResult<()>;
}
impl<T: TupleDisplay> Display for TupleFmt<'_, T> {
fn fmt(&self, f: &mut Formatter) -> FmtResult<()> {
self.0.fmt_display(f)
}
}
}
crate::structural_mods! { _mods {
pub use super::codegen::*;
}
}