rust/tests/ui/pattern
Matthias Krüger 54db888355
Rollup merge of #137161 - dianne:pat-migration-bookkeeping-for-macros, r=Nadrieril
Pattern Migration 2024: fix incorrect messages/suggestions when errors arise in macro expansions

See the diff between the two commits for how this affected the error message and suggestion. In order to decide how to format those, the pattern migration diagnostic keeps track of which parts of the user's pattern cause problems in Edition 2024. However, it neglected to do some of this bookkeeping when pointing to macro expansion sites. This fixes that.
2025-02-18 18:40:52 +01:00
..
auxiliary Move existing rfc3627 tests to a dedicated folder 2024-09-24 13:45:58 +02:00
bindings-after-at Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
deref-patterns add_move_error_suggestions: use a HIR visitor rather than SourceMap 2024-11-25 20:29:04 -08:00
move-ref-patterns Better span for "make binding mutable" suggestion 2024-07-04 02:02:21 +00:00
rfc-3627-match-ergonomics-2024 bookkeep properly when pointing into macro expansions 2025-02-16 19:27:48 -08:00
rfc-3637-guard-patterns Address review comments 2024-12-07 13:37:35 +01:00
usefulness Rename pattern_complexity attr as pattern_complexity_limit. 2025-02-17 09:30:40 +11:00
at-in-struct-patterns.rs Parser: better error messages for @ in struct patterns 2024-09-23 02:12:53 +03:00
at-in-struct-patterns.stderr Parser: better error messages for @ in struct patterns 2024-09-23 02:12:53 +03:00
box-pattern-type-mismatch.rs Replace some Option<Diag> with Result<(), Diag> 2024-06-13 06:16:12 +00:00
box-pattern-type-mismatch.stderr Replace some Option<Diag> with Result<(), Diag> 2024-06-13 06:16:12 +00:00
by-move-pattern-binding.rs Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
by-move-pattern-binding.stderr Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
byte-string-inference.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
complexity_limit.rs Rename pattern_complexity attr as pattern_complexity_limit. 2025-02-17 09:30:40 +11:00
complexity_limit.stderr Add and update tests to use pattern_complexity 2024-03-03 13:10:15 +01:00
fn-in-pat.rs Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
fn-in-pat.stderr Update tests for new TRPL chapter order 2024-11-23 08:57:25 -07:00
for-loop-bad-item.rs
for-loop-bad-item.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
ignore-all-the-things.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
inc-range-pat.rs Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
incorrect-placement-of-pattern-modifiers.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
incorrect-placement-of-pattern-modifiers.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
incorrect-placement-of-pattern-modifiers.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
integer-range-binding.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-6449.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-8351-1.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-8351-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-10392.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-11577.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-12582.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-14221.rs Change bindings_with_variant_name to deny-by-default 2023-01-20 02:26:12 -05:00
issue-14221.stderr Reword the "unreachable pattern" explanations 2024-08-19 21:39:57 +02:00
issue-15080.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-17718-patterns.rs
issue-17718-patterns.stderr
issue-22546.rs Revert "Rollup merge of #126618 - mu001999-contrib:dead/enhance, r=pnkfelix" 2024-08-03 07:57:31 -04:00
issue-22546.stderr Revert "Rollup merge of #126618 - mu001999-contrib:dead/enhance, r=pnkfelix" 2024-08-03 07:57:31 -04:00
issue-27320.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-28992-empty.rs Move some tests 2024-02-09 15:43:08 -03:00
issue-28992-empty.stderr Move some tests 2024-02-09 15:43:08 -03:00
issue-52240.rs
issue-52240.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-66270-pat-struct-parser-recovery.rs
issue-66270-pat-struct-parser-recovery.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-67037-pat-tup-scrut-ty-diff-less-fields.rs
issue-67037-pat-tup-scrut-ty-diff-less-fields.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-67776-match-same-name-enum-variant-refs.rs Change bindings_with_variant_name to deny-by-default 2023-01-20 02:26:12 -05:00
issue-67776-match-same-name-enum-variant-refs.stderr Change bindings_with_variant_name to deny-by-default 2023-01-20 02:26:12 -05:00
issue-72565.rs Avoid emitting the non_exhaustive error if other errors already occurred 2023-10-11 12:49:57 +00:00
issue-72565.stderr Specify type kind of constant that can't be used in patterns 2024-12-04 20:29:36 +00:00
issue-72574-1.rs
issue-72574-1.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
issue-72574-2.rs
issue-72574-2.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
issue-74539.rs
issue-74539.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
issue-74702.rs
issue-74702.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
issue-74954.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-80186-mut-binding-help-suggestion.rs
issue-80186-mut-binding-help-suggestion.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
issue-88074-pat-range-type-inference-err.rs
issue-88074-pat-range-type-inference-err.stderr
issue-88074-pat-range-type-inference.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-92074-macro-ice.rs
issue-92074-macro-ice.stderr Change wording 2024-04-29 14:53:38 +02:00
issue-94866.rs Move tests 2023-05-24 19:35:59 -03:00
issue-94866.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-95878.rs
issue-95878.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-106552.rs suggest fix for attempted integer identifier in patterns 2023-01-14 12:51:20 +13:00
issue-106552.stderr Update tests for new TRPL chapter order 2024-11-23 08:57:25 -07:00
issue-106862.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-106862.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-106862.stderr error-msg: impl better suggestion for E0532 2023-03-15 22:19:54 +13:00
issue-110508.rs Handle all PatExprs in dead code analysis 2025-01-29 15:45:13 +00:00
issue-115599.rs Add additional context for non-sructural type constant used in pattern 2024-12-04 20:29:36 +00:00
issue-115599.stderr Add additional context for non-sructural type constant used in pattern 2024-12-04 20:29:36 +00:00
issue-117626.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
missing_lifetime.rs Avoid follow-up errors on erroneous patterns 2024-06-13 06:14:32 +00:00
missing_lifetime.stderr Avoid follow-up errors on erroneous patterns 2024-06-13 06:14:32 +00:00
mut-ref-mut-2021.rs Feature gate 2024-03-27 11:20:28 -04:00
mut-ref-mut-2021.stderr Better span for "make binding mutable" suggestion 2024-07-04 02:02:21 +00:00
mut_preserve_binding_mode_2021.rs Gate implicit mutable by-reference bindings behind mut ref 2024-05-15 16:55:54 -04:00
mut_preserve_binding_mode_2021.stderr Fix tests 2024-04-15 23:27:22 -04:00
mut_preserve_binding_mode_2024.rs Stabilize the 2024 edition 2024-11-22 11:12:15 -08:00
no-match-tuple-variant-self-ctor.rs Validate that we're only matching on unit struct for path pattern 2024-03-22 20:53:42 -04:00
no-match-tuple-variant-self-ctor.struct_.stderr Validate that we're only matching on unit struct for path pattern 2024-03-22 20:53:42 -04:00
no-match-tuple-variant-self-ctor.tuple.stderr Validate that we're only matching on unit struct for path pattern 2024-03-22 20:53:42 -04:00
no-patterns-in-args-2.rs Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
no-patterns-in-args-2.stderr Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
no-patterns-in-args.rs Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
no-patterns-in-args.stderr Move 100 entries from tests/ui into subdirs 2024-05-20 19:55:59 -07:00
non-constant-in-const-path.rs
non-constant-in-const-path.stderr Tweak output of some const pattern errors 2024-12-04 20:29:36 +00:00
non-structural-match-types.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
non-structural-match-types.stderr Specify type kind of constant that can't be used in patterns 2024-12-04 20:29:36 +00:00
overflowing-literals.rs Uniformly handle HIR literals in visitors and lints 2025-02-05 11:28:24 +00:00
overflowing-literals.stderr Uniformly handle HIR literals in visitors and lints 2025-02-05 11:28:24 +00:00
pat-shadow-in-nested-binding.rs
pat-shadow-in-nested-binding.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
pat-struct-field-expr-has-type.rs
pat-struct-field-expr-has-type.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
pat-tuple-bad-type.rs
pat-tuple-bad-type.stderr
pat-tuple-field-count-cross.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
pat-tuple-field-count-cross.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
pat-tuple-overfield.rs
pat-tuple-overfield.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
pat-tuple-underfield.rs
pat-tuple-underfield.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
pat-type-err-formal-param.rs
pat-type-err-formal-param.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
pat-type-err-let-stmt.rs
pat-type-err-let-stmt.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
patkind-litrange-no-expr.rs Rename PatKind::Lit to Expr 2025-01-08 07:34:59 +00:00
patkind-litrange-no-expr.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
patkind-ref-binding-issue-114896.fixed Fix incorrect mutable suggestion information for binding in ref pattern. 2024-03-19 12:28:23 +08:00
patkind-ref-binding-issue-114896.rs Fix incorrect mutable suggestion information for binding in ref pattern. 2024-03-19 12:28:23 +08:00
patkind-ref-binding-issue-114896.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
patkind-ref-binding-issue-122415.fixed Fix incorrect mutable suggestion information for binding in ref pattern. 2024-03-19 12:28:23 +08:00
patkind-ref-binding-issue-122415.rs Fix incorrect mutable suggestion information for binding in ref pattern. 2024-03-19 12:28:23 +08:00
patkind-ref-binding-issue-122415.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
pattern-bad-ref-box-order.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
pattern-bad-ref-box-order.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
pattern-bad-ref-box-order.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
pattern-binding-disambiguation.rs Continue to borrowck even if there were previous errors 2024-02-08 08:10:43 +00:00
pattern-binding-disambiguation.stderr Update tests for new TRPL chapter order 2024-11-23 08:57:25 -07:00
pattern-error-continue.rs Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
pattern-error-continue.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
pattern-ident-path-generics.rs
pattern-ident-path-generics.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
pattern-tyvar-2.rs
pattern-tyvar-2.stderr Change E0369 diagnostic give note information for foreign items. 2024-06-25 10:00:30 +08:00
pattern-tyvar.rs
pattern-tyvar.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
patterns-dont-match-nt-statement.rs Don't make pattern nonterminals match statement nonterminals 2024-08-26 18:30:15 -04:00
range-pattern-meant-to-be-slice-rest-pattern.rs Stabilize exclusive_range 2024-05-02 19:42:31 -04:00
range-pattern-meant-to-be-slice-rest-pattern.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
rest-pat-semantic-disallowed.rs
rest-pat-semantic-disallowed.stderr
rest-pat-syntactic.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rest-pat-syntactic.stderr Bless tests 2024-01-13 12:46:58 -05:00
self-ctor-133272.rs Re-delay a resolve bug 2024-11-21 18:40:36 +08:00
self-ctor-133272.stderr Re-delay a resolve bug 2024-11-21 18:40:36 +08:00
size-and-align.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
skipped-ref-pats-issue-125058.rs Stabilize the 2024 edition 2024-11-22 11:12:15 -08:00
skipped-ref-pats-issue-125058.stderr Stabilize the 2024 edition 2024-11-22 11:12:15 -08:00
slice-array-infer.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
slice-pattern-refutable.rs address review 2023-07-17 22:06:32 +00:00
slice-pattern-refutable.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
slice-patterns-ambiguity.rs add tests for refutable patterns 2023-07-17 22:02:09 +00:00
slice-patterns-ambiguity.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
slice-patterns-irrefutable.rs address review 2023-07-28 11:20:11 +00:00
slice-patterns-irrefutable.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
slice-patterns-nested.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
struct-parser-recovery-issue-126344.rs report pat no field error no recoverd struct variant 2024-07-11 00:18:47 +08:00
struct-parser-recovery-issue-126344.stderr report pat no field error no recoverd struct variant 2024-07-11 00:18:47 +08:00
struct-pattern-on-non-struct-resolve-error.rs modify test to side-step platform-dependent stderr output 2025-01-08 00:13:43 +00:00
struct-pattern-on-non-struct-resolve-error.stderr modify test to side-step platform-dependent stderr output 2025-01-08 00:13:43 +00:00
struct-pattern-with-missing-fields-resolve-error.rs Add check for missing fields in enum variant pattern 2025-01-08 00:10:16 +00:00
struct-pattern-with-missing-fields-resolve-error.stderr Add check for missing fields in enum variant pattern 2025-01-08 00:10:16 +00:00
suggest-adding-appropriate-missing-pattern-excluding-comments.fixed [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
suggest-adding-appropriate-missing-pattern-excluding-comments.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
suggest-adding-appropriate-missing-pattern-excluding-comments.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type_mismatch.rs Avoid follow-up errors on erroneous patterns 2024-06-13 06:14:32 +00:00
type_mismatch.stderr Avoid follow-up errors on erroneous patterns 2024-06-13 06:14:32 +00:00