🐥
rust-analyzerはrustcと別の警告を出すことがある
rust-analyzerのソースを参照するとわかりますが、警告の検出処理が独自に実装されています(すべての警告が独自実装なのか、一部はrustcの処理を使用しているのか? は未調査)。
rustcがバッチ処理でコンパイルできればよいのに対してrust-analyzerはインタラクティブなチェックが必要となるため、データ構造が共用できないのではないかと思われる。
これで何が困るかと言うと、cargo buildでは何も出ないのにrust-analyzerだけ警告を出してくるといった謎のバグを踏んで小一時間悩むことがある。踏んだ。
「そういうこともある」というのを覚えておくと稀に役立ちます。
Discussion