Document --json=future-incompat

This commit is contained in:
Eric Huss 2022-02-04 12:10:05 -08:00
parent b72f55580c
commit 800e0e2cfa
2 changed files with 29 additions and 0 deletions

View file

@ -384,6 +384,9 @@ to customize the output:
argument](#option-emit), and as soon as the artifact is available on the
filesystem a notification will be emitted.
- `future-incompat` - includes a JSON message that contains a report if the
crate contains any code that may fail to compile in the future.
Note that it is invalid to combine the `--json` argument with the
[`--color`](#option-color) argument, and it is required to combine `--json`
with `--error-format=json`.

View file

@ -229,6 +229,32 @@ flag][option-emit] documentation.
}
```
## Future-incompatible reports
If the [`--json=future-incompat`][option-json] flag is used, then a separate
JSON structure will be emitted if the crate may stop compiling in the future.
This contains diagnostic information about the particular warnings that may be
turned into a hard error in the future. This will include the diagnostic
information, even if the diagnostics have been suppressed (such as with an
`#[allow]` attribute or the `--cap-lints` option).
```javascript
{
/* An array of objects describing a warning that will become a hard error
in the future.
*/
"future_incompat_report":
[
{
/* A diagnostic structure as defined in
https://doc.rust-lang.org/rustc/json.html#diagnostics
*/
"diagnostic": {...},
}
]
}
```
[option-emit]: command-line-arguments.md#option-emit
[option-error-format]: command-line-arguments.md#option-error-format
[option-json]: command-line-arguments.md#option-json