atcoder/lib/debug.rs
1//! ローカル実行向けのデバッグ出力です。
2
3/// デバッグビルドでのみ標準エラーへ出力します。
4///
5/// [`eprintln!`] と同じフォーマット構文を受け取ります。debug assertion が有効なビルドでは
6/// 標準エラーへ改行付きで出力します。release build では呼び出し全体がコンパイル時に除かれ、
7/// 引数の式も評価されません。
8///
9/// # Examples
10///
11/// ```
12/// atcoder::debug!("value = {}", 42);
13/// ```
14#[macro_export]
15macro_rules! debug {
16 ($($argument:tt)*) => {
17 #[cfg(debug_assertions)]
18 eprintln!($($argument)*)
19 };
20}