rust/tests/ui/consts
Matthias Krüger 99e4127d85
Rollup merge of #114434 - Nilstrieb:indexing-spans, r=est31
Improve spans for indexing expressions

fixes #114388

Indexing is similar to method calls in having an arbitrary left-hand-side and then something on the right, which is the main part of the expression. Method calls already have a span for that right part, but indexing does not. This means that long method chains that use indexing have really bad spans, especially when the indexing panics and that span in coverted into a panic location.

This does the same thing as method calls for the AST and HIR, storing an extra span which is then put into the `fn_span` field in THIR.

r? compiler-errors
2023-08-04 21:31:57 +02:00
..
auxiliary
const_constructor
const_in_pattern
const-blocks
const-eval const validation: point at where we found a pointer but expected an integer 2023-08-02 18:51:50 +02:00
const-extern-fn
const-mut-refs
control-flow
extra-const-ub const validation: point at where we found a pointer but expected an integer 2023-08-02 18:51:50 +02:00
min_const_fn
miri_unleashed const validation: point at where we found a pointer but expected an integer 2023-08-02 18:51:50 +02:00
std
array-literal-index-oob.rs
array-literal-index-oob.stderr
array-literal-len-mismatch.rs
array-literal-len-mismatch.stderr
array-to-slice-cast.rs
assert-type-intrinsics.rs
assert-type-intrinsics.stderr
assoc_const_generic_impl.rs
assoc_const_generic_impl.stderr
assoc-const.rs
associated_const_generic.rs
async-block.rs
async-block.with_feature.stderr
async-block.without_feature.stderr
bswap-const.rs
cast-discriminant-zst-enum.rs
chained-constants-stackoverflow.rs
check_const-feature-gated.rs
closure-in-foreign-crate.rs
closure-structural-match-issue-90013.rs
const_cmp_type_id.rs
const_cmp_type_id.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
const_discriminant.rs interpret: refactor projection code to work on a common trait, and use that for visitors 2023-07-25 14:30:58 +02:00
const_fn_floating_point_arithmetic.gated.stderr
const_fn_floating_point_arithmetic.rs
const_fn_floating_point_arithmetic.stock.stderr
const_fn_return_nested_fn_ptr.rs
const_fn_unsize.rs
const_forget.rs
const_let_assign2.rs
const_let_assign3.rs
const_let_assign3.stderr
const_let_assign.rs
const_let_eq_float.rs
const_let_eq.rs
const_let_irrefutable.rs
const_let_promote.rs
const_let_refutable.rs
const_let_refutable.stderr
const_prop_slice_pat_ice.rs
const_short_circuit.rs
const_unsafe_unreachable_ub.rs
const_unsafe_unreachable_ub.stderr
const_unsafe_unreachable.rs
const-address-of-interior-mut.rs
const-address-of-interior-mut.stderr
const-address-of-mut.rs
const-address-of-mut.stderr
const-address-of.rs
const-adt-align-mismatch.rs
const-array-oob-arith.rs
const-array-oob-arith.stderr
const-array-oob.rs
const-array-oob.stderr
const-as-fn.rs
const-as-fn.stderr
const-autoderef.rs
const-big-enum.rs
const-binops.rs
const-bitshift-rhs-inference.rs
const-block-const-bound.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
const-block-const-bound.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
const-block-cross-crate-fn.rs
const-block-item-macro-codegen.rs
const-block-item.rs
const-block-non-item-statement-3.rs
const-block-non-item-statement-rpass.rs
const-block-non-item-statement.rs
const-block.rs
const-bound.rs
const-byte-str-cast.rs
const-call.rs
const-call.stderr
const-cast-different-types.rs
const-cast-different-types.stderr
const-cast-ptr-int.rs
const-cast-wrong-type.rs
const-cast-wrong-type.stderr
const-cast.rs
const-const.rs
const-contents.rs
const-deref-ptr.rs
const-deref-ptr.stderr
const-deref.rs
const-endianess.rs
const-enum-byref-self.rs
const-enum-byref.rs
const-enum-cast.rs
const-enum-ptr.rs
const-enum-struct2.rs
const-enum-struct.rs
const-enum-structlike.rs
const-enum-tuple2.rs
const-enum-tuple.rs
const-enum-tuplestruct2.rs
const-enum-tuplestruct.rs
const-enum-vec-index.rs
const-enum-vec-ptr.rs
const-enum-vector.rs
const-err2.noopt.stderr
const-err2.opt_with_overflow_checks.stderr
const-err2.opt.stderr
const-err2.rs
const-err4.32bit.stderr
const-err4.64bit.stderr
const-err4.rs
const-err-early.rs
const-err-early.stderr
const-err-late.rs
const-err-late.stderr
const-err-multi.rs
const-err-multi.stderr
const-err-rpass.rs
const-expr-addr-operator.rs
const-expr-in-fixed-length-vec.rs
const-expr-in-vec-repeat.rs
const-extern-function.rs
const-external-macro-const-err.rs
const-external-macro-const-err.stderr
const-fields-and-indexing.rs
const-float-bits-conv.rs
const-float-bits-reject-conv.rs
const-float-bits-reject-conv.stderr
const-float-classify.rs Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
const-float-classify.stderr Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
const-fn-const-eval.rs
const-fn-destructuring-arg.rs
const-fn-error.rs
const-fn-error.stderr
const-fn-in-vec.rs
const-fn-in-vec.stderr
const-fn-method.rs
const-fn-mismatch.rs
const-fn-mismatch.stderr
const-fn-nested.rs
const-fn-not-in-trait.rs
const-fn-not-in-trait.stderr
const-fn-not-safe-for-const.rs
const-fn-not-safe-for-const.stderr
const-fn-ptr.rs
const-fn-ptr.stderr
const-fn-stability-calls-3.rs
const-fn-stability-calls.rs
const-fn-type-name-any.rs
const-fn-type-name.rs
const-fn-val.rs
const-fn-zst-args.rs
const-fn.rs
const-for-feature-gate.rs
const-for-feature-gate.stderr
const-for.rs
const-for.stderr
const-index-feature-gate.rs
const-int-arithmetic-overflow.rs
const-int-arithmetic.rs
const-int-conversion-rpass.rs
const-int-conversion.rs
const-int-conversion.stderr
const-int-overflowing-rpass.rs
const-int-overflowing.rs
const-int-overflowing.stderr
const-int-pow-rpass.rs
const-int-rotate-rpass.rs
const-int-rotate.rs
const-int-rotate.stderr
const-int-saturating-arith.rs
const-int-sign-rpass.rs
const-int-sign.rs
const-int-sign.stderr
const-int-unchecked.rs
const-int-unchecked.stderr
const-int-wrapping-rpass.rs
const-int-wrapping.rs
const-int-wrapping.stderr
const-integer-bool-ops.rs
const-integer-bool-ops.stderr
const-labeled-break.rs
const-len-underflow-separate-spans.next.stderr
const-len-underflow-separate-spans.old.stderr
const-len-underflow-separate-spans.rs
const-len-underflow-subspans.rs
const-len-underflow-subspans.stderr
const-match-check.eval1.stderr
const-match-check.eval2.stderr
const-match-check.matchck.stderr
const-match-check.rs
const-match-pattern-arm.rs
const-meth-pattern.rs
const-multi-ref.rs
const-multi-ref.stderr
const-needs_drop-monomorphic.rs
const-needs_drop-monomorphic.stderr
const-needs_drop.rs
const-negation.rs
const-negative.rs
const-nullary-enum.rs
const-nullary-univariant-enum.rs
const-pattern-irrefutable.rs
const-pattern-irrefutable.stderr
const-pattern-not-const-evaluable.rs
const-pattern-variant.rs
const-points-to-static.32bit.stderr
const-points-to-static.64bit.stderr
const-points-to-static.rs
const-ptr-nonnull-rpass.rs
const-ptr-nonnull.rs
const-ptr-nonnull.stderr
const-ptr-unique-rpass.rs
const-ptr-unique.rs
const-ptr-unique.stderr
const-rec-and-tup.rs
const-region-ptrs-noncopy.rs
const-region-ptrs.rs
const-repeated-values.rs
const-size_of_val-align_of_val-extern-type.rs
const-size_of_val-align_of_val-extern-type.stderr
const-size_of_val-align_of_val.rs
const-size_of-align_of.rs
const-size_of-cycle.rs
const-size_of-cycle.stderr Revert "Auto merge of #113166 - moulins:ref-niches-initial, r=oli-obk" 2023-07-21 22:35:57 -07:00
const-slice-oob.rs
const-slice-oob.stderr
const-struct-offsets.rs
const-struct.rs
const-suggest-feature.rs
const-suggest-feature.stderr
const-trait-to-trait.rs
const-try-feature-gate.rs
const-try-feature-gate.stderr
const-try.rs
const-try.stderr
const-tup-index-span.rs
const-tup-index-span.stderr
const-tuple-struct.rs
const-type-mismatch.rs
const-type-mismatch.stderr
const-typeid-of-rpass.rs
const-unit-struct.rs
const-unsafe-fn.rs
const-unsized.rs
const-unsized.stderr
const-unwrap.rs
const-unwrap.stderr
const-validation-fail-55455.rs
const-variant-count.rs
const-vec-of-fns.rs
const-vec-syntax.rs
const-vecs-and-slices.rs
const.rs
constifconst-call-in-const-position.rs
constifconst-call-in-const-position.stderr Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
consts-in-patterns.rs
copy-intrinsic.rs
copy-intrinsic.stderr
ct-var-in-collect_all_mismatches.rs
ct-var-in-collect_all_mismatches.stderr
dangling_raw_ptr.rs
dangling_raw_ptr.stderr
dangling-alloc-id-ice.rs
dangling-alloc-id-ice.stderr
deref_in_pattern.rs
drop_box.rs
drop_box.stderr
drop_none.rs
drop_zst.rs
drop_zst.stderr
enum-discr-type-err.rs
enum-discr-type-err.stderr
eval-enum.rs
eval-enum.stderr
fn_trait_refs.rs
fn_trait_refs.stderr
gate-do-not-const-check.rs
gate-do-not-const-check.stderr
huge-values.rs
ice-48279.rs
ice-zst-static-access.rs
inline_asm.rs
inline_asm.stderr
int_ptr_for_zst_slices.rs
intrinsic_without_const_stab_fail.rs
intrinsic_without_const_stab_fail.stderr
intrinsic_without_const_stab.rs
intrinsic_without_const_stab.stderr
invalid_promotion.rs
invalid-const-in-body.rs
invalid-const-in-body.stderr
invalid-inline-const-in-match-arm.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
invalid-inline-const-in-match-arm.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
invalid-union.32bit.stderr
invalid-union.64bit.stderr
invalid-union.rs
issue-3521.fixed
issue-3521.rs
issue-3521.stderr
issue-6991.rs
issue-13837.rs
issue-13902.rs
issue-16538.mir.stderr
issue-16538.rs
issue-16538.thir.stderr
issue-17074.rs
issue-17458.rs
issue-17458.stderr
issue-17718-borrow-interior.rs
issue-17718-const-bad-values.rs
issue-17718-const-bad-values.stderr
issue-17718-const-borrow.rs
issue-17718-const-borrow.stderr
issue-17718-constants-not-static.rs
issue-17718-constants-not-static.stderr
issue-17718-references.rs
issue-17718-references.stderr
issue-17718.rs
issue-17756.rs
issue-18294.rs
issue-18294.stderr
issue-19244.rs
issue-21562.rs
issue-21721.rs
issue-23833.rs
issue-23968-const-not-overflow.rs
issue-25826.rs
issue-25826.stderr
issue-27890.rs
issue-28113.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-28113.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-28822.rs
issue-29798.rs
issue-29914-2.rs
issue-29914-3.rs
issue-29914.rs
issue-29927-1.rs
issue-29927.rs
issue-32829-2.rs
issue-32829-2.stderr
issue-32829.rs
issue-32829.stderr
issue-33537.rs
issue-33903.rs
issue-34784.rs
issue-36163.rs
issue-36163.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
issue-37222.rs
issue-37550-1.rs
issue-37550.rs
issue-37991.rs
issue-39161-bogus-error.rs
issue-39974.rs
issue-39974.stderr
issue-43105.rs
issue-43105.stderr
issue-44415.rs
issue-44415.stderr Revert "Auto merge of #113166 - moulins:ref-niches-initial, r=oli-obk" 2023-07-21 22:35:57 -07:00
issue-46553.rs
issue-47789.rs
issue-50439.rs
issue-50439.stderr
issue-52023-array-size-pointer-cast.rs
issue-52023-array-size-pointer-cast.stderr
issue-52060.rs
issue-52060.stderr
issue-54224.rs
issue-54224.stderr
issue-54348.rs
issue-54348.stderr
issue-54387.rs
issue-54582.rs
issue-54954.rs
issue-54954.stderr
issue-56164.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-56164.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-58435-ice-with-assoc-const.rs
issue-62045.rs
issue-63226.rs
issue-63952.32bit.stderr
issue-63952.64bit.stderr
issue-63952.rs
issue-64059.rs
issue-64506.rs
issue-64506.stderr
issue-64662.rs
issue-64662.stderr
issue-65348.rs
issue-66342.rs
issue-66345.rs
issue-66397.rs
issue-66693-panic-in-array-len.rs
issue-66693-panic-in-array-len.stderr
issue-66693.rs
issue-66693.stderr
issue-66787.rs
issue-67529.rs
issue-67640.rs
issue-67641.rs
issue-67696-const-prop-ice.rs
issue-67862.rs
issue-68264-overflow.rs
issue-68542-closure-in-array-len.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-68542-closure-in-array-len.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-68684.rs
issue-69191-ice-on-uninhabited-enum-field.rs
issue-69310-array-size-lit-wrong-ty.rs
issue-69310-array-size-lit-wrong-ty.stderr
issue-69312.rs
issue-69488.rs
issue-69532.rs
issue-70773-mir-typeck-lt-norm.rs
issue-70942-trait-vs-impl-mismatch.rs
issue-70942-trait-vs-impl-mismatch.stderr
issue-73976-monomorphic.rs
issue-73976-monomorphic.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-73976-polymorphic.rs
issue-73976-polymorphic.stderr
issue-76064.rs
issue-76064.stderr
issue-77062-large-zst-array.rs
issue-78655.rs
issue-78655.stderr
issue-79137-monomorphic.rs
issue-79137-toogeneric.rs
issue-79137-toogeneric.stderr
issue-79152-const-array-index.rs
issue-79690.64bit.stderr
issue-79690.rs
issue-87046.rs
issue-87046.stderr
issue-88071.rs
issue-88649.rs
issue-89088.rs
issue-90762.rs
issue-90870.fixed
issue-90870.rs
issue-90870.stderr
issue-90878-2.rs
issue-90878-2.stderr
issue-90878-3.rs
issue-90878-3.stderr
issue-90878.rs
issue-90878.stderr
issue-91434.rs
issue-91434.stderr
issue-91560.fixed
issue-91560.rs
issue-91560.stderr
issue-94371.rs
issue-94675.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-94675.stderr Improve spans for indexing expressions 2023-08-04 13:17:39 +02:00
issue-96169.rs
issue-102117.rs
issue-102117.stderr
issue-103790.rs
issue-103790.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
issue-104155.rs
issue-104396.rs
issue-104396.stderr
issue-104609.rs
issue-104609.stderr
issue-104768.rs
issue-104768.stderr
issue-broken-mir.rs
issue-miri-1910.rs
issue-miri-1910.stderr const validation: point at where we found a pointer but expected an integer 2023-08-02 18:51:50 +02:00
large_const_alloc.rs
large_const_alloc.stderr
locals-in-const-fn.rs
match_ice.rs
match_ice.stderr
match-const-fn-structs.rs
mir_check_nonconst.rs
mir_check_nonconst.stderr
missing_span_in_backtrace.rs
missing_span_in_backtrace.stderr
missing-larger-array-impl.rs
missing-larger-array-impl.stderr
mozjs-error.rs
nested_erroneous_ctfe.rs
nested_erroneous_ctfe.stderr
non-const-value-in-const.rs
non-const-value-in-const.stderr
non-scalar-cast.rs
non-sync-references-in-const.rs
offset_from_ub.rs
offset_from_ub.stderr
offset_from.rs
offset_ub.rs
offset_ub.stderr
offset.rs
packed_pattern2.rs
packed_pattern2.stderr
packed_pattern.rs
packed_pattern.stderr
partial_qualif.rs
partial_qualif.stderr
precise-drop-with-coverage.rs
precise-drop-with-promoted.rs Fix tests. 2023-07-29 11:47:26 +02:00
precise-drop-with-promoted.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
promote_borrowed_field.rs
promote_const_let.rs
promote_const_let.stderr
promote_evaluation_unused_result.rs
promote_fn_calls_std.rs
promote_fn_calls.rs
promote-not.rs
promote-not.stderr
promoted_const_call2.rs
promoted_const_call2.stderr
promoted_const_call3.rs
promoted_const_call3.stderr
promoted_const_call4.rs
promoted_const_call5.rs
promoted_const_call5.stderr
promoted_const_call.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
promoted_const_call.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
promoted_regression.rs
promoted-const-drop.rs
promoted-const-drop.stderr
promoted-storage.rs
promoted-validation-55454.rs
promotion-mutable-ref.rs
promotion.rs
ptr_comparisons.rs fix and extend ptr_comparison test 2023-08-01 18:23:37 +02:00
ptr_is_null.rs Also lint on cast/cast_mut and ptr::from_mut/ptr::from_ref 2023-08-03 10:52:15 +02:00
qualif_overwrite_2.rs
qualif_overwrite_2.stderr
qualif_overwrite.rs
qualif_overwrite.stderr
qualif-indirect-mutation-fail.rs
qualif-indirect-mutation-fail.stderr
qualif-indirect-mutation-pass.rs
qualif-union.rs
qualif-union.stderr
raw_pointer_promoted.rs
raw-ptr-const.rs
raw-ptr-const.stderr
recursive-zst-static.default.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
recursive-zst-static.rs
recursive-zst-static.unleash.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
recursive.rs
recursive.stderr
references.rs
refs_check_const_eq-issue-88384.rs
refs_check_const_eq-issue-88384.stderr
refs_check_const_value_eq-issue-88876.rs
repeat_match.rs
return-in-const-fn.rs
rustc-const-stability-require-const.rs
rustc-const-stability-require-const.stderr
rustc-impl-const-stability.rs
rustc-impl-const-stability.stderr
rvalue-static-promotion.rs
self_normalization2.rs
self_normalization.rs
signed_enum_discr.rs
stable-precise-live-drops-in-libcore.rs
stable-precise-live-drops-in-libcore.stderr
static_mut_containing_mut_ref2.mut_refs.stderr
static_mut_containing_mut_ref2.rs
static_mut_containing_mut_ref2.stock.stderr
static_mut_containing_mut_ref3.rs
static_mut_containing_mut_ref3.stderr
static_mut_containing_mut_ref.rs
static-cycle-error.rs
static-raw-pointer-interning2.rs
static-raw-pointer-interning.rs
timeout.rs
timeout.stderr
too_generic_eval_ice.rs
too_generic_eval_ice.stderr
trait_specialization.rs
trait_specialization.stderr
transmute-const.rs
transmute-size-mismatch-before-typeck.rs
transmute-size-mismatch-before-typeck.stderr
try-operator.rs
try-operator.stderr
tuple-struct-constructors.rs
underscore_const_names.rs
uninhabited-const-issue-61744.rs
uninhabited-const-issue-61744.stderr
union_constant.rs
unnormalized-param-env.rs
unstable-const-fn-in-libcore.rs Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
unstable-const-fn-in-libcore.stderr Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
unstable-precise-live-drops-in-libcore.rs
unwind-abort.rs
validate_never_arrays.rs
validate_never_arrays.stderr
write_to_mut_ref_dest.rs
write_to_mut_ref_dest.stock.stderr
write_to_static_via_mut_ref.rs
write_to_static_via_mut_ref.stderr
write-to-static-mut-in-static.rs
write-to-static-mut-in-static.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
zst_no_llvm_alloc.rs