Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/stdx/src/macros.rs')
-rw-r--r--crates/stdx/src/macros.rs26
1 files changed, 16 insertions, 10 deletions
diff --git a/crates/stdx/src/macros.rs b/crates/stdx/src/macros.rs
index d71e418c89..85d9008fe1 100644
--- a/crates/stdx/src/macros.rs
+++ b/crates/stdx/src/macros.rs
@@ -1,15 +1,5 @@
//! Convenience macros.
-#[macro_export]
-macro_rules! eprintln {
- ($($tt:tt)*) => {{
- if $crate::is_ci() {
- panic!("Forgot to remove debug-print?")
- }
- std::eprintln!($($tt)*)
- }}
-}
-
/// Appends formatted string to a `String`.
#[macro_export]
macro_rules! format_to {
@@ -24,6 +14,22 @@ macro_rules! format_to {
};
}
+/// Appends formatted string to a `String` and returns the `String`.
+///
+/// Useful for folding iterators into a `String`.
+#[macro_export]
+macro_rules! format_to_acc {
+ ($buf:expr, $lit:literal $($arg:tt)*) => {
+ {
+ use ::std::fmt::Write as _;
+ // We can't do ::std::fmt::Write::write_fmt($buf, format_args!($lit $($arg)*))
+ // unfortunately, as that loses out on autoref behavior.
+ _ = $buf.write_fmt(format_args!($lit $($arg)*));
+ $buf
+ }
+ };
+}
+
/// Generates `From` impls for `Enum E { Foo(Foo), Bar(Bar) }` enums
///
/// # Example