todo!マクロは、まだ未実装であることを表すマクロ。
(Scalaの???に相当)
Visiual Studio Code(VS Code)のrust-analyzerプラグインを使っていると、実装途中でもコンパイルエラーを出してくれる。
しかし関数の戻り型だけを書いてまだ中身が空のときにも「戻り値の型が有ってねえぞオラァ!」というエラーが出るのはウザい…。
そんなときにtodo!()を置いておくと、コンパイルエラーが出なくなる。
また、実行したときにtodo!マクロに到達すると、その時点でパニックが発生してアプリケーションの実行が終わる。
fn main() {
my_func();
}
fn my_func() -> i32 {
todo!("my_func")
}
↓実行例
thread 'main' panicked at src/main.rs:6:5:
not yet implemented: my_func
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: process didn't exit successfully: `target\debug\rust-example1.exe` (exit code: 101)
todo!マクロはformat!マクロの書式を使うことが出来る。[2024-10-12]
todo!("value={}", value)