簡潔なQスマートフォン用の表示で見る簡潔なQこの広告は、90日以上更新していないブログに表示しています。Rust2018以降、Rustのモジュールシステムは入門しやすく、かつマスターしにくくなりました。そこで本記事では、その両方を達成することを目指しました。同じテーマで、Rust2018を考慮して改めてまとめ直したものです。本記事中のサンプルコードの多くは、Rustの細かい仕様や実装を調べるためのものであり、実際に有用なプログラミングパターンであるとは限りません。実質的にバグに近い挙動を説明しているものもあるため、将来にわたって同じ動作であることはあまり保証できません。マクロ内外の変数をマクロ展開前の構造にもとづいてレキシカルスコープで解決できるようにする仕組みです。いう番号を割り振ります。割り振られることになります。いう情報が割り当てられます。今ある位置に至るまでにまたいだマクロ展開境界の一覧が表現されます。内の識別子にだけマークが付与されて以下のようになります。キーワードにもマークが付与されていますが、これはパースの際に無視されます。よるマクロはグローバル定義に対する衛生性を持ちません。53}一方、RFC1584の定める宣言マクロ2.0ではグローバル定義に対する衛生性も導入されます。42}これらを区別するために、Rustのマクロ衛生性には透明度という概念があります。このマークを衛生性のために使わない。ついた宣言マクロ2.0や、手続きマクロの衛生性オプトアウトで使われる。ローカル束縛を探すときは考慮するが、グローバル定義を探すときは考慮しない。このマークを衛生性のために使う。宣言マクロ2.0や手続きマクロのデフォルト挙動。列であるとみなすほうが正確です。以下の2つのメソッドが備わっています。