diagnostics: small fixes/improvements (#1618)
This commit is contained in:
parent
ec33573db8
commit
1d826b01ef
|
|
@ -638,12 +638,12 @@ broader meaning than what rustc exposes to users of the compiler.
|
||||||
Inside rustc, future-incompatible lints are for signalling to the user that code they have
|
Inside rustc, future-incompatible lints are for signalling to the user that code they have
|
||||||
written may not compile in the future. In general, future-incompatible code
|
written may not compile in the future. In general, future-incompatible code
|
||||||
exists for two reasons:
|
exists for two reasons:
|
||||||
* the user has written unsound code that the compiler mistakenly accepted. While
|
* The user has written unsound code that the compiler mistakenly accepted. While
|
||||||
it is within Rust's backwards compatibility guarantees to fix the soundness hole
|
it is within Rust's backwards compatibility guarantees to fix the soundness hole
|
||||||
(breaking the user's code), the lint is there to warn the user that this will happen
|
(breaking the user's code), the lint is there to warn the user that this will happen
|
||||||
in some upcoming version of rustc *regardless of which edition the code uses*. This is the
|
in some upcoming version of rustc *regardless of which edition the code uses*. This is the
|
||||||
meaning that rustc exclusively exposes to users as "future incompatible".
|
meaning that rustc exclusively exposes to users as "future incompatible".
|
||||||
* the user has written code that will either no longer compiler *or* will change
|
* The user has written code that will either no longer compiler *or* will change
|
||||||
meaning in an upcoming *edition*. These are often called "edition lints" and can be
|
meaning in an upcoming *edition*. These are often called "edition lints" and can be
|
||||||
typically seen in the various "edition compatibility" lint groups (e.g., `rust_2021_compatibility`)
|
typically seen in the various "edition compatibility" lint groups (e.g., `rust_2021_compatibility`)
|
||||||
that are used to lint against code that will break if the user updates the crate's edition.
|
that are used to lint against code that will break if the user updates the crate's edition.
|
||||||
|
|
@ -666,7 +666,7 @@ declare_lint! {
|
||||||
Notice the `reason` field which describes why the future incompatible change is happening.
|
Notice the `reason` field which describes why the future incompatible change is happening.
|
||||||
This will change the diagnostic message the user receives as well as determine which
|
This will change the diagnostic message the user receives as well as determine which
|
||||||
lint groups the lint is added to. In the example above, the lint is an "edition lint"
|
lint groups the lint is added to. In the example above, the lint is an "edition lint"
|
||||||
(since it's "reason" is `EditionError`) signifying to the user that the use of anonymous
|
(since its "reason" is `EditionError`), signifying to the user that the use of anonymous
|
||||||
parameters will no longer compile in Rust 2018 and beyond.
|
parameters will no longer compile in Rust 2018 and beyond.
|
||||||
|
|
||||||
Inside [LintStore::register_lints][fi-lint-groupings], lints with `future_incompatible`
|
Inside [LintStore::register_lints][fi-lint-groupings], lints with `future_incompatible`
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue