Kaynağa Gözat

Add a dbg macro to the print utility

Gary Guo 1 yıl önce
ebeveyn
işleme
dcb6ae6dc1
1 değiştirilmiş dosya ile 19 ekleme ve 0 silme
  1. 19 0
      src/print.rs

+ 19 - 0
src/print.rs

@@ -49,3 +49,22 @@ macro_rules! eprint {
         let _ = core::write!($crate::print::StderrPrinter, $($arg)*);
     })
 }
+
+#[macro_export]
+macro_rules! dbg {
+    () => {
+        $crate::eprintln!("[{}:{}]", ::core::file!(), ::core::line!())
+    };
+    ($val:expr $(,)?) => {
+        match $val {
+            tmp => {
+                $crate::eprintln!("[{}:{}] {} = {:#?}",
+                    ::core::file!(), ::core::line!(), ::core::stringify!($val), &tmp);
+                tmp
+            }
+        }
+    };
+    ($($val:expr),+ $(,)?) => {
+        ($($crate::dbg!($val)),+,)
+    };
+}