diff options
Diffstat (limited to 'src/libstd/env.rs')
| -rw-r--r-- | src/libstd/env.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/libstd/env.rs b/src/libstd/env.rs index 770bca7524c..1dfae0ce83f 100644 --- a/src/libstd/env.rs +++ b/src/libstd/env.rs @@ -741,7 +741,9 @@ impl DoubleEndedIterator for Args { #[stable(feature = "std_debug", since = "1.16.0")] impl fmt::Debug for Args { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.pad("Args { .. }") + f.debug_struct("Args") + .field("inner", &self.inner.inner.inner_debug()) + .finish() } } @@ -766,7 +768,9 @@ impl DoubleEndedIterator for ArgsOs { #[stable(feature = "std_debug", since = "1.16.0")] impl fmt::Debug for ArgsOs { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.pad("ArgsOs { .. }") + f.debug_struct("ArgsOs") + .field("inner", &self.inner.inner_debug()) + .finish() } } @@ -1114,4 +1118,14 @@ mod tests { r#""c:\te;st";c:\"#)); assert!(join_paths([r#"c:\te"st"#].iter().cloned()).is_err()); } + + #[test] + fn args_debug() { + assert_eq!( + format!("Args {{ inner: {:?} }}", args().collect::<Vec<_>>()), + format!("{:?}", args())); + assert_eq!( + format!("ArgsOs {{ inner: {:?} }}", args_os().collect::<Vec<_>>()), + format!("{:?}", args_os())); } +} |
