mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
94bc9c737e
Show more information when multiple `impl`s apply - When there are `impl`s without type params, show only those (to avoid showing overly generic `impl`s). ``` error[E0283]: type annotations needed --> $DIR/multiple-impl-apply.rs:34:9 | LL | let y = x.into(); | ^ ---- type must be known at this point | note: multiple `impl`s satisfying `_: From<Baz>` found --> $DIR/multiple-impl-apply.rs:14:1 | LL | impl From<Baz> for Bar { | ^^^^^^^^^^^^^^^^^^^^^^ ... LL | impl From<Baz> for Foo { | ^^^^^^^^^^^^^^^^^^^^^^ = note: required for `Baz` to implement `Into<_>` help: consider giving `y` an explicit type | LL | let y: /* Type */ = x.into(); | ++++++++++++ ``` - Lower the importance of `T: Sized`, `T: WellFormed` and coercion errors, to prioritize more relevant errors. The pre-existing deduplication logic deals with hiding redundant errors better that way, and we show errors with more metadata that is useful to the user. - Show `<SelfTy as Trait>::assoc_fn` suggestion in more cases. ``` error[E0790]: cannot call associated function on trait without specifying the corresponding `impl` type --> $DIR/cross-return-site-inference.rs:38:16 | LL | return Err(From::from("foo")); | ^^^^^^^^^^ cannot call associated function of trait | help: use a fully-qualified path to a specific available implementation | LL | return Err(</* self type */ as From>::from("foo")); | +++++++++++++++++++ + ``` Fix #88284. |
||
---|---|---|
.. | ||
auxiliary | ||
bindings-after-at | ||
move-ref-patterns | ||
usefulness | ||
byte-string-inference.rs | ||
for-loop-bad-item.rs | ||
for-loop-bad-item.stderr | ||
ignore-all-the-things.rs | ||
integer-range-binding.rs | ||
issue-6449.rs | ||
issue-8351-1.rs | ||
issue-8351-2.rs | ||
issue-10392.rs | ||
issue-11577.rs | ||
issue-12582.rs | ||
issue-14221.rs | ||
issue-14221.stderr | ||
issue-15080.rs | ||
issue-17718-patterns.rs | ||
issue-17718-patterns.stderr | ||
issue-22546.rs | ||
issue-27320.rs | ||
issue-52240.rs | ||
issue-52240.stderr | ||
issue-66270-pat-struct-parser-recovery.rs | ||
issue-66270-pat-struct-parser-recovery.stderr | ||
issue-67037-pat-tup-scrut-ty-diff-less-fields.rs | ||
issue-67037-pat-tup-scrut-ty-diff-less-fields.stderr | ||
issue-67776-match-same-name-enum-variant-refs.rs | ||
issue-67776-match-same-name-enum-variant-refs.stderr | ||
issue-68393-let-pat-assoc-constant.rs | ||
issue-68393-let-pat-assoc-constant.stderr | ||
issue-72565.rs | ||
issue-72565.stderr | ||
issue-72574-1.rs | ||
issue-72574-1.stderr | ||
issue-72574-2.rs | ||
issue-72574-2.stderr | ||
issue-74539.rs | ||
issue-74539.stderr | ||
issue-74702.rs | ||
issue-74702.stderr | ||
issue-74954.rs | ||
issue-80186-mut-binding-help-suggestion.rs | ||
issue-80186-mut-binding-help-suggestion.stderr | ||
issue-88074-pat-range-type-inference-err.rs | ||
issue-88074-pat-range-type-inference-err.stderr | ||
issue-88074-pat-range-type-inference.rs | ||
issue-92074-macro-ice.rs | ||
issue-92074-macro-ice.stderr | ||
issue-94866.rs | ||
issue-94866.stderr | ||
issue-95878.rs | ||
issue-95878.stderr | ||
issue-106552.rs | ||
issue-106552.stderr | ||
issue-106862.fixed | ||
issue-106862.rs | ||
issue-106862.stderr | ||
issue-110508.rs | ||
issue-114896.rs | ||
issue-114896.stderr | ||
non-constant-in-const-path.rs | ||
non-constant-in-const-path.stderr | ||
non-structural-match-types.rs | ||
non-structural-match-types.stderr | ||
pat-shadow-in-nested-binding.rs | ||
pat-shadow-in-nested-binding.stderr | ||
pat-struct-field-expr-has-type.rs | ||
pat-struct-field-expr-has-type.stderr | ||
pat-tuple-bad-type.rs | ||
pat-tuple-bad-type.stderr | ||
pat-tuple-field-count-cross.rs | ||
pat-tuple-field-count-cross.stderr | ||
pat-tuple-overfield.rs | ||
pat-tuple-overfield.stderr | ||
pat-tuple-underfield.rs | ||
pat-tuple-underfield.stderr | ||
pat-type-err-formal-param.rs | ||
pat-type-err-formal-param.stderr | ||
pat-type-err-let-stmt.rs | ||
pat-type-err-let-stmt.stderr | ||
patkind-litrange-no-expr.rs | ||
patkind-litrange-no-expr.stderr | ||
pattern-binding-disambiguation.rs | ||
pattern-binding-disambiguation.stderr | ||
pattern-error-continue.rs | ||
pattern-error-continue.stderr | ||
pattern-ident-path-generics.rs | ||
pattern-ident-path-generics.stderr | ||
pattern-tyvar-2.rs | ||
pattern-tyvar-2.stderr | ||
pattern-tyvar.rs | ||
pattern-tyvar.stderr | ||
rest-pat-semantic-disallowed.rs | ||
rest-pat-semantic-disallowed.stderr | ||
rest-pat-syntactic.rs | ||
rest-pat-syntactic.stderr | ||
size-and-align.rs | ||
slice-array-infer.rs | ||
slice-pattern-refutable.rs | ||
slice-pattern-refutable.stderr | ||
slice-patterns-ambiguity.rs | ||
slice-patterns-ambiguity.stderr | ||
slice-patterns-irrefutable.rs | ||
slice-patterns-irrefutable.stderr | ||
slice-patterns-nested.rs | ||
suggest-adding-appropriate-missing-pattern-excluding-comments.fixed | ||
suggest-adding-appropriate-missing-pattern-excluding-comments.rs | ||
suggest-adding-appropriate-missing-pattern-excluding-comments.stderr |