ys memos

Blog

Rustのcargo runがproc-macroでエラーになる問題の解消


rust

2023/08/31


前回まで動作していて書き換えていないコードを久しぶりに実行しようとしたところ、

error[E0635]: unknown feature `proc_macro_span_shrink`
  --> /<paths>/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.56/src/lib.rs:92:30
   |
92 |     feature(proc_macro_span, proc_macro_span_shrink)
   |                              ^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0635`.
error: could not compile `proc-macro2` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...

結局の所、明確な理由はわからなかったのだが、おそらくRust,Cargoのバージョンだと思われる。

対象となるコードを最後に実行してからバージョンを上げていたという点と、解決した方法からの推測にすぎないが。


Cargo.tomlの内容のうち、エラーの原因となっていそうなderiveマクロのライブラリのバージョンを、公開されている最新に書き換え、cargo run時にクレートのインストールを強制した。

おそらくserdethiserrorが該当する方が多いだろう。

その後、元のバージョンに戻しても大丈夫。



関連タグを探す