Delegate ToStr implementation to Show for tuples

This commit is contained in:
Brendan Zabarauskas
2014-02-16 18:27:46 +11:00
parent bf6abf8cb3
commit 6f39eb1a56
2 changed files with 7 additions and 48 deletions

View File

@@ -17,6 +17,7 @@ use clone::Clone;
#[cfg(not(test))] use default::Default;
use fmt;
use result::{Ok, Err};
use to_str::ToStr;
/// Method extensions to pairs where both types satisfy the `Clone` bound
pub trait CloneableTuple<T, U> {
@@ -179,6 +180,12 @@ macro_rules! tuple_impls {
}
}
impl<$($T: fmt::Show),+> ToStr for ($($T,)+) {
fn to_str(&self) -> ~str {
format!("{}", *self)
}
}
impl<$($T: fmt::Show),+> fmt::Show for ($($T,)+) {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write_tuple!(f.buf, $(self.$get_ref_fn()),+)