rust/tests/ui/typeck
Matthias Krüger 802f71b294
Rollup merge of #118112 - compiler-errors:index-ambiguity-ice, r=aliemjay
Don't ICE when ambiguity is found when selecting `Index` implementation in typeck

Fixes #118111

The problem here is when we're manually "selecting" an impl for `base_ty: Index<?0>`, we don't consider placeholder region errors (leak check) or ambiguous predicates. Those can lead to us not actually emitting any fulfillment errors on line 3131.
2023-11-21 23:46:20 +01:00
..
auxiliary Move issue 29181, 2804, 17431, 66768 2023-08-24 20:44:08 +03:00
issue-87181 recover primary span label 2023-11-16 17:00:23 +00:00
issue-114918 Avoid a track_errors by bubbling up most errors from check_well_formed 2023-10-20 08:46:27 +00:00
apit-with-error-type-in-sig.rs Don't call a type uncallable if its signature has errors in it 2023-07-22 15:27:21 +00:00
apit-with-error-type-in-sig.stderr Don't call a type uncallable if its signature has errors in it 2023-07-22 15:27:21 +00:00
assign-non-lval-derefmut.fixed
assign-non-lval-derefmut.rs
assign-non-lval-derefmut.stderr
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
bad-index-due-to-nested.rs
bad-index-due-to-nested.stderr Tweak wording of type errors involving type params 2023-10-18 23:53:18 +00:00
bad-index-modulo-higher-ranked-regions.rs Don't ICE when ambiguity is found when selecting Index implementation in typeck 2023-11-20 23:37:04 +00:00
bad-index-modulo-higher-ranked-regions.stderr Don't ICE when ambiguity is found when selecting Index implementation in typeck 2023-11-20 23:37:04 +00:00
bad-recursive-type-sig-infer.rs
bad-recursive-type-sig-infer.stderr
bad-type-in-vec-contains.rs
bad-type-in-vec-contains.stderr
bad-type-in-vec-push.rs
bad-type-in-vec-push.stderr
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
deref-multi.rs
deref-multi.stderr
derive-sugg-arg-arity.rs
derive-sugg-arg-arity.stderr
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
dont-record-adjustments-when-pointing-at-arg.rs
dont-record-adjustments-when-pointing-at-arg.stderr
escaping_bound_vars.rs add test 2023-10-09 13:57:26 +03:00
escaping_bound_vars.stderr add test 2023-10-09 13:57:26 +03:00
explain_clone_autoref.rs Added recursive checking back up to see if a Clone suggestion would be helpful. 2023-07-25 10:09:26 +01:00
explain_clone_autoref.stderr Added recursive checking back up to see if a Clone suggestion would be helpful. 2023-07-25 10:09:26 +01:00
issue-1871.rs
issue-1871.stderr
issue-2063-resource.rs
issue-2063.rs
issue-7813.rs
issue-7813.stderr
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 Tweak wording of type errors involving type params 2023-10-18 23:53:18 +00:00
issue-18937-1.rs
issue-18937.rs
issue-18937.stderr
issue-22375.rs
issue-29124.rs
issue-29124.stderr
issue-29181.rs Move issue 29181, 2804, 17431, 66768 2023-08-24 20:44:08 +03:00
issue-29181.stderr Move issue 29181, 2804, 17431, 66768 2023-08-24 20:44:08 +03:00
issue-31173.rs
issue-31173.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
issue-33575.rs
issue-33575.stderr
issue-36708.rs
issue-36708.stderr Point at assoc fn definition on type param divergence 2023-10-20 22:11:01 +00:00
issue-43189.rs
issue-43189.stderr
issue-46112.rs
issue-46112.stderr
issue-50687-ice-on-borrow.rs
issue-50687-ice-on-borrow.stderr
issue-52082-type-param-shadows-existing-type.rs
issue-52082-type-param-shadows-existing-type.stderr recover primary span label 2023-11-16 17:00:23 +00:00
issue-53712.rs
issue-53712.stderr recover primary span label 2023-11-16 17:00:23 +00:00
issue-55810-must-typeck-match-pats-before-guards.rs
issue-57404.rs
issue-57404.stderr
issue-57673-ice-on-deref-of-boxed-trait.rs
issue-57673-ice-on-deref-of-boxed-trait.stderr Point to where missing return type should go 2023-10-04 21:09:54 +00:00
issue-61711-once-caused-rustc-inf-loop.rs
issue-65611.rs
issue-65611.stderr recover primary span label 2023-11-16 17:00:23 +00:00
issue-67971.rs
issue-67971.stderr recover primary span label 2023-11-16 17:00:23 +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
issue-75883.stderr
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 Don't sort strings right after we just sorted by types 2023-06-27 23:31:06 +00:00
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
issue-84768.rs
issue-84768.stderr
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 hir: Add Become expression kind 2023-06-26 08:56:32 +00:00
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-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
issue-89856.rs
issue-89856.stderr
issue-89935.rs
issue-90027-async-fn-return-suggestion.rs
issue-90027-async-fn-return-suggestion.stderr Point to where missing return type should go 2023-10-04 21:09:54 +00:00
issue-90101.rs
issue-90101.stderr Don't sort strings right after we just sorted by types 2023-06-27 23:31:06 +00:00
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 Point at appropriate type parameter in more trait bound errors 2023-08-26 01:07:05 +00:00
issue-91210-ptr-method.fixed
issue-91210-ptr-method.rs
issue-91210-ptr-method.stderr
issue-91267.rs
issue-91267.stderr Point to where missing return type should go 2023-10-04 21:09:54 +00:00
issue-91328.fixed
issue-91328.rs
issue-91328.stderr
issue-91334.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
issue-91334.stderr
issue-91450-inner-ty-error.rs
issue-91450-inner-ty-error.stderr
issue-91633.rs
issue-92481.rs
issue-92481.stderr
issue-93486.rs
issue-93486.stderr
issue-96530.rs
issue-96530.stderr
issue-96738.rs
issue-96738.stderr recover primary span label 2023-11-16 17:00:23 +00:00
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
issue-100285.rs
issue-100285.stderr
issue-103899.rs
issue-104510-ice.rs
issue-104510-ice.stderr
issue-104513-ice.rs Tweak wording of E0562 2023-10-04 19:51:43 +00:00
issue-104513-ice.stderr Tweak wording of E0562 2023-10-04 19:51:43 +00:00
issue-104582.rs
issue-104582.stderr
issue-105946.rs
issue-105946.stderr On resolve error of [rest..], suggest [rest @ ..] 2023-11-17 00:55:55 +00:00
issue-106929.rs
issue-106929.stderr
issue-107087.rs
issue-107087.stderr Unify suggestion wording 2023-10-17 17:33:55 +00:00
issue-107775.rs
issue-107775.stderr
issue-110017-format-into-help-deletes-macro.fixed Fix suggestions span for when expr is from macro expansions 2023-06-28 17:54:20 +08:00
issue-110017-format-into-help-deletes-macro.rs Fix suggestions span for when expr is from macro expansions 2023-06-28 17:54:20 +08:00
issue-110017-format-into-help-deletes-macro.stderr Fix suggestions span for when expr is from macro expansions 2023-06-28 17:54:20 +08:00
issue-110052.rs
issue-110052.stderr Unify suggestion wording 2023-10-17 17:33:55 +00:00
issue-112007-leaked-writeln-macro-internals.fixed Fix suggestions span for when expr is from macro expansions 2023-06-28 17:54:20 +08:00
issue-112007-leaked-writeln-macro-internals.rs Fix suggestions span for when expr is from macro expansions 2023-06-28 17:54:20 +08:00
issue-112007-leaked-writeln-macro-internals.stderr Fix suggestions span for when expr is from macro expansions 2023-06-28 17:54:20 +08:00
issue-112252-ptr-arithmetics-help.fixed
issue-112252-ptr-arithmetics-help.rs
issue-112252-ptr-arithmetics-help.stderr Improve spans for indexing expressions 2023-08-04 13:17:39 +02:00
issue-112385-while-assign-lhs-place-expr-ice.rs
issue-112385-while-assign-lhs-place-expr-ice.stderr
issue-114423-ice-regression-in-suggestion.rs Rename issue #114423 test files to include context 2023-08-05 09:04:47 +08:00
issue-114423-ice-regression-in-suggestion.stderr Rename issue #114423 test files to include context 2023-08-05 09:04:47 +08:00
issue-114529-illegal-break-with-value.rs Typeck break expr even if break is illegal 2023-11-20 15:14:08 +05:30
issue-114529-illegal-break-with-value.stderr Typeck break expr even if break is illegal 2023-11-20 15:14:08 +05:30
issue-116473-ice-wrong-span-variant-args.rs Fix suggestion span involving wrongly placed generic arg on enum variants 2023-10-09 08:04:00 +05:30
issue-116473-ice-wrong-span-variant-args.stderr Fix duplicate labels emitted in render_multispan_macro_backtrace() 2023-10-19 08:03:40 +05:30
mismatched-map-under-self.rs Adjust inner span of implicit self ref argument 2023-06-28 17:51:01 +00:00
mismatched-map-under-self.stderr Do not suggest adjusting trait signature on type mismatch 2023-06-28 17:51:01 +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 recover primary span label 2023-11-16 17:00:23 +00:00
nonexistent-field-not-ambiguous.rs
nonexistent-field-not-ambiguous.stderr
output-type-mismatch.rs
output-type-mismatch.stderr
path-to-method-sugg-unresolved-expr.rs
path-to-method-sugg-unresolved-expr.stderr
pin-unsound-issue-85099-derefmut.rs
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
ptr-null-mutability-suggestions.fixed
ptr-null-mutability-suggestions.rs
ptr-null-mutability-suggestions.stderr
quiet-type-err-let-binding.rs
quiet-type-err-let-binding.stderr
remove-extra-argument.fixed
remove-extra-argument.rs
remove-extra-argument.stderr
repeat-expr-checks-wf.rs
repeat-expr-checks-wf.stderr
return_type_containing_closure.rs
return_type_containing_closure.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
return-dyn-type-mismatch-2.rs
return-dyn-type-mismatch-2.stderr
return-dyn-type-mismatch.rs
return-dyn-type-mismatch.stderr
slow-lhs-suggestion.rs
slow-lhs-suggestion.stderr
struct-enum-wrong-args.rs
struct-enum-wrong-args.stderr
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
suppressed-error.rs
suppressed-error.stderr
tag-that-dare-not-speak-its-name.rs
tag-that-dare-not-speak-its-name.stderr suggest unwrap/expect for let binding type mismatch 2023-10-25 00:32:58 +08:00
terr-in-field.rs
terr-in-field.stderr
terr-sorts.rs
terr-sorts.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
typeck_type_placeholder_item.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
typeck_type_placeholder_lifetime_1.rs
typeck_type_placeholder_lifetime_1.stderr
typeck_type_placeholder_lifetime_2.rs
typeck_type_placeholder_lifetime_2.stderr
typeck_type_placeholder_mismatch.rs
typeck_type_placeholder_mismatch.stderr
typeck-builtin-bound-type-parameters.rs
typeck-builtin-bound-type-parameters.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00: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 Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
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 Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
typeck-default-trait-impl-negation-sync.rs
typeck-default-trait-impl-negation-sync.stderr Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
typeck-default-trait-impl-send-param.rs
typeck-default-trait-impl-send-param.stderr Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
typeck-fn-to-unsafe-fn-ptr.rs
typeck-unsafe-always-share.rs
typeck-unsafe-always-share.stderr Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
ufcs-type-params.rs
unify-return-ty.rs
while-loop-block-cond.rs
while-loop-block-cond.stderr
while-type-error.rs
while-type-error.stderr
wrong-ret-type.rs
wrong-ret-type.stderr