良い子はrustup updateしよう。(特に最近rustをさぼっていた悪い子たち)
最近は人生初のLTに向けて、rustを頑張って勉強してます。
ところが、crateを引っ張ってきて使おうと思っても、buildでこけるこける。
method `source` is not a member of trait `Error`
こんなエラーとか、
error[E0494]: cannot refer to the interior of another static, use a constant instead
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding_rs-0.8.14/src/lib.rs:928:42
|
928 | variant: VariantEncoding::SingleByte(&data::SINGLE_BYTE_DATA.ibm866, 0x0440, 96, 16),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
こんなエラーとか。
下のエラーに関してはこんな記事もあったり。
上記リンクはcrate同士のバージョンあってねえぞみたいな話だったわけですが、crate単体でbuildしてもうまくいかない。おかしい・・・
rust2018にアップデートした(つもり)だったのでそれでおかしくなったのでは・・・?などと思いよくよく調べてみると、
rust2018 (rust 1.31 ~)どころか、もっと古いやつだった(バージョンメモるの忘れてしまった)
改めてrustup updateしたら、buildが通るようになりました。
上記のエラーメッセージにぶちあたったら、crateのバージョン周りを疑ってみて、さらに私レベルでおっちょこちょいな人々は、rust自体のバージョンを確認してみては。