rust/tests/ui/typeck
Matthias Krüger db4b3dd608
Rollup merge of #108667 - compiler-errors:issue-108664, r=estebank
Fix another ICE in `point_at_expr_source_of_inferred_type`

Types coming from method probes must only be investigated *structurally*, since they often contain escaping infer variables from generalization and autoderef. We already have a hack in this PR that erases variables from types, so just use that.

Fixes #108664

The note attached to this error is pretty bad:

```
here the type of `primes` is inferred to be `[_]`
```

But that's unrelated to the PR.

---

Side-note: This is a pretty easy to trigger beta regression, so I've nominated it. Alternatively, I'm slightly inclined to remove this code altogether until it can be reformulated to be more accurate and less ICEy.
2023-03-03 20:06:28 +01:00
..
auxiliary
issue-87181
lazy-norm Commit some new solver tests 2023-02-27 05:23:26 +00:00
assign-non-lval-derefmut.fixed
assign-non-lval-derefmut.rs
assign-non-lval-derefmut.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
assign-non-lval-mut-ref.fixed
assign-non-lval-mut-ref.rs
assign-non-lval-mut-ref.stderr
assign-non-lval-needs-deref.rs
assign-non-lval-needs-deref.stderr
autoderef-with-param-env-error.rs
autoderef-with-param-env-error.stderr Render missing generics suggestion verbosely 2023-01-12 22:04:30 +00:00
bad-type-in-vec-contains.rs Fix another ICE in point_at_expr_source_of_inferred_type 2023-03-02 18:27:06 +00:00
bad-type-in-vec-contains.stderr Fix another ICE in point_at_expr_source_of_inferred_type 2023-03-02 18:27:06 +00:00
bad-type-in-vec-push.rs Hack to suppress bad labels in type mismatch inference deduction code 2023-01-23 17:02:50 +00:00
bad-type-in-vec-push.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
call-block.rs
call-block.stderr
check-args-on-fn-err-2.rs
check-args-on-fn-err-2.stderr
check-args-on-fn-err.rs
check-args-on-fn-err.stderr
conversion-methods.rs
conversion-methods.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
deref-multi.rs
deref-multi.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
do-not-suggest-adding-missing-zero-to-floating-point-number.rs
do-not-suggest-adding-missing-zero-to-floating-point-number.stderr
do-not-suggest-placeholder-to-const-static-without-type.rs
do-not-suggest-placeholder-to-const-static-without-type.stderr
explain_clone_autoref.rs Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
explain_clone_autoref.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-7813.rs Move tests 2023-02-16 11:42:35 -03:00
issue-7813.stderr Move tests 2023-02-16 11:42:35 -03:00
issue-10401.rs
issue-10401.stderr
issue-10969.rs
issue-10969.stderr
issue-13853-2.rs
issue-13853-2.stderr
issue-13853-5.rs
issue-13853-5.stderr
issue-13853.rs
issue-13853.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-18937-1.rs
issue-18937.rs
issue-18937.stderr
issue-22375.rs
issue-29124.rs
issue-29124.stderr
issue-31173.rs
issue-31173.stderr Highlight whole expression for E0599 2023-03-01 16:57:11 +00:00
issue-33575.rs
issue-33575.stderr
issue-36708.rs
issue-36708.stderr
issue-43189.rs
issue-43189.stderr
issue-46112.rs
issue-46112.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-50687-ice-on-borrow.rs
issue-50687-ice-on-borrow.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-52082-type-param-shadows-existing-type.rs
issue-52082-type-param-shadows-existing-type.stderr
issue-53712.rs Move tests 2023-02-16 11:42:35 -03:00
issue-53712.stderr Move tests 2023-02-16 11:42:35 -03:00
issue-55810-must-typeck-match-pats-before-guards.rs
issue-57404.rs
issue-57404.stderr Make &-removal suggestion verbose 2023-01-11 21:38:54 +00:00
issue-57673-ice-on-deref-of-boxed-trait.rs
issue-57673-ice-on-deref-of-boxed-trait.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-61711-once-caused-rustc-inf-loop.rs
issue-65611.rs
issue-65611.stderr
issue-67971.rs
issue-67971.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-68590-reborrow-through-derefmut.rs
issue-69378-ice-on-invalid-type-node-after-recovery.rs
issue-69378-ice-on-invalid-type-node-after-recovery.stderr
issue-72225-call-fnmut-through-derefmut.rs
issue-73592-borrow_mut-through-deref.fixed
issue-73592-borrow_mut-through-deref.rs
issue-73592-borrow_mut-through-deref.stderr
issue-74086.rs
issue-74086.stderr
issue-74933.rs
issue-75883.rs diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
issue-75883.stderr diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
issue-75889.rs
issue-75889.stderr
issue-79040.rs
issue-79040.stderr
issue-80207-unsized-return.rs
issue-80779.rs
issue-80779.stderr
issue-81293.rs
issue-81293.stderr
issue-81885.rs
issue-81885.stderr
issue-81943.rs
issue-81943.stderr
issue-82772.rs
issue-82772.stderr
issue-83621-placeholder-static-in-extern.rs
issue-83621-placeholder-static-in-extern.stderr
issue-83693.rs
issue-83693.stderr
issue-84160.rs
issue-84160.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-84768.rs
issue-84768.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
issue-84831.rs
issue-84831.stderr
issue-86721-return-expr-ice.rev1.stderr
issue-86721-return-expr-ice.rev2.stderr
issue-86721-return-expr-ice.rs
issue-87771-ice-assign-assign-to-bool.rs
issue-87771-ice-assign-assign-to-bool.stderr
issue-87872-missing-inaccessible-field-literal.rs
issue-87872-missing-inaccessible-field-literal.stderr
issue-87872-missing-inaccessible-field-pattern.rs
issue-87872-missing-inaccessible-field-pattern.stderr
issue-87935-unsized-box-expr.rs
issue-87935-unsized-box-expr.stderr
issue-88609.rs
issue-88643.rs
issue-88643.stderr
issue-88803-call-expr-method.fixed
issue-88803-call-expr-method.rs
issue-88803-call-expr-method.stderr
issue-88844.rs
issue-88844.stderr
issue-89044-wrapped-expr-method.fixed
issue-89044-wrapped-expr-method.rs
issue-89044-wrapped-expr-method.stderr
issue-89275.rs
issue-89275.stderr
issue-89806.rs
issue-89806.stderr
issue-89856.fixed Fix suggestion for coercing Option<&String> to Option<&str> 2023-02-03 11:44:23 +00:00
issue-89856.rs Fix suggestion for coercing Option<&String> to Option<&str> 2023-02-03 11:44:23 +00:00
issue-89856.stderr Fix suggestion for coercing Option<&String> to Option<&str> 2023-02-03 11:44:23 +00:00
issue-89935.rs
issue-90027-async-fn-return-suggestion.rs Suggest return type for async function without return type 2023-02-06 13:02:04 +08:00
issue-90027-async-fn-return-suggestion.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
issue-90101.rs
issue-90101.stderr
issue-90164.rs
issue-90164.stderr
issue-90319.rs
issue-90319.stderr
issue-90483-inaccessible-field-adjustment.rs
issue-90483-inaccessible-field-adjustment.stderr
issue-90804-incorrect-reference-suggestion.rs
issue-90804-incorrect-reference-suggestion.stderr
issue-91210-ptr-method.fixed
issue-91210-ptr-method.rs
issue-91210-ptr-method.stderr
issue-91267.rs
issue-91267.stderr
issue-91328.fixed
issue-91328.rs
issue-91328.stderr
issue-91334.rs Exit when there are unmatched delims to avoid noisy diagnostics 2023-02-28 07:55:19 +00:00
issue-91334.stderr remove duplicated diagnostic for unclosed delimiter 2023-02-28 07:57:17 +00:00
issue-91450-inner-ty-error.rs
issue-91450-inner-ty-error.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-91633.rs
issue-92481.rs Exit when there are unmatched delims to avoid noisy diagnostics 2023-02-28 07:55:19 +00:00
issue-92481.stderr Exit when there are unmatched delims to avoid noisy diagnostics 2023-02-28 07:55:19 +00:00
issue-93486.rs
issue-93486.stderr
issue-96530.rs
issue-96530.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-96738.rs
issue-96738.stderr
issue-98260.rs
issue-98260.stderr
issue-98982.rs
issue-98982.stderr
issue-100164.fixed
issue-100164.rs
issue-100164.stderr
issue-100246.rs
issue-100246.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-100285.rs
issue-100285.stderr
issue-103899.rs
issue-104510-ice.rs
issue-104510-ice.stderr
issue-104513-ice.rs
issue-104513-ice.stderr pluralize stuff 2023-02-22 21:52:26 +00:00
issue-104582.rs
issue-104582.stderr
issue-105946.rs
issue-105946.stderr
issue-107087.rs Use proper InferCtxt when probing for associated types in astconv 2023-01-23 16:53:23 +00:00
issue-107087.stderr Use proper InferCtxt when probing for associated types in astconv 2023-01-23 16:53:23 +00:00
issue-107775.rs Remove astconv usage in diagnostic 2023-02-07 23:08:25 +00:00
issue-107775.stderr Remove astconv usage in diagnostic 2023-02-07 23:08:25 +00:00
missing-private-fields-in-struct-literal.rs
missing-private-fields-in-struct-literal.stderr
no-type-for-node-ice.rs
no-type-for-node-ice.stderr
nonexistent-field-not-ambiguous.rs
nonexistent-field-not-ambiguous.stderr
path-to-method-sugg-unresolved-expr.rs
path-to-method-sugg-unresolved-expr.stderr
point-at-type-param-in-path-expr.rs
point-at-type-param-in-path-expr.stderr
point-at-type-parameter-definition.rs
point-at-type-parameter-definition.stderr
prim-with-args.fixed
prim-with-args.rs
prim-with-args.stderr
project-cache-issue-37154.rs
quiet-type-err-let-binding.rs
quiet-type-err-let-binding.stderr
remove-extra-argument.fixed
remove-extra-argument.rs
remove-extra-argument.stderr Make removal suggestion not verbose 2023-02-14 20:22:10 +00:00
return_type_containing_closure.rs Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
return_type_containing_closure.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
slow-lhs-suggestion.rs
slow-lhs-suggestion.stderr
struct-enum-wrong-args.rs
struct-enum-wrong-args.stderr Make removal suggestion not verbose 2023-02-14 20:22:10 +00:00
suggest-adding-missing-zero-to-floating-point-number.fixed
suggest-adding-missing-zero-to-floating-point-number.rs
suggest-adding-missing-zero-to-floating-point-number.stderr
type-placeholder-fn-in-const.rs
type-placeholder-fn-in-const.stderr
typeck_type_placeholder_1.rs
typeck_type_placeholder_item_help.rs
typeck_type_placeholder_item_help.stderr
typeck_type_placeholder_item.rs add and bless tests 2023-01-31 17:26:06 +00:00
typeck_type_placeholder_item.stderr add and bless tests 2023-01-31 17:26:06 +00:00
typeck_type_placeholder_lifetime_1.rs diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
typeck_type_placeholder_lifetime_1.stderr diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
typeck_type_placeholder_lifetime_2.rs diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
typeck_type_placeholder_lifetime_2.stderr diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
typeck_type_placeholder_mismatch.rs Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
typeck_type_placeholder_mismatch.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
typeck-builtin-bound-type-parameters.rs diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
typeck-builtin-bound-type-parameters.stderr diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
typeck-cast-pointer-to-float.rs
typeck-cast-pointer-to-float.stderr
typeck-closure-to-unsafe-fn-ptr.rs
typeck-default-trait-impl-assoc-type.fixed
typeck-default-trait-impl-assoc-type.rs
typeck-default-trait-impl-assoc-type.stderr
typeck-default-trait-impl-cross-crate-coherence.rs
typeck-default-trait-impl-cross-crate-coherence.stderr
typeck-default-trait-impl-negation-send.rs
typeck-default-trait-impl-negation-send.stderr
typeck-default-trait-impl-negation-sync.rs
typeck-default-trait-impl-negation-sync.stderr
typeck-default-trait-impl-send-param.rs
typeck-default-trait-impl-send-param.stderr
typeck-fn-to-unsafe-fn-ptr.rs
typeck-unsafe-always-share.rs
typeck-unsafe-always-share.stderr
ufcs-type-params.rs
unify-return-ty.rs
while-loop-block-cond.rs
while-loop-block-cond.stderr