3

fix ice reporting in lintcheck by Jacherr · Pull Request #12439 · rust-lang/rust...

 3 weeks ago
source link: https://github.com/rust-lang/rust-clippy/pull/12439
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Conversation

Contributor

Fixes #12185

This PR fixes the lack of reported ICEs within lintcheck by modifying the way in which data is collected from each crate being linted.

Instead of lintcheck only reading stdout for warnings, it now also reads stderr for any potential ICE (although admittedly, it is not the cleanest method of doing so). If it is detected, it parses the ICE into its message and backtrace separately, and then adds them to the list of outputs via clippy.

Once all outputs are collected, the formatter then proceeds to generate the file as normal.

Note that this PR also has a couple of side effects:

  • When clippy fails to process a package, but said failure is not an ICE, the stderr will be sent to the console;
  • Instead of ClippyWarning being the primary struct for everything reported, there is now ClippyCheckOutput, an enum which splits the outputs into warnings and ICEs.

changelog: none


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK