about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorEsteban Küber <esteban@commure.com>2018-07-21 15:56:37 -0700
committerEsteban Küber <esteban@commure.com>2018-07-21 15:56:37 -0700
commita7a68370a72cc553c8ca983fe593062235360b9b (patch)
tree7e16a5b2a666e24c05186e22d9245778ad0e3303 /src/libstd
parent00d500052c72775ab994b5634195976f85b4e0d6 (diff)
downloadrust-a7a68370a72cc553c8ca983fe593062235360b9b.tar.gz
rust-a7a68370a72cc553c8ca983fe593062235360b9b.zip
Change `eprintln!()`
Address #30143 as well. `writeln!()` hasn't been changed.
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/macros.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libstd/macros.rs b/src/libstd/macros.rs
index 49de9f80271..f06b8f621f2 100644
--- a/src/libstd/macros.rs
+++ b/src/libstd/macros.rs
@@ -217,10 +217,17 @@ macro_rules! eprint {
 /// ```
 #[macro_export]
 #[stable(feature = "eprint", since = "1.19.0")]
+#[allow_internal_unstable]
 macro_rules! eprintln {
     () => (eprint!("\n"));
-    ($fmt:expr) => (eprint!(concat!($fmt, "\n")));
-    ($fmt:expr, $($arg:tt)*) => (eprint!(concat!($fmt, "\n"), $($arg)*));
+    ($($arg:tt)*) => ({
+        #[cfg(not(stage0))] {
+            ($crate::io::_eprint(format_args_nl!($($arg)*)));
+        }
+        #[cfg(stage0)] {
+            eprint!("{}\n", format_args!($($arg)*))
+        }
+    })
 }
 
 #[macro_export]