diff options
| author | Hoàng Đức Hiếu <hdhoang@hdhoang.space> | 2018-05-10 12:42:03 +0700 |
|---|---|---|
| committer | Hoàng Đức Hiếu <code@hdhoang.space> | 2019-04-16 08:12:14 +0700 |
| commit | 9982e7d4071c3964e8212e3c547a7aaa4e12f01e (patch) | |
| tree | 346ad52b6ca5203d2658091cdd94fc31ca11d5c2 /src/doc/rustc | |
| parent | 2975a3c4befa8ad610da2e3c5f5de351d6d70a2b (diff) | |
| download | rust-9982e7d4071c3964e8212e3c547a7aaa4e12f01e.tar.gz rust-9982e7d4071c3964e8212e3c547a7aaa4e12f01e.zip | |
lint: convert incoherent_fundamental_impls into hard error
Also remove it from lint listings.
Diffstat (limited to 'src/doc/rustc')
| -rw-r--r-- | src/doc/rustc/src/lints/groups.md | 4 | ||||
| -rw-r--r-- | src/doc/rustc/src/lints/listing/deny-by-default.md | 41 |
2 files changed, 2 insertions, 43 deletions
diff --git a/src/doc/rustc/src/lints/groups.md b/src/doc/rustc/src/lints/groups.md index 46b717f3387..049e59b6517 100644 --- a/src/doc/rustc/src/lints/groups.md +++ b/src/doc/rustc/src/lints/groups.md @@ -21,9 +21,9 @@ Here's a list of each lint group, and the lints that they are made up of: | edition-2018 | Lints that will be turned into errors in Rust 2018 | tyvar-behind-raw-pointer | | rust-2018-idioms | Lints to nudge you toward idiomatic features of Rust 2018 | bare-trait-object, unreachable-pub | | unused | These lints detect things being declared but not used | unused-imports, unused-variables, unused-assignments, dead-code, unused-mut, unreachable-code, unreachable-patterns, unused-must-use, unused-unsafe, path-statements, unused-attributes, unused-macros, unused-allocation, unused-doc-comment, unused-extern-crates, unused-features, unused-parens | -| future-incompatible | Lints that detect code that has future-compatibility problems | private-in-public, pub-use-of-private-extern-crate, patterns-in-fns-without-body, safe-extern-statics, invalid-type-param-default, legacy-directory-ownership, legacy-imports, legacy-constructor-visibility, missing-fragment-specifier, illegal-floating-point-literal-pattern, anonymous-parameters, parenthesized-params-in-types-and-modules, late-bound-lifetime-arguments, safe-packed-borrows, incoherent-fundamental-impls, tyvar-behind-raw-pointer, unstable-name-collision | +| future-incompatible | Lints that detect code that has future-compatibility problems | private-in-public, pub-use-of-private-extern-crate, patterns-in-fns-without-body, safe-extern-statics, invalid-type-param-default, legacy-directory-ownership, legacy-imports, legacy-constructor-visibility, missing-fragment-specifier, illegal-floating-point-literal-pattern, anonymous-parameters, parenthesized-params-in-types-and-modules, late-bound-lifetime-arguments, safe-packed-borrows, tyvar-behind-raw-pointer, unstable-name-collision | Additionally, there's a `bad-style` lint group that's a deprecated alias for `nonstandard-style`. Finally, you can also see the table above by invoking `rustc -W help`. This will give you the exact values for the specific -compiler you have installed. \ No newline at end of file +compiler you have installed. diff --git a/src/doc/rustc/src/lints/listing/deny-by-default.md b/src/doc/rustc/src/lints/listing/deny-by-default.md index fa62d1a03f5..c1740f272ed 100644 --- a/src/doc/rustc/src/lints/listing/deny-by-default.md +++ b/src/doc/rustc/src/lints/listing/deny-by-default.md @@ -222,44 +222,3 @@ error: invalid `crate_type` value | ^^^^^^^^^^^^^^^^^^^^ | ``` - -## incoherent-fundamental-impls - -This lint detects potentially-conflicting impls that were erroneously allowed. Some -example code that triggers this lint: - -```rust,ignore -pub trait Trait1<X> { - type Output; -} - -pub trait Trait2<X> {} - -pub struct A; - -impl<X, T> Trait1<X> for T where T: Trait2<X> { - type Output = (); -} - -impl<X> Trait1<Box<X>> for A { - type Output = i32; -} -``` - -This will produce: - -```text -error: conflicting implementations of trait `Trait1<std::boxed::Box<_>>` for type `A`: (E0119) - --> src/main.rs:13:1 - | -9 | impl<X, T> Trait1<X> for T where T: Trait2<X> { - | --------------------------------------------- first implementation here -... -13 | impl<X> Trait1<Box<X>> for A { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `A` - | - = note: #[deny(incoherent_fundamental_impls)] on by default - = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! - = note: for more information, see issue #46205 <https://github.com/rust-lang/rust/issues/46205> - = note: downstream crates may implement trait `Trait2<std::boxed::Box<_>>` for type `A` -``` |
