1

手続き型マクロを含む多くのライブラリは、2 つのクレートで構成されていますproc-macro。実際のマクロを実装するクレートと、proc マクロを再エクスポートまたはラップする通常の「メイン」クレートです。これは、proc-macrocrate が proc マクロ以外のものを公にエクスポートできないためです。メインクレートが と呼ばれると仮定するとfoo、マクロクレートは通常foo-deriveorと呼ばれfoo-macrosます。

proc-macroこれにより、クレートのバージョン管理方法に関するいくつかの質問が発生します。もちろん、メインクレートはセマンティックバージョニングに従います。しかし、マクロクレートもそれに続くべきでしょうか? マクロクレートを直接使用するのではなく、メインクレートのみを使用してもらいたいです。proc-macro クレートの説明ではっきりと述べました。マクロ クレートを実装の詳細として扱いたい。

その場合、セマンティック バージョニングに従う必要はありませんよね? メインのクレートは、foo-macro = "=0.0.4".

これでいいですか?それとも、このアプローチで何かが壊れる可能性がありますか? コミュニティで確立されたベスト プラクティスはありますか?

4

0 に答える 0