Rust の dbg! マクロはリリースビルドでも普通に動く で書いた通り、Rust の dbg! マクロはリリースビルドでも動き、多大なる実行時間を消費します。 その他にもいくつか気に入らない点があり、自作のマクロを作ることで解決を試みました。 TL;DR macro_rules! debug { ($($a:expr),* $(,)*) => { #[cfg(debug_assertions)] eprintln!(concat!($("| ", stringify!($a), "={:?} "),*, "|"), $(&$a),*); }; } というマクロを作りました。 dbg! マクロで気に入らないところ 手軽に print デバッグをするのに便利な dbg! マクロですが、競技プログラミング用に使うにあたっていくつか気に入らない点がありました。 1. (dbg! という名前にも