rust/tests/ui/span
Matthias Krüger 48a0d038fa
Rollup merge of #113005 - compiler-errors:dont-query-normalize, r=cjgillot
Don't call `query_normalize` when reporting similar impls

Firstly, It's sketchy to be using `query_normalize` at all during HIR typeck -- it's asking for an ICE 😅. Secondly, we're normalizing an impl trait ref that potentially has parameter types in `ty::ParamEnv::empty()`, which is kinda sketchy as well.

The only UI test change from removing this normalization is that we don't evaluate anonymous constants in impls, which end up giving us really ugly suggestions:

```
error[E0277]: the trait bound `[X; 35]: Default` is not satisfied
 --> /home/gh-compiler-errors/test.rs:4:5
  |
4 |     <[X; 35] as Default>::default();
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `[X; 35]`
  |
  = help: the following other types implement trait `Default`:
            &[T]
            &mut [T]
            [T; 32]
            [T; core::::array::{impl#30}::{constant#0}]
            [T; core::::array::{impl#31}::{constant#0}]
            [T; core::::array::{impl#32}::{constant#0}]
            [T; core::::array::{impl#33}::{constant#0}]
            [T; core::::array::{impl#34}::{constant#0}]
          and 27 others
```

So just fold the impls with a `BottomUpFolder` that calls `ty::Const::eval`. This doesn't work totally correctly with generic-const-exprs, but it's fine for stable code, and this is error reporting after all.
2023-07-08 20:53:27 +02:00
..
auxiliary
borrowck-borrow-overloaded-auto-deref-mut.rs
borrowck-borrow-overloaded-auto-deref-mut.stderr tweak "make mut" spans (No. 3) 2023-05-05 22:40:05 +12:00
borrowck-borrow-overloaded-deref-mut.rs
borrowck-borrow-overloaded-deref-mut.stderr tweak "make mut" spans (No. 2) 2023-05-05 22:40:05 +12:00
borrowck-call-is-borrow-issue-12224.rs
borrowck-call-is-borrow-issue-12224.stderr tweak "make mut" spans (No. 3) 2023-05-05 22:40:05 +12:00
borrowck-call-method-from-mut-aliasable.rs
borrowck-call-method-from-mut-aliasable.stderr tweak "make mut" spans (No. 3) 2023-05-05 22:40:05 +12:00
borrowck-fn-in-const-b.rs
borrowck-fn-in-const-b.stderr tweak "make mut" spans (No. 3) 2023-05-05 22:40:05 +12:00
borrowck-let-suggestion-suffixes.rs Account for method call and indexing when looking for inner-most path in expression 2023-01-17 02:52:43 +00:00
borrowck-let-suggestion-suffixes.stderr Account for method call and indexing when looking for inner-most path in expression 2023-01-17 02:52:43 +00:00
borrowck-object-mutability.rs
borrowck-object-mutability.stderr tweak "make mut" spans (No. 3) 2023-05-05 22:40:05 +12:00
borrowck-ref-into-rvalue.fixed
borrowck-ref-into-rvalue.rs
borrowck-ref-into-rvalue.stderr
coerce-suggestions.rs
coerce-suggestions.stderr Tweak borrow suggestion 2023-05-08 03:36:30 +00:00
destructor-restrictions.rs
destructor-restrictions.stderr Account for method call and indexing when looking for inner-most path in expression 2023-01-17 02:52:43 +00:00
drop-location-span-error-rust-2021-incompatible-closure-captures-93117.rs Exit when there are unmatched delims to avoid noisy diagnostics 2023-02-28 07:55:19 +00:00
drop-location-span-error-rust-2021-incompatible-closure-captures-93117.stderr Exit when there are unmatched delims to avoid noisy diagnostics 2023-02-28 07:55:19 +00:00
drop-location-span-error-rust-2021-incompatible-closure-captures-96258.rs fix test 2023-06-24 21:49:38 -04:00
drop-location-span-error-rust-2021-incompatible-closure-captures-96258.stderr fix test 2023-06-24 21:49:38 -04:00
dropck_arr_cycle_checked.rs
dropck_arr_cycle_checked.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
dropck_direct_cycle_with_drop.rs
dropck_direct_cycle_with_drop.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
dropck_misc_variants.rs
dropck_misc_variants.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
dropck_vec_cycle_checked.rs
dropck_vec_cycle_checked.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
dropck-object-cycle.rs
dropck-object-cycle.stderr Account for * when looking for inner-most path in expression 2023-01-17 02:45:11 +00:00
E0046.rs
E0046.stderr
E0072.rs
E0072.stderr
E0204.rs may not => cannot 2023-03-08 00:00:18 +00:00
E0204.stderr may not => cannot 2023-03-08 00:00:18 +00:00
E0493.rs
E0493.stderr
E0535.rs
E0535.stderr
E0536.rs
E0536.stderr
E0537.rs
E0537.stderr
gated-features-attr-spans.rs
gated-features-attr-spans.stderr
impl-wrong-item-for-trait.rs
impl-wrong-item-for-trait.stderr
import-ty-params.rs
import-ty-params.stderr
issue28498-reject-ex1.rs
issue28498-reject-ex1.stderr
issue28498-reject-lifetime-param.rs
issue28498-reject-lifetime-param.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue28498-reject-passed-to-fn.rs
issue28498-reject-passed-to-fn.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue28498-reject-trait-bound.rs
issue28498-reject-trait-bound.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-11925.rs
issue-11925.stderr
issue-15480.fixed
issue-15480.rs
issue-15480.stderr
issue-23338-locals-die-before-temps-of-body.rs
issue-23338-locals-die-before-temps-of-body.stderr Account for method call and indexing when looking for inner-most path in expression 2023-01-17 02:52:43 +00:00
issue-23729.rs
issue-23729.stderr Make missing impl item suggestions more obvious that they're missing 2023-04-19 17:57:37 +00:00
issue-23827.rs
issue-23827.stderr Make missing impl item suggestions more obvious that they're missing 2023-04-19 17:57:37 +00:00
issue-24356.rs
issue-24356.stderr Make missing impl item suggestions more obvious that they're missing 2023-04-19 17:57:37 +00:00
issue-24690.rs
issue-24690.stderr
issue-24805-dropck-child-has-items-via-parent.rs
issue-24805-dropck-child-has-items-via-parent.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-24805-dropck-trait-has-items.rs
issue-24805-dropck-trait-has-items.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-24895-copy-clone-dropck.rs
issue-24895-copy-clone-dropck.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-25199.rs
issue-25199.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-26656.rs
issue-26656.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-27522.rs
issue-27522.stderr
issue-29106.rs
issue-29106.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-29595.rs
issue-29595.stderr
issue-33884.rs
issue-33884.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-34264.rs
issue-34264.stderr Make removal suggestion not verbose 2023-02-14 20:22:10 +00:00
issue-35987.rs
issue-35987.stderr Special-case item attributes in the suggestion output 2023-04-12 22:50:10 +00:00
issue-36537.rs
issue-36537.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-37767.rs
issue-37767.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
issue-39018.rs
issue-39018.stderr Tweak borrow suggestion 2023-05-08 03:36:30 +00:00
issue-39698.rs
issue-39698.stderr
issue-40157.rs
issue-40157.stderr Account for method call and indexing when looking for inner-most path in expression 2023-01-17 02:52:43 +00:00
issue-42234-unknown-receiver-type.full.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
issue-42234-unknown-receiver-type.generic_arg.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
issue-42234-unknown-receiver-type.rs
issue-43927-non-ADT-derive.rs
issue-43927-non-ADT-derive.stderr
issue-71363.rs
issue-71363.stderr Tweak output for 'add line' suggestion 2023-04-12 22:50:10 +00:00
issue-81800.rs
issue-81800.stderr
issue-107353.rs Pacify tidy. 2023-02-11 18:07:06 +00:00
lint-unused-unsafe-thir.rs
lint-unused-unsafe-thir.stderr
lint-unused-unsafe.mir.stderr
lint-unused-unsafe.rs
macro-span-replacement.rs
macro-span-replacement.stderr
macro-ty-params.rs
macro-ty-params.stderr
method-and-field-eager-resolution.rs
method-and-field-eager-resolution.stderr
missing-unit-argument.rs
missing-unit-argument.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
move-closure.rs
move-closure.stderr
multiline-span-E0072.rs
multiline-span-E0072.stderr
multiline-span-simple.rs
multiline-span-simple.stderr Don't sort strings right after we just sorted by types 2023-06-27 23:31:06 +00:00
multispan-import-lint.rs
multispan-import-lint.stderr
mut-arg-hint.rs
mut-arg-hint.stderr tweak "make mut" spans (No. 3) 2023-05-05 22:40:05 +12:00
mut-ptr-cant-outlive-ref.rs
mut-ptr-cant-outlive-ref.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
non-existing-module-import.rs
non-existing-module-import.stderr
pub-struct-field.rs
pub-struct-field.stderr
range-2.rs
range-2.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
recursive-type-field.rs
recursive-type-field.stderr
regionck-unboxed-closure-lifetimes.rs
regionck-unboxed-closure-lifetimes.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
regions-close-over-borrowed-ref-in-obj.rs
regions-close-over-borrowed-ref-in-obj.stderr
regions-close-over-type-parameter-2.rs
regions-close-over-type-parameter-2.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
regions-escape-loop-via-variable.rs
regions-escape-loop-via-variable.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
regions-escape-loop-via-vec.rs
regions-escape-loop-via-vec.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
regions-infer-borrow-scope-within-loop.rs
regions-infer-borrow-scope-within-loop.stderr Account for * when looking for inner-most path in expression 2023-01-17 02:45:11 +00:00
send-is-not-static-ensures-scoping.rs
send-is-not-static-ensures-scoping.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
send-is-not-static-std-sync-2.rs
send-is-not-static-std-sync-2.stderr Evaluate place expression in PlaceMention. 2023-04-21 21:34:59 +00:00
send-is-not-static-std-sync.rs
send-is-not-static-std-sync.stderr Account for * when looking for inner-most path in expression 2023-01-17 02:45:11 +00:00
slice-borrow.rs
slice-borrow.stderr
suggestion-non-ascii.rs
suggestion-non-ascii.stderr
transitive-dep-span.rs
transitive-dep-span.stderr
type-annotations-needed-expr.rs
type-annotations-needed-expr.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
type-binding.rs
type-binding.stderr
typo-suggestion.rs
typo-suggestion.stderr
unused-warning-point-at-identifier.rs
unused-warning-point-at-identifier.stderr
vec_refs_data_with_early_death.rs
vec_refs_data_with_early_death.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
vec-must-not-hide-type-from-dropck.rs
vec-must-not-hide-type-from-dropck.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
visibility-ty-params.rs
visibility-ty-params.stderr
wf-method-late-bound-regions.rs
wf-method-late-bound-regions.stderr Tweak E0597 2023-01-15 19:46:20 +00:00