Skip to content

Commit

Permalink
diagnostics: small fixes/improvements (rust-lang#1618)
Browse files Browse the repository at this point in the history
  • Loading branch information
tshepang authored Feb 21, 2023
1 parent d01441d commit a7d9603
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/diagnostics.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
written may not compile in the future. In general, future-incompatible code
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
(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
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
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.
Expand All @@ -666,7 +666,7 @@ declare_lint! {
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
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.

Inside [LintStore::register_lints][fi-lint-groupings], lints with `future_incompatible`
Expand Down

0 comments on commit a7d9603

Please sign in to comment.