From b641fd374e82fc8e3cf6b876fa57270f2de39b32 Mon Sep 17 00:00:00 2001 From: Andre Bogus Date: Wed, 10 Apr 2019 06:00:35 +0200 Subject: extend ui test --- src/libstd/macros.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/libstd') diff --git a/src/libstd/macros.rs b/src/libstd/macros.rs index e245a048955..9eba76cc04a 100644 --- a/src/libstd/macros.rs +++ b/src/libstd/macros.rs @@ -321,6 +321,15 @@ macro_rules! eprintln { /// assert_eq!(dbg!(1usize, 2u32), (1, 2)); /// ``` /// +/// However, a single argument with a trailing comma will still not be treated +/// as a tuple, following the convention of ignoring trailing commas in macro +/// invocations. You can use a 1-tuple directly if you need one: +/// +/// ``` +/// assert_eq!(1, dbg!(1u32,)); // trailing comma ignored +/// assert_eq!((1,), dbg!((1u32,))); // 1-tuple +/// ``` +/// /// [stderr]: https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr) /// [`debug!`]: https://docs.rs/log/*/log/macro.debug.html /// [`log`]: https://crates.io/crates/log @@ -341,9 +350,11 @@ macro_rules! dbg { } } }; + // Trailing comma with single argument is ignored + ($val:expr,) => { dbg!($val) }; ($($val:expr),+ $(,)?) => { ($(dbg!($val)),+,) - } + }; } /// Awaits the completion of an async call. -- cgit 1.4.1-3-g733a5