Closed4

「macro_rules! は事実上非推奨 (deprecated) となる予定』が本当なのかを調べる

1gy1gy

The Rust Programming Language 日本語版 に書かれている以下の記載について調べる

https://doc.rust-jp.rs/book-ja/ch19-06-macros.html

macro_rules!には、いくつかの奇妙なコーナーケースがあります。 将来、Rustには別種の宣言的マクロが登場する予定です。これは、同じように働くけれども、それらのコーナーケースのうちいくらかを修正します。 そのアップデート以降、macro_rules!は事実上非推奨 (deprecated) となる予定です。 この事実と、ほとんどのRustプログラマーはマクロを書くよりも使うことが多いということを考えて、macro_rules!についてはこれ以上語らないことにします。

気になるポイント

  • macro_rules!が事実上非推奨 (deprecated) というのが本当なのか
  • 将来的に登場するとされている「別種の宣言的マクロ」について
1gy1gy

RFC を眺めていたら macro_rules! の改善についての記載を見つけた。
https://rust-lang.github.io/rfcs/1561-macro-naming.html
https://rust-lang.github.io/rfcs/1584-macros.html

既存の macro_rules! と同じように使えるが、いくつかの問題点を解消するというのが目指しているところのようだ。
これが『事実上非推奨 (deprecated) となる予定です』の元ネタだと思う。
実際にはこの改善自体はまだ行われていないが、安定するのが Rust 2.0 ということになっているので非推奨という表記を取り下げたのかもしれない。

このスクラップは1ヶ月前にクローズされました