S-JIS[2024-10-09/2024-10-12] 変更履歴

Rust todo!マクロ

Rustマクロのtodo!マクロのメモ。


概要

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)

マクロへ戻る / Rustへ戻る / 技術メモへ戻る
メールの送信先:ひしだま