1
Fork 0

Rollup merge of #39393 - ollie27:stab_impls, r=alexcrichton

Fix a few impl stability attributes

The versions show up in rustdoc.
This commit is contained in:
Corey Farwell 2017-02-05 09:14:45 -05:00 committed by GitHub
commit 65b24779a9
28 changed files with 116 additions and 93 deletions

View file

@ -1088,7 +1088,7 @@ impl<'a, T: 'a> ExactSizeIterator for Drain<'a, T> {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl<'a, T: 'a> FusedIterator for Drain<'a, T> {} impl<'a, T: 'a> FusedIterator for Drain<'a, T> {}
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "binary_heap_extras_15", since = "1.5.0")]
impl<T: Ord> From<Vec<T>> for BinaryHeap<T> { impl<T: Ord> From<Vec<T>> for BinaryHeap<T> {
fn from(vec: Vec<T>) -> BinaryHeap<T> { fn from(vec: Vec<T>) -> BinaryHeap<T> {
let mut heap = BinaryHeap { data: vec }; let mut heap = BinaryHeap { data: vec };
@ -1097,7 +1097,7 @@ impl<T: Ord> From<Vec<T>> for BinaryHeap<T> {
} }
} }
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "binary_heap_extras_15", since = "1.5.0")]
impl<T> From<BinaryHeap<T>> for Vec<T> { impl<T> From<BinaryHeap<T>> for Vec<T> {
fn from(heap: BinaryHeap<T>) -> Vec<T> { fn from(heap: BinaryHeap<T>) -> Vec<T> {
heap.data heap.data

View file

@ -588,7 +588,7 @@ impl ExactSizeIterator for EscapeUnicode {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl FusedIterator for EscapeUnicode {} impl FusedIterator for EscapeUnicode {}
#[stable(feature = "char_struct_display", since = "1.17.0")] #[stable(feature = "char_struct_display", since = "1.16.0")]
impl fmt::Display for EscapeUnicode { impl fmt::Display for EscapeUnicode {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
for c in self.clone() { for c in self.clone() {
@ -701,7 +701,7 @@ impl ExactSizeIterator for EscapeDefault {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl FusedIterator for EscapeDefault {} impl FusedIterator for EscapeDefault {}
#[stable(feature = "char_struct_display", since = "1.17.0")] #[stable(feature = "char_struct_display", since = "1.16.0")]
impl fmt::Display for EscapeDefault { impl fmt::Display for EscapeDefault {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
for c in self.clone() { for c in self.clone() {
@ -735,7 +735,7 @@ impl ExactSizeIterator for EscapeDebug { }
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl FusedIterator for EscapeDebug {} impl FusedIterator for EscapeDebug {}
#[stable(feature = "char_struct_display", since = "1.17.0")] #[unstable(feature = "char_escape_debug", issue = "35068")]
impl fmt::Display for EscapeDebug { impl fmt::Display for EscapeDebug {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fmt::Display::fmt(&self.0, f) fmt::Display::fmt(&self.0, f)

View file

@ -13,7 +13,11 @@
// based on "op T" where T is expected to be `Copy`able // based on "op T" where T is expected to be `Copy`able
macro_rules! forward_ref_unop { macro_rules! forward_ref_unop {
(impl $imp:ident, $method:ident for $t:ty) => { (impl $imp:ident, $method:ident for $t:ty) => {
#[stable(feature = "rust1", since = "1.0.0")] forward_ref_unop!(impl $imp, $method for $t,
#[stable(feature = "rust1", since = "1.0.0")]);
};
(impl $imp:ident, $method:ident for $t:ty, #[$attr:meta]) => {
#[$attr]
impl<'a> $imp for &'a $t { impl<'a> $imp for &'a $t {
type Output = <$t as $imp>::Output; type Output = <$t as $imp>::Output;
@ -29,7 +33,11 @@ macro_rules! forward_ref_unop {
// based on "T op U" where T and U are expected to be `Copy`able // based on "T op U" where T and U are expected to be `Copy`able
macro_rules! forward_ref_binop { macro_rules! forward_ref_binop {
(impl $imp:ident, $method:ident for $t:ty, $u:ty) => { (impl $imp:ident, $method:ident for $t:ty, $u:ty) => {
#[stable(feature = "rust1", since = "1.0.0")] forward_ref_binop!(impl $imp, $method for $t, $u,
#[stable(feature = "rust1", since = "1.0.0")]);
};
(impl $imp:ident, $method:ident for $t:ty, $u:ty, #[$attr:meta]) => {
#[$attr]
impl<'a> $imp<$u> for &'a $t { impl<'a> $imp<$u> for &'a $t {
type Output = <$t as $imp<$u>>::Output; type Output = <$t as $imp<$u>>::Output;
@ -39,7 +47,7 @@ macro_rules! forward_ref_binop {
} }
} }
#[stable(feature = "rust1", since = "1.0.0")] #[$attr]
impl<'a> $imp<&'a $u> for $t { impl<'a> $imp<&'a $u> for $t {
type Output = <$t as $imp<$u>>::Output; type Output = <$t as $imp<$u>>::Output;
@ -49,7 +57,7 @@ macro_rules! forward_ref_binop {
} }
} }
#[stable(feature = "rust1", since = "1.0.0")] #[$attr]
impl<'a, 'b> $imp<&'a $u> for &'b $t { impl<'a, 'b> $imp<&'a $u> for &'b $t {
type Output = <$t as $imp<$u>>::Output; type Output = <$t as $imp<$u>>::Output;

View file

@ -661,29 +661,29 @@ pub trait Product<A = Self>: Sized {
// NB: explicitly use Add and Mul here to inherit overflow checks // NB: explicitly use Add and Mul here to inherit overflow checks
macro_rules! integer_sum_product { macro_rules! integer_sum_product {
(@impls $zero:expr, $one:expr, $($a:ty)*) => ($( (@impls $zero:expr, $one:expr, #[$attr:meta], $($a:ty)*) => ($(
#[stable(feature = "iter_arith_traits", since = "1.12.0")] #[$attr]
impl Sum for $a { impl Sum for $a {
fn sum<I: Iterator<Item=$a>>(iter: I) -> $a { fn sum<I: Iterator<Item=$a>>(iter: I) -> $a {
iter.fold($zero, Add::add) iter.fold($zero, Add::add)
} }
} }
#[stable(feature = "iter_arith_traits", since = "1.12.0")] #[$attr]
impl Product for $a { impl Product for $a {
fn product<I: Iterator<Item=$a>>(iter: I) -> $a { fn product<I: Iterator<Item=$a>>(iter: I) -> $a {
iter.fold($one, Mul::mul) iter.fold($one, Mul::mul)
} }
} }
#[stable(feature = "iter_arith_traits", since = "1.12.0")] #[$attr]
impl<'a> Sum<&'a $a> for $a { impl<'a> Sum<&'a $a> for $a {
fn sum<I: Iterator<Item=&'a $a>>(iter: I) -> $a { fn sum<I: Iterator<Item=&'a $a>>(iter: I) -> $a {
iter.fold($zero, Add::add) iter.fold($zero, Add::add)
} }
} }
#[stable(feature = "iter_arith_traits", since = "1.12.0")] #[$attr]
impl<'a> Product<&'a $a> for $a { impl<'a> Product<&'a $a> for $a {
fn product<I: Iterator<Item=&'a $a>>(iter: I) -> $a { fn product<I: Iterator<Item=&'a $a>>(iter: I) -> $a {
iter.fold($one, Mul::mul) iter.fold($one, Mul::mul)
@ -691,8 +691,12 @@ macro_rules! integer_sum_product {
} }
)*); )*);
($($a:ty)*) => ( ($($a:ty)*) => (
integer_sum_product!(@impls 0, 1, $($a)+); integer_sum_product!(@impls 0, 1,
integer_sum_product!(@impls Wrapping(0), Wrapping(1), $(Wrapping<$a>)+); #[stable(feature = "iter_arith_traits", since = "1.12.0")],
$($a)+);
integer_sum_product!(@impls Wrapping(0), Wrapping(1),
#[stable(feature = "wrapping_iter_arith", since = "1.14.0")],
$(Wrapping<$a>)+);
); );
} }

View file

@ -12,12 +12,12 @@
macro_rules! int_module { macro_rules! int_module {
($T:ident) => (int_module!($T, #[stable(feature = "rust1", since = "1.0.0")]);); ($T:ident) => (int_module!($T, #[stable(feature = "rust1", since = "1.0.0")]););
($T:ident, $($attr: tt)*) => ( ($T:ident, #[$attr:meta]) => (
/// The smallest value that can be represented by this integer type. /// The smallest value that can be represented by this integer type.
$($attr)* #[$attr]
pub const MIN: $T = $T::min_value(); pub const MIN: $T = $T::min_value();
/// The largest value that can be represented by this integer type. /// The largest value that can be represented by this integer type.
$($attr)* #[$attr]
pub const MAX: $T = $T::max_value(); pub const MAX: $T = $T::max_value();
) )
} }

View file

@ -12,12 +12,12 @@
macro_rules! uint_module { macro_rules! uint_module {
($T:ident) => (uint_module!($T, #[stable(feature = "rust1", since = "1.0.0")]);); ($T:ident) => (uint_module!($T, #[stable(feature = "rust1", since = "1.0.0")]););
($T:ident, $($attr: tt)*) => ( ($T:ident, #[$attr:meta]) => (
/// The smallest value that can be represented by this integer type. /// The smallest value that can be represented by this integer type.
$($attr)* #[$attr]
pub const MIN: $T = $T::min_value(); pub const MIN: $T = $T::min_value();
/// The largest value that can be represented by this integer type. /// The largest value that can be represented by this integer type.
$($attr)* #[$attr]
pub const MAX: $T = $T::max_value(); pub const MAX: $T = $T::max_value();
) )
} }

View file

@ -131,7 +131,8 @@ macro_rules! wrapping_impl {
Wrapping(self.0.wrapping_add(other.0)) Wrapping(self.0.wrapping_add(other.0))
} }
} }
forward_ref_binop! { impl Add, add for Wrapping<$t>, Wrapping<$t> } forward_ref_binop! { impl Add, add for Wrapping<$t>, Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "op_assign_traits", since = "1.8.0")] #[stable(feature = "op_assign_traits", since = "1.8.0")]
impl AddAssign for Wrapping<$t> { impl AddAssign for Wrapping<$t> {
@ -150,7 +151,8 @@ macro_rules! wrapping_impl {
Wrapping(self.0.wrapping_sub(other.0)) Wrapping(self.0.wrapping_sub(other.0))
} }
} }
forward_ref_binop! { impl Sub, sub for Wrapping<$t>, Wrapping<$t> } forward_ref_binop! { impl Sub, sub for Wrapping<$t>, Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "op_assign_traits", since = "1.8.0")] #[stable(feature = "op_assign_traits", since = "1.8.0")]
impl SubAssign for Wrapping<$t> { impl SubAssign for Wrapping<$t> {
@ -169,7 +171,8 @@ macro_rules! wrapping_impl {
Wrapping(self.0.wrapping_mul(other.0)) Wrapping(self.0.wrapping_mul(other.0))
} }
} }
forward_ref_binop! { impl Mul, mul for Wrapping<$t>, Wrapping<$t> } forward_ref_binop! { impl Mul, mul for Wrapping<$t>, Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "op_assign_traits", since = "1.8.0")] #[stable(feature = "op_assign_traits", since = "1.8.0")]
impl MulAssign for Wrapping<$t> { impl MulAssign for Wrapping<$t> {
@ -188,7 +191,8 @@ macro_rules! wrapping_impl {
Wrapping(self.0.wrapping_div(other.0)) Wrapping(self.0.wrapping_div(other.0))
} }
} }
forward_ref_binop! { impl Div, div for Wrapping<$t>, Wrapping<$t> } forward_ref_binop! { impl Div, div for Wrapping<$t>, Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "op_assign_traits", since = "1.8.0")] #[stable(feature = "op_assign_traits", since = "1.8.0")]
impl DivAssign for Wrapping<$t> { impl DivAssign for Wrapping<$t> {
@ -207,7 +211,8 @@ macro_rules! wrapping_impl {
Wrapping(self.0.wrapping_rem(other.0)) Wrapping(self.0.wrapping_rem(other.0))
} }
} }
forward_ref_binop! { impl Rem, rem for Wrapping<$t>, Wrapping<$t> } forward_ref_binop! { impl Rem, rem for Wrapping<$t>, Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "op_assign_traits", since = "1.8.0")] #[stable(feature = "op_assign_traits", since = "1.8.0")]
impl RemAssign for Wrapping<$t> { impl RemAssign for Wrapping<$t> {
@ -226,7 +231,8 @@ macro_rules! wrapping_impl {
Wrapping(!self.0) Wrapping(!self.0)
} }
} }
forward_ref_unop! { impl Not, not for Wrapping<$t> } forward_ref_unop! { impl Not, not for Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl BitXor for Wrapping<$t> { impl BitXor for Wrapping<$t> {
@ -237,7 +243,8 @@ macro_rules! wrapping_impl {
Wrapping(self.0 ^ other.0) Wrapping(self.0 ^ other.0)
} }
} }
forward_ref_binop! { impl BitXor, bitxor for Wrapping<$t>, Wrapping<$t> } forward_ref_binop! { impl BitXor, bitxor for Wrapping<$t>, Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "op_assign_traits", since = "1.8.0")] #[stable(feature = "op_assign_traits", since = "1.8.0")]
impl BitXorAssign for Wrapping<$t> { impl BitXorAssign for Wrapping<$t> {
@ -256,7 +263,8 @@ macro_rules! wrapping_impl {
Wrapping(self.0 | other.0) Wrapping(self.0 | other.0)
} }
} }
forward_ref_binop! { impl BitOr, bitor for Wrapping<$t>, Wrapping<$t> } forward_ref_binop! { impl BitOr, bitor for Wrapping<$t>, Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "op_assign_traits", since = "1.8.0")] #[stable(feature = "op_assign_traits", since = "1.8.0")]
impl BitOrAssign for Wrapping<$t> { impl BitOrAssign for Wrapping<$t> {
@ -275,7 +283,8 @@ macro_rules! wrapping_impl {
Wrapping(self.0 & other.0) Wrapping(self.0 & other.0)
} }
} }
forward_ref_binop! { impl BitAnd, bitand for Wrapping<$t>, Wrapping<$t> } forward_ref_binop! { impl BitAnd, bitand for Wrapping<$t>, Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
#[stable(feature = "op_assign_traits", since = "1.8.0")] #[stable(feature = "op_assign_traits", since = "1.8.0")]
impl BitAndAssign for Wrapping<$t> { impl BitAndAssign for Wrapping<$t> {
@ -293,7 +302,8 @@ macro_rules! wrapping_impl {
Wrapping(0) - self Wrapping(0) - self
} }
} }
forward_ref_unop! { impl Neg, neg for Wrapping<$t> } forward_ref_unop! { impl Neg, neg for Wrapping<$t>,
#[stable(feature = "wrapping_ref", since = "1.14.0")] }
)*) )*)
} }

View file

@ -616,7 +616,7 @@ pub trait SliceIndex<T> {
fn index_mut(self, slice: &mut [T]) -> &mut Self::Output; fn index_mut(self, slice: &mut [T]) -> &mut Self::Output;
} }
#[stable(feature = "slice-get-slice-impls", since = "1.13.0")] #[stable(feature = "slice-get-slice-impls", since = "1.15.0")]
impl<T> SliceIndex<T> for usize { impl<T> SliceIndex<T> for usize {
type Output = T; type Output = T;
@ -665,7 +665,7 @@ impl<T> SliceIndex<T> for usize {
} }
} }
#[stable(feature = "slice-get-slice-impls", since = "1.13.0")] #[stable(feature = "slice-get-slice-impls", since = "1.15.0")]
impl<T> SliceIndex<T> for ops::Range<usize> { impl<T> SliceIndex<T> for ops::Range<usize> {
type Output = [T]; type Output = [T];
@ -726,7 +726,7 @@ impl<T> SliceIndex<T> for ops::Range<usize> {
} }
} }
#[stable(feature = "slice-get-slice-impls", since = "1.13.0")] #[stable(feature = "slice-get-slice-impls", since = "1.15.0")]
impl<T> SliceIndex<T> for ops::RangeTo<usize> { impl<T> SliceIndex<T> for ops::RangeTo<usize> {
type Output = [T]; type Output = [T];
@ -761,7 +761,7 @@ impl<T> SliceIndex<T> for ops::RangeTo<usize> {
} }
} }
#[stable(feature = "slice-get-slice-impls", since = "1.13.0")] #[stable(feature = "slice-get-slice-impls", since = "1.15.0")]
impl<T> SliceIndex<T> for ops::RangeFrom<usize> { impl<T> SliceIndex<T> for ops::RangeFrom<usize> {
type Output = [T]; type Output = [T];
@ -796,7 +796,7 @@ impl<T> SliceIndex<T> for ops::RangeFrom<usize> {
} }
} }
#[stable(feature = "slice-get-slice-impls", since = "1.13.0")] #[stable(feature = "slice-get-slice-impls", since = "1.15.0")]
impl<T> SliceIndex<T> for ops::RangeFull { impl<T> SliceIndex<T> for ops::RangeFull {
type Output = [T]; type Output = [T];
@ -832,7 +832,7 @@ impl<T> SliceIndex<T> for ops::RangeFull {
} }
#[stable(feature = "slice-get-slice-impls", since = "1.13.0")] #[unstable(feature = "inclusive_range", reason = "recently added, follows RFC", issue = "28237")]
impl<T> SliceIndex<T> for ops::RangeInclusive<usize> { impl<T> SliceIndex<T> for ops::RangeInclusive<usize> {
type Output = [T]; type Output = [T];
@ -895,7 +895,7 @@ impl<T> SliceIndex<T> for ops::RangeInclusive<usize> {
} }
} }
#[stable(feature = "slice-get-slice-impls", since = "1.13.0")] #[unstable(feature = "inclusive_range", reason = "recently added, follows RFC", issue = "28237")]
impl<T> SliceIndex<T> for ops::RangeToInclusive<usize> { impl<T> SliceIndex<T> for ops::RangeToInclusive<usize> {
type Output = [T]; type Output = [T];

View file

@ -399,7 +399,7 @@ impl ExactSizeIterator for EscapeDefault {}
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl FusedIterator for EscapeDefault {} impl FusedIterator for EscapeDefault {}
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for EscapeDefault { impl fmt::Debug for EscapeDefault {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("EscapeDefault { .. }") f.pad("EscapeDefault { .. }")

View file

@ -1283,7 +1283,7 @@ impl<'a, K, V> Clone for Iter<'a, K, V> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, K: Debug, V: Debug> fmt::Debug for Iter<'a, K, V> { impl<'a, K: Debug, V: Debug> fmt::Debug for Iter<'a, K, V> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_list() f.debug_list()
@ -1318,7 +1318,7 @@ impl<'a, K, V> Clone for Keys<'a, K, V> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, K: Debug, V: Debug> fmt::Debug for Keys<'a, K, V> { impl<'a, K: Debug, V: Debug> fmt::Debug for Keys<'a, K, V> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_list() f.debug_list()
@ -1341,7 +1341,7 @@ impl<'a, K, V> Clone for Values<'a, K, V> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, K: Debug, V: Debug> fmt::Debug for Values<'a, K, V> { impl<'a, K: Debug, V: Debug> fmt::Debug for Values<'a, K, V> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_list() f.debug_list()
@ -1591,7 +1591,7 @@ impl<'a, K, V> ExactSizeIterator for IterMut<'a, K, V> {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl<'a, K, V> FusedIterator for IterMut<'a, K, V> {} impl<'a, K, V> FusedIterator for IterMut<'a, K, V> {}
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, K, V> fmt::Debug for IterMut<'a, K, V> impl<'a, K, V> fmt::Debug for IterMut<'a, K, V>
where K: fmt::Debug, where K: fmt::Debug,
V: fmt::Debug, V: fmt::Debug,
@ -1626,7 +1626,7 @@ impl<K, V> ExactSizeIterator for IntoIter<K, V> {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl<K, V> FusedIterator for IntoIter<K, V> {} impl<K, V> FusedIterator for IntoIter<K, V> {}
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<K: Debug, V: Debug> fmt::Debug for IntoIter<K, V> { impl<K: Debug, V: Debug> fmt::Debug for IntoIter<K, V> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_list() f.debug_list()
@ -1704,7 +1704,7 @@ impl<'a, K, V> ExactSizeIterator for ValuesMut<'a, K, V> {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl<'a, K, V> FusedIterator for ValuesMut<'a, K, V> {} impl<'a, K, V> FusedIterator for ValuesMut<'a, K, V> {}
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, K, V> fmt::Debug for ValuesMut<'a, K, V> impl<'a, K, V> fmt::Debug for ValuesMut<'a, K, V>
where K: fmt::Debug, where K: fmt::Debug,
V: fmt::Debug, V: fmt::Debug,
@ -1739,7 +1739,7 @@ impl<'a, K, V> ExactSizeIterator for Drain<'a, K, V> {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl<'a, K, V> FusedIterator for Drain<'a, K, V> {} impl<'a, K, V> FusedIterator for Drain<'a, K, V> {}
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, K, V> fmt::Debug for Drain<'a, K, V> impl<'a, K, V> fmt::Debug for Drain<'a, K, V>
where K: fmt::Debug, where K: fmt::Debug,
V: fmt::Debug, V: fmt::Debug,
@ -2227,7 +2227,7 @@ impl Default for RandomState {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for RandomState { impl fmt::Debug for RandomState {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("RandomState { .. }") f.pad("RandomState { .. }")

View file

@ -948,7 +948,7 @@ impl<'a, K> ExactSizeIterator for Iter<'a, K> {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl<'a, K> FusedIterator for Iter<'a, K> {} impl<'a, K> FusedIterator for Iter<'a, K> {}
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, K: fmt::Debug> fmt::Debug for Iter<'a, K> { impl<'a, K: fmt::Debug> fmt::Debug for Iter<'a, K> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_list() f.debug_list()
@ -977,7 +977,7 @@ impl<K> ExactSizeIterator for IntoIter<K> {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl<K> FusedIterator for IntoIter<K> {} impl<K> FusedIterator for IntoIter<K> {}
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<K: fmt::Debug> fmt::Debug for IntoIter<K> { impl<K: fmt::Debug> fmt::Debug for IntoIter<K> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let entries_iter = self.iter.inner.iter().map(|(k, _)| k); let entries_iter = self.iter.inner.iter().map(|(k, _)| k);
@ -1007,7 +1007,7 @@ impl<'a, K> ExactSizeIterator for Drain<'a, K> {
#[unstable(feature = "fused", issue = "35602")] #[unstable(feature = "fused", issue = "35602")]
impl<'a, K> FusedIterator for Drain<'a, K> {} impl<'a, K> FusedIterator for Drain<'a, K> {}
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, K: fmt::Debug> fmt::Debug for Drain<'a, K> { impl<'a, K: fmt::Debug> fmt::Debug for Drain<'a, K> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let entries_iter = self.iter.inner.iter().map(|(k, _)| k); let entries_iter = self.iter.inner.iter().map(|(k, _)| k);
@ -1050,7 +1050,7 @@ impl<'a, T, S> Iterator for Intersection<'a, T, S>
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, T, S> fmt::Debug for Intersection<'a, T, S> impl<'a, T, S> fmt::Debug for Intersection<'a, T, S>
where T: fmt::Debug + Eq + Hash, where T: fmt::Debug + Eq + Hash,
S: BuildHasher, S: BuildHasher,
@ -1109,7 +1109,7 @@ impl<'a, T, S> FusedIterator for Difference<'a, T, S>
{ {
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, T, S> fmt::Debug for Difference<'a, T, S> impl<'a, T, S> fmt::Debug for Difference<'a, T, S>
where T: fmt::Debug + Eq + Hash, where T: fmt::Debug + Eq + Hash,
S: BuildHasher, S: BuildHasher,
@ -1150,7 +1150,7 @@ impl<'a, T, S> FusedIterator for SymmetricDifference<'a, T, S>
{ {
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, T, S> fmt::Debug for SymmetricDifference<'a, T, S> impl<'a, T, S> fmt::Debug for SymmetricDifference<'a, T, S>
where T: fmt::Debug + Eq + Hash, where T: fmt::Debug + Eq + Hash,
S: BuildHasher, S: BuildHasher,
@ -1176,7 +1176,7 @@ impl<'a, T, S> FusedIterator for Union<'a, T, S>
{ {
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, T, S> fmt::Debug for Union<'a, T, S> impl<'a, T, S> fmt::Debug for Union<'a, T, S>
where T: fmt::Debug + Eq + Hash, where T: fmt::Debug + Eq + Hash,
S: BuildHasher, S: BuildHasher,

View file

@ -145,7 +145,7 @@ impl Iterator for Vars {
fn size_hint(&self) -> (usize, Option<usize>) { self.inner.size_hint() } fn size_hint(&self) -> (usize, Option<usize>) { self.inner.size_hint() }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Vars { impl fmt::Debug for Vars {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Vars { .. }") f.pad("Vars { .. }")
@ -159,7 +159,7 @@ impl Iterator for VarsOs {
fn size_hint(&self) -> (usize, Option<usize>) { self.inner.size_hint() } fn size_hint(&self) -> (usize, Option<usize>) { self.inner.size_hint() }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for VarsOs { impl fmt::Debug for VarsOs {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("VarsOs { .. }") f.pad("VarsOs { .. }")
@ -382,7 +382,7 @@ impl<'a> Iterator for SplitPaths<'a> {
fn size_hint(&self) -> (usize, Option<usize>) { self.inner.size_hint() } fn size_hint(&self) -> (usize, Option<usize>) { self.inner.size_hint() }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a> fmt::Debug for SplitPaths<'a> { impl<'a> fmt::Debug for SplitPaths<'a> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("SplitPaths { .. }") f.pad("SplitPaths { .. }")
@ -665,7 +665,7 @@ impl DoubleEndedIterator for Args {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Args { impl fmt::Debug for Args {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Args { .. }") f.pad("Args { .. }")
@ -690,7 +690,7 @@ impl DoubleEndedIterator for ArgsOs {
fn next_back(&mut self) -> Option<OsString> { self.inner.next_back() } fn next_back(&mut self) -> Option<OsString> { self.inner.next_back() }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for ArgsOs { impl fmt::Debug for ArgsOs {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("ArgsOs { .. }") f.pad("ArgsOs { .. }")

View file

@ -869,7 +869,7 @@ impl Metadata {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Metadata { impl fmt::Debug for Metadata {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("Metadata") f.debug_struct("Metadata")

View file

@ -1450,7 +1450,7 @@ pub struct Chain<T, U> {
done_first: bool, done_first: bool,
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<T: fmt::Debug, U: fmt::Debug> fmt::Debug for Chain<T, U> { impl<T: fmt::Debug, U: fmt::Debug> fmt::Debug for Chain<T, U> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("Chain") f.debug_struct("Chain")

View file

@ -282,7 +282,7 @@ impl Stdin {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Stdin { impl fmt::Debug for Stdin {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Stdin { .. }") f.pad("Stdin { .. }")
@ -321,7 +321,7 @@ impl<'a> BufRead for StdinLock<'a> {
fn consume(&mut self, n: usize) { self.inner.consume(n) } fn consume(&mut self, n: usize) { self.inner.consume(n) }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a> fmt::Debug for StdinLock<'a> { impl<'a> fmt::Debug for StdinLock<'a> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("StdinLock { .. }") f.pad("StdinLock { .. }")
@ -438,7 +438,7 @@ impl Stdout {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Stdout { impl fmt::Debug for Stdout {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Stdout { .. }") f.pad("Stdout { .. }")
@ -470,7 +470,7 @@ impl<'a> Write for StdoutLock<'a> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a> fmt::Debug for StdoutLock<'a> { impl<'a> fmt::Debug for StdoutLock<'a> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("StdoutLock { .. }") f.pad("StdoutLock { .. }")
@ -573,7 +573,7 @@ impl Stderr {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Stderr { impl fmt::Debug for Stderr {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Stderr { .. }") f.pad("Stderr { .. }")
@ -605,7 +605,7 @@ impl<'a> Write for StderrLock<'a> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a> fmt::Debug for StderrLock<'a> { impl<'a> fmt::Debug for StderrLock<'a> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("StderrLock { .. }") f.pad("StderrLock { .. }")

View file

@ -98,7 +98,7 @@ impl BufRead for Empty {
fn consume(&mut self, _n: usize) {} fn consume(&mut self, _n: usize) {}
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Empty { impl fmt::Debug for Empty {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Empty { .. }") f.pad("Empty { .. }")
@ -141,7 +141,7 @@ impl Read for Repeat {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Repeat { impl fmt::Debug for Repeat {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Repeat { .. }") f.pad("Repeat { .. }")
@ -180,7 +180,7 @@ impl Write for Sink {
fn flush(&mut self) -> io::Result<()> { Ok(()) } fn flush(&mut self) -> io::Result<()> { Ok(()) }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Sink { impl fmt::Debug for Sink {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Sink { .. }") f.pad("Sink { .. }")

View file

@ -106,7 +106,10 @@ impl Iterator for LookupHost {
fn next(&mut self) -> Option<SocketAddr> { self.0.next() } fn next(&mut self) -> Option<SocketAddr> { self.0.next() }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[unstable(feature = "lookup_host", reason = "unsure about the returned \
iterator and returning socket \
addresses",
issue = "27705")]
impl fmt::Debug for LookupHost { impl fmt::Debug for LookupHost {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("LookupHost { .. }") f.pad("LookupHost { .. }")

View file

@ -73,7 +73,7 @@ pub enum c_void {
#[doc(hidden)] __variant2, #[doc(hidden)] __variant2,
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for c_void { impl fmt::Debug for c_void {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("c_void") f.pad("c_void")

View file

@ -297,7 +297,7 @@ impl<R, F: FnOnce() -> R> FnOnce<()> for AssertUnwindSafe<F> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<T: fmt::Debug> fmt::Debug for AssertUnwindSafe<T> { impl<T: fmt::Debug> fmt::Debug for AssertUnwindSafe<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_tuple("AssertUnwindSafe") f.debug_tuple("AssertUnwindSafe")

View file

@ -114,7 +114,7 @@ impl IntoInner<imp::Process> for Child {
fn into_inner(self) -> imp::Process { self.handle } fn into_inner(self) -> imp::Process { self.handle }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Child { impl fmt::Debug for Child {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("Child") f.debug_struct("Child")
@ -160,7 +160,7 @@ impl FromInner<AnonPipe> for ChildStdin {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for ChildStdin { impl fmt::Debug for ChildStdin {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("ChildStdin { .. }") f.pad("ChildStdin { .. }")
@ -201,7 +201,7 @@ impl FromInner<AnonPipe> for ChildStdout {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for ChildStdout { impl fmt::Debug for ChildStdout {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("ChildStdout { .. }") f.pad("ChildStdout { .. }")
@ -242,7 +242,7 @@ impl FromInner<AnonPipe> for ChildStderr {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for ChildStderr { impl fmt::Debug for ChildStderr {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("ChildStderr { .. }") f.pad("ChildStderr { .. }")
@ -696,7 +696,7 @@ impl FromInner<imp::Stdio> for Stdio {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Stdio { impl fmt::Debug for Stdio {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Stdio { .. }") f.pad("Stdio { .. }")

View file

@ -55,7 +55,7 @@ struct BarrierState {
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
pub struct BarrierWaitResult(bool); pub struct BarrierWaitResult(bool);
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Barrier { impl fmt::Debug for Barrier {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Barrier { .. }") f.pad("Barrier { .. }")
@ -110,7 +110,7 @@ impl Barrier {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for BarrierWaitResult { impl fmt::Debug for BarrierWaitResult {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("BarrierWaitResult") f.debug_struct("BarrierWaitResult")

View file

@ -240,7 +240,7 @@ impl Condvar {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Condvar { impl fmt::Debug for Condvar {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Condvar { .. }") f.pad("Condvar { .. }")

View file

@ -428,7 +428,7 @@ impl<'a, T: ?Sized> Drop for MutexGuard<'a, T> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, T: ?Sized + fmt::Debug> fmt::Debug for MutexGuard<'a, T> { impl<'a, T: ?Sized + fmt::Debug> fmt::Debug for MutexGuard<'a, T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("MutexGuard") f.debug_struct("MutexGuard")

View file

@ -330,7 +330,7 @@ impl Once {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl fmt::Debug for Once { impl fmt::Debug for Once {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Once { .. }") f.pad("Once { .. }")

View file

@ -361,7 +361,7 @@ impl<'rwlock, T: ?Sized> RwLockWriteGuard<'rwlock, T> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, T: fmt::Debug> fmt::Debug for RwLockReadGuard<'a, T> { impl<'a, T: fmt::Debug> fmt::Debug for RwLockReadGuard<'a, T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("RwLockReadGuard") f.debug_struct("RwLockReadGuard")
@ -370,7 +370,7 @@ impl<'a, T: fmt::Debug> fmt::Debug for RwLockReadGuard<'a, T> {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<'a, T: fmt::Debug> fmt::Debug for RwLockWriteGuard<'a, T> { impl<'a, T: fmt::Debug> fmt::Debug for RwLockWriteGuard<'a, T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("RwLockWriteGuard") f.debug_struct("RwLockWriteGuard")

View file

@ -99,7 +99,7 @@ pub struct LocalKey<T: 'static> {
init: fn() -> T, init: fn() -> T,
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<T: 'static> fmt::Debug for LocalKey<T> { impl<T: 'static> fmt::Debug for LocalKey<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("LocalKey { .. }") f.pad("LocalKey { .. }")
@ -332,7 +332,6 @@ pub mod os {
marker: marker::PhantomData<Cell<T>>, marker: marker::PhantomData<Cell<T>>,
} }
#[stable(feature = "std_debug", since = "1.15.0")]
impl<T> fmt::Debug for Key<T> { impl<T> fmt::Debug for Key<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("Key { .. }") f.pad("Key { .. }")

View file

@ -698,7 +698,7 @@ impl ThreadId {
} }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[unstable(feature = "thread_id", issue = "21507")]
impl fmt::Debug for ThreadId { impl fmt::Debug for ThreadId {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("ThreadId { .. }") f.pad("ThreadId { .. }")
@ -1002,7 +1002,7 @@ impl<T> IntoInner<imp::Thread> for JoinHandle<T> {
fn into_inner(self) -> imp::Thread { self.0.native.unwrap() } fn into_inner(self) -> imp::Thread { self.0.native.unwrap() }
} }
#[stable(feature = "std_debug", since = "1.15.0")] #[stable(feature = "std_debug", since = "1.16.0")]
impl<T> fmt::Debug for JoinHandle<T> { impl<T> fmt::Debug for JoinHandle<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.pad("JoinHandle { .. }") f.pad("JoinHandle { .. }")

View file

@ -131,7 +131,6 @@ impl Iterator for CaseMappingIter {
} }
} }
#[stable(feature = "char_struct_display", since = "1.17.0")]
impl fmt::Display for CaseMappingIter { impl fmt::Display for CaseMappingIter {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self { match *self {
@ -152,14 +151,14 @@ impl fmt::Display for CaseMappingIter {
} }
} }
#[stable(feature = "char_struct_display", since = "1.17.0")] #[stable(feature = "char_struct_display", since = "1.16.0")]
impl fmt::Display for ToLowercase { impl fmt::Display for ToLowercase {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fmt::Display::fmt(&self.0, f) fmt::Display::fmt(&self.0, f)
} }
} }
#[stable(feature = "char_struct_display", since = "1.17.0")] #[stable(feature = "char_struct_display", since = "1.16.0")]
impl fmt::Display for ToUppercase { impl fmt::Display for ToUppercase {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fmt::Display::fmt(&self.0, f) fmt::Display::fmt(&self.0, f)