Rustの`#[derive]`マクロの制限と回避策
2025-07-08
Rustの`#[derive]`マクロは、`Clone`などのトレイトの実装を生成する際に、すべてのジェネリックパラメータも`Clone`を実装する必要があるという制限があります。この記事では、この制限がコードのコンパイルを妨げる理由を2つの例で分析しています。作者は2つの解決策を提案しています。1つはコンパイラの動作を変更するRFCを提出すること、もう1つは制限を回避するためにカスタムマクロを作成することです。作者は後者を選択し、`derive_more`クレートまたは独自に作成するクレートでより柔軟なderiveマクロを実装する予定です。
(rgbcu.be)
開発