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
時にクレートのインストールを強制した。
おそらくserde
やthiserror
が該当する方が多いだろう。
その後、元のバージョンに戻しても大丈夫。