rust/tests/ui/lint
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
dead-code
force-warn
internal
known-tool-in-submodule
let_underscore
must_not_suspend
redundant-semicolon
rfc-2383-lint-reason
rfc-2457-non-ascii-idents
semicolon-in-expressions-from-macros
unsafe_code
unused Add regression test for invalid unused const in method 2023-07-25 12:49:19 +02:00
use-redundant
anonymous-reexport.rs
anonymous-reexport.stderr
bad-lint-cap2.rs
bad-lint-cap2.stderr
bad-lint-cap3.rs
bad-lint-cap3.stderr
bad-lint-cap.rs
bad-lint-cap.stderr
bare-trait-objects-path.rs
bare-trait-objects-path.stderr
clashing-extern-fn-recursion.rs
clashing-extern-fn-wasm.rs
clashing-extern-fn.rs
clashing-extern-fn.stderr
cli-lint-override.forbid_warn.stderr
cli-lint-override.force_warn_deny.stderr
cli-lint-override.rs
cli-lint-override.warn_deny.stderr
cli-unknown-force-warn.rs
cli-unknown-force-warn.stderr
command-line-lint-group-allow.rs
command-line-lint-group-deny.rs
command-line-lint-group-deny.stderr
command-line-lint-group-forbid.rs
command-line-lint-group-forbid.stderr
command-line-lint-group-warn.rs
command-line-lint-group-warn.stderr
command-line-register-lint-tool.rs
command-line-register-unknown-lint-tool.rs
command-line-register-unknown-lint-tool.stderr
crate_level_only_lint.rs
crate_level_only_lint.stderr
deny-overflowing-literals.rs
deny-overflowing-literals.stderr
dropping_copy_types.rs
dropping_copy_types.stderr
dropping_references.rs
dropping_references.stderr
empty-lint-attributes.rs
enable-unstable-lib-feature.rs
enable-unstable-lib-feature.stderr
expansion-time-include.rs
expansion-time.rs
expansion-time.stderr
expr_attr_paren_order.rs
expr_attr_paren_order.stderr
fn_must_use.rs
fn_must_use.stderr
for_loop_over_fallibles.rs
for_loop_over_fallibles.stderr
forbid-error-capped.rs
forbid-group-group-1.rs
forbid-group-group-1.stderr
forbid-group-group-2.rs
forbid-group-group-2.stderr
forbid-group-member.rs
forbid-group-member.stderr
forbid-member-group.rs
forbid-member-group.stderr
forgetting_copy_types.rs
forgetting_copy_types.stderr
forgetting_references.rs
forgetting_references.stderr
function-item-references.rs
function-item-references.stderr
future-incompat-test.rs
future-incompat-test.stderr
inclusive-range-pattern-syntax.fixed
inclusive-range-pattern-syntax.rs
inclusive-range-pattern-syntax.stderr
inert-attr-macro.rs
inert-attr-macro.stderr
inline-trait-and-foreign-items.rs
inline-trait-and-foreign-items.stderr
invalid_from_utf8.rs
invalid_from_utf8.stderr
invalid_value-polymorphic.rs
invalid_value.rs
invalid_value.stderr Revert "Auto merge of #113166 - moulins:ref-niches-initial, r=oli-obk" 2023-07-21 22:35:57 -07:00
invalid-nan-comparison-suggestion.fixed
invalid-nan-comparison-suggestion.rs
invalid-nan-comparison-suggestion.stderr
invalid-nan-comparison.rs
invalid-nan-comparison.stderr
issue-1866.rs
issue-1866.stderr
issue-14309.rs
issue-14309.stderr
issue-14837.rs
issue-17718-const-naming.rs
issue-17718-const-naming.stderr
issue-20343.rs
issue-30302.rs
issue-30302.stderr
issue-31924-non-snake-ffi.rs
issue-34798.rs
issue-35075.rs
issue-35075.stderr
issue-47775-nested-macro-unnecessary-parens-arg.rs
issue-49588-non-shorthand-field-patterns-in-pattern-macro.rs
issue-54099-camel-case-underscore-types.rs
issue-57410-1.rs
issue-57410.rs
issue-63364.rs
issue-63364.stderr
issue-66362-no-snake-case-warning-for-field-puns.rs
issue-66362-no-snake-case-warning-for-field-puns.stderr
issue-70819-dont-override-forbid-in-same-scope.rs
issue-70819-dont-override-forbid-in-same-scope.stderr
issue-79546-fuel-ice.rs
issue-79744.rs
issue-79744.stderr
issue-80988.rs
issue-80988.stderr
issue-81218.rs
issue-83477.rs
issue-83477.stderr
issue-86600-lint-twice.rs
issue-86600-lint-twice.stderr
issue-87274-paren-parent.rs
issue-87274-paren-parent.stderr
issue-89469.rs
issue-90614-accept-allow-text-direction-codepoint-in-comment-lint.rs
issue-97094.rs
issue-97094.stderr
issue-99387.rs
issue-99387.stderr
issue-101284.rs
issue-102705.rs
issue-103317.fixed
issue-103317.rs
issue-103317.stderr
issue-103435-extra-parentheses.fixed
issue-103435-extra-parentheses.rs
issue-103435-extra-parentheses.stderr
issue-104392.rs
issue-104392.stderr
issue-104897.rs
issue-104897.stderr
issue-106991.rs
issue-106991.stderr
issue-108155.rs
issue-109152.rs
issue-109152.stderr
issue-109529.fixed
issue-109529.rs
issue-109529.stderr
issue-110573.rs
issue-111359.rs
issue-111359.stderr
issue-112489.rs
lint_map_unit_fn.rs
lint_map_unit_fn.stderr
lint_pre_expansion_extern_module_aux.rs
lint-attr-everywhere-early.rs
lint-attr-everywhere-early.stderr
lint-attr-everywhere-late.rs
lint-attr-everywhere-late.stderr
lint-attr-non-item-node.rs
lint-attr-non-item-node.stderr
lint-cap-trait-bounds.rs Add regression test for --cap-lints allow and trait bounds warning 2023-07-28 11:11:29 +02:00
lint-cap.rs
lint-change-warnings.rs
lint-change-warnings.stderr
lint-const-item-mutation.rs
lint-const-item-mutation.stderr
lint-ctypes-66202.rs
lint-ctypes-73249-1.rs
lint-ctypes-73249-2.rs
lint-ctypes-73249-2.stderr
lint-ctypes-73249-3.rs
lint-ctypes-73249-3.stderr
lint-ctypes-73249-4.rs
lint-ctypes-73249-5.rs
lint-ctypes-73249-5.stderr
lint-ctypes-73249.rs
lint-ctypes-73251-1.rs
lint-ctypes-73251-1.stderr
lint-ctypes-73251-2.rs
lint-ctypes-73251-2.stderr
lint-ctypes-73251.rs
lint-ctypes-73747.rs
lint-ctypes-94223.rs
lint-ctypes-94223.stderr
lint-ctypes-113436-1.rs lint/ctypes: allow () within types 2023-07-19 09:59:04 +01:00
lint-ctypes-113436-1.stderr lint/ctypes: allow () within types 2023-07-19 09:59:04 +01:00
lint-ctypes-113436.rs lint/ctypes: allow () within types 2023-07-19 09:59:04 +01:00
lint-ctypes-113900.rs lint/ctypes: only try normalize 2023-07-21 15:42:25 +01:00
lint-ctypes-enum.rs
lint-ctypes-enum.stderr
lint-ctypes-fn.rs
lint-ctypes-fn.stderr
lint-ctypes.rs
lint-ctypes.stderr
lint-deref-nullptr.rs
lint-deref-nullptr.stderr
lint-directives-on-use-items-issue-10534.rs
lint-directives-on-use-items-issue-10534.stderr
lint-enum-intrinsics-non-enums.rs
lint-enum-intrinsics-non-enums.stderr
lint-exceeding-bitshifts.noopt.stderr
lint-exceeding-bitshifts.opt_with_overflow_checks.stderr
lint-exceeding-bitshifts.opt.stderr
lint-exceeding-bitshifts.rs
lint-expr-stmt-attrs-for-early-lints.rs
lint-ffi-safety-all-phantom.rs
lint-forbid-attr.rs
lint-forbid-attr.stderr
lint-forbid-cmdline.rs
lint-forbid-cmdline.stderr
lint-forbid-internal-unsafe.rs
lint-forbid-internal-unsafe.stderr
lint-group-nonstandard-style.rs
lint-group-nonstandard-style.stderr
lint-impl-fn.rs
lint-impl-fn.stderr
lint-incoherent-auto-trait-objects.rs
lint-incoherent-auto-trait-objects.stderr
lint-invalid-atomic-ordering-bool.rs
lint-invalid-atomic-ordering-bool.stderr
lint-invalid-atomic-ordering-exchange-weak.rs
lint-invalid-atomic-ordering-exchange-weak.stderr
lint-invalid-atomic-ordering-exchange.rs
lint-invalid-atomic-ordering-exchange.stderr
lint-invalid-atomic-ordering-false-positive.rs
lint-invalid-atomic-ordering-fence.rs
lint-invalid-atomic-ordering-fence.stderr
lint-invalid-atomic-ordering-fetch-update.rs
lint-invalid-atomic-ordering-fetch-update.stderr
lint-invalid-atomic-ordering-int.rs
lint-invalid-atomic-ordering-int.stderr
lint-invalid-atomic-ordering-ptr.rs
lint-invalid-atomic-ordering-ptr.stderr
lint-invalid-atomic-ordering-uint.rs
lint-invalid-atomic-ordering-uint.stderr
lint-level-macro-def-mod.rs
lint-level-macro-def.rs
lint-lowercase-static-const-pattern-rename.rs
lint-lowercase-static-const-pattern.rs
lint-lowercase-static-const-pattern.stderr
lint-malformed.rs
lint-malformed.stderr
lint-match-arms-2.rs
lint-match-arms-2.stderr
lint-match-arms.rs
lint-match-arms.stderr
lint-misplaced-attr.rs
lint-misplaced-attr.stderr
lint-missing-copy-implementations-allow.rs
lint-missing-copy-implementations.rs
lint-missing-copy-implementations.stderr
lint-missing-doc.rs
lint-missing-doc.stderr
lint-non-camel-case-types.rs
lint-non-camel-case-types.stderr
lint-non-camel-case-variant.rs
lint-non-camel-case-with-trailing-underscores.rs
lint-non-snake-case-crate-2.rs
lint-non-snake-case-crate-2.stderr
lint-non-snake-case-crate.rs
lint-non-snake-case-crate.stderr
lint-non-snake-case-functions.rs
lint-non-snake-case-functions.stderr
lint-non-snake-case-identifiers-suggestion-reserved.rs
lint-non-snake-case-identifiers-suggestion-reserved.stderr
lint-non-snake-case-lifetimes.rs
lint-non-snake-case-lifetimes.stderr
lint-non-snake-case-modules.rs
lint-non-snake-case-modules.stderr
lint-non-snake-case-no-lowercase-equivalent.rs
lint-non-uppercase-associated-const.rs
lint-non-uppercase-associated-const.stderr
lint-non-uppercase-statics.rs
lint-non-uppercase-statics.stderr
lint-non-uppercase-trait-assoc-const.rs
lint-non-uppercase-trait-assoc-const.stderr
lint-nonstandard-style-unicode-1.rs
lint-nonstandard-style-unicode-1.stderr
lint-nonstandard-style-unicode-2.rs
lint-nonstandard-style-unicode-2.stderr
lint-nonstandard-style-unicode-3.rs
lint-nonstandard-style-unicode-3.stderr
lint-output-format-2.rs
lint-output-format-2.stderr
lint-output-format.rs
lint-output-format.stderr
lint-owned-heap-memory.rs
lint-owned-heap-memory.stderr
lint-pre-expansion-extern-module.rs
lint-pre-expansion-extern-module.stderr
lint-pub-unreachable-for-nested-glob.rs
lint-qualification.fixed Fix removal span calculation of unused_qualifications suggestion 2023-07-18 09:52:08 +08:00
lint-qualification.rs Fix removal span calculation of unused_qualifications suggestion 2023-07-18 09:52:08 +08:00
lint-qualification.stderr Fix removal span calculation of unused_qualifications suggestion 2023-07-18 09:52:08 +08:00
lint-range-endpoint-overflow.rs
lint-range-endpoint-overflow.stderr
lint-removed-allow.rs
lint-removed-allow.stderr
lint-removed-cmdline.rs
lint-removed-cmdline.stderr
lint-removed.rs
lint-removed.stderr
lint-renamed-allow.rs
lint-renamed-allow.stderr
lint-renamed-cmdline.rs
lint-renamed-cmdline.stderr
lint-renamed.rs
lint-renamed.stderr
lint-shorthand-field.fixed
lint-shorthand-field.rs
lint-shorthand-field.stderr
lint-stability2.rs
lint-stability2.stderr
lint-stability3.rs
lint-stability3.stderr
lint-stability-2.rs
lint-stability-2.stderr
lint-stability-deprecated.rs
lint-stability-deprecated.stderr
lint-stability-fields-deprecated.rs
lint-stability-fields-deprecated.stderr
lint-stability-fields.rs
lint-stability-fields.stderr
lint-stability.rs
lint-stability.stderr
lint-strict-provenance-fuzzy-casts.rs
lint-strict-provenance-fuzzy-casts.stderr
lint-strict-provenance-lossy-casts.rs
lint-strict-provenance-lossy-casts.stderr
lint-temporary-cstring-as-param.rs
lint-temporary-cstring-as-param.stderr
lint-temporary-cstring-as-ptr.rs
lint-temporary-cstring-as-ptr.stderr
lint-type-limits2.rs
lint-type-limits2.stderr
lint-type-limits3.rs
lint-type-limits3.stderr
lint-type-limits.rs
lint-type-limits.stderr
lint-type-overflow2.rs
lint-type-overflow2.stderr
lint-type-overflow.rs
lint-type-overflow.stderr
lint-unconditional-recursion.rs
lint-unconditional-recursion.stderr Improve spans for indexing expressions 2023-08-04 13:17:39 +02:00
lint-unexported-no-mangle.rs
lint-unexported-no-mangle.stderr
lint-unknown-feature-default.rs
lint-unknown-feature.rs
lint-unknown-lint-cmdline.rs
lint-unknown-lint-cmdline.stderr
lint-unknown-lint.rs
lint-unknown-lint.stderr
lint-unnecessary-import-braces.rs
lint-unnecessary-import-braces.stderr
lint-unnecessary-parens.fixed
lint-unnecessary-parens.rs
lint-unnecessary-parens.stderr
lint-unsafe-code.rs
lint-unsafe-code.stderr
lint-uppercase-variables.rs
lint-uppercase-variables.stderr
lints-in-foreign-macros.rs
lints-in-foreign-macros.stderr
missing-doc-private-macro.rs
missing-doc-private-macro.stderr
no-coverage.rs
no-coverage.stderr
noop-method-call.fixed add suggestion 2023-07-23 09:58:31 +00:00
noop-method-call.rs add suggestion 2023-07-23 09:58:31 +00:00
noop-method-call.stderr add suggestion 2023-07-23 09:58:31 +00:00
not_found.rs
not_found.stderr
opaque-ty-ffi-normalization-cycle.rs
opaque-ty-ffi-normalization-cycle.stderr
opaque-ty-ffi-unsafe.rs
opaque-ty-ffi-unsafe.stderr
outer-forbid.rs
outer-forbid.stderr
ptr_null_checks.rs Also lint on cast/cast_mut and ptr::from_mut/ptr::from_ref 2023-08-03 10:52:15 +02:00
ptr_null_checks.stderr Also add label with original type for function pointers 2023-08-03 10:57:11 +02:00
reasons-erroneous.rs
reasons-erroneous.stderr
reasons-forbidden.rs
reasons-forbidden.stderr
reasons.rs
reasons.stderr
recommend-literal.rs
recommend-literal.stderr
reference_casting.rs Improve diagnostics of the invalid_reference_casting lint 2023-07-29 12:20:59 +02:00
reference_casting.stderr Improve diagnostics of the invalid_reference_casting lint 2023-07-29 12:20:59 +02:00
register-tool-lint.rs
register-tool-lint.stderr
renamed-lints-still-apply.rs
renamed-lints-still-apply.stderr
rustdoc-group.rs
rustdoc-group.stderr
rustdoc-renamed.rs
rustdoc-renamed.stderr
special-upper-lower-cases.rs
special-upper-lower-cases.stderr
suggestions.fixed
suggestions.rs
suggestions.stderr
suspicious-double-ref-op.rs add suggestion 2023-07-23 09:58:31 +00:00
suspicious-double-ref-op.stderr add suggestion 2023-07-23 09:58:31 +00:00
test-allow-dead-extern-static-no-warning.rs
test-inner-fn.rs
test-inner-fn.stderr
trivial_casts.rs
trivial_casts.stderr
trivial-cast-ice.rs
trivial-casts-featuring-type-ascription.rs
trivial-casts-featuring-type-ascription.stderr
trivial-casts.rs
trivial-casts.stderr
type-overflow.rs
type-overflow.stderr
unaligned_references_external_macro.rs
unaligned_references_external_macro.stderr
unaligned_references.rs
unaligned_references.stderr
unconditional_panic_98444.rs
unconditional_panic_98444.stderr
undropped_manually_drops.rs
undropped_manually_drops.stderr
unnecessary-extern-crate.rs
unnecessary-extern-crate.stderr
unreachable_pub.rs
unreachable_pub.stderr
unreachable-async-fn.rs
unused_braces_borrow.fixed
unused_braces_borrow.rs
unused_braces_borrow.stderr
unused_braces_macro.rs
unused_braces.fixed
unused_braces.rs
unused_braces.stderr
unused_import_warning_issue_45268.rs
unused_import_warning_issue_45268.stderr
unused_labels.rs
unused_labels.stderr
unused_parens_json_suggestion.fixed
unused_parens_json_suggestion.rs
unused_parens_json_suggestion.stderr
unused_parens_multibyte_recovery.rs
unused_parens_multibyte_recovery.stderr
unused_parens_remove_json_suggestion.fixed
unused_parens_remove_json_suggestion.rs
unused_parens_remove_json_suggestion.stderr
unused_variables-issue-82488.fixed
unused_variables-issue-82488.rs
unused_variables-issue-82488.stderr
unused-borrows.rs
unused-borrows.stderr
unused-braces-while-let-with-mutable-value.rs
unused-qualification-in-derive-expansion.rs
use_suggestion_json.rs
use_suggestion_json.stderr
warn-ctypes-inhibit.rs
warn-path-statement.rs
warn-path-statement.stderr
warn-unused-inline-on-fn-prototypes.rs
warn-unused-inline-on-fn-prototypes.stderr