about summary refs log tree commit diff
path: root/src/test/ui/match
AgeCommit message (Collapse)AuthorLines
2021-03-19update testsmark-2/+0
2021-01-12Include `..` suggestion if fields are all wildcardsCamelid-0/+4
2021-01-12Always show suggestions in their own subwindowsCamelid-4/+6
2021-01-12Only suggest `..` if more than one field is missingCamelid-10/+4
2021-01-12Specialize `..` help message for all fields vs. the restCamelid-1/+1
2021-01-12Suggest `Variant(..)` if all of the mentioned fields are `_`Camelid-2/+2
2021-01-12Suggest `_` and `..` if a pattern has too few fieldsCamelid-0/+9
For example, this code: struct S(i32, f32); let S(x) = S(0, 1.0); will make the compiler suggest either: let S(x, _) = S(0, 1.0); or: let S(x, ..) = S(0, 1.0);
2020-11-19Regroup many usefulness-related test in the same folderNadrieril-91/+0
2020-11-17Rollup merge of #79072 - oli-obk:byte_str_pat, r=estebankMara Bos-0/+57
Fix exhaustiveness in case a byte string literal is used at slice type fixes #79048
2020-11-17Fix exhaustiveness in case a byte string literal is used at slice typeoli-0/+57
2020-11-14Style nitWho? Me?!-1/+1
Co-authored-by: matthewjasper <20113453+matthewjasper@users.noreply.github.com>
2020-11-09address reviewer commentsmark-23/+23
2020-11-07fix #72680 by explicitly checking for or-pattern before testmark-0/+65
2020-10-22Reduce diagram mess in 'match arms have incompatible types' errorDavid Tolnay-26/+22
2020-10-22Add test of incompatible match arm types with multiline armDavid Tolnay-1/+29
2020-09-30References to ZSTs may be at arbitrary aligned addressesOliver Scherer-0/+9
2020-09-26`char` not charvarkor-6/+6
2020-09-23Deduplicate errors in const to pat conversionOliver Scherer-8/+1
2020-09-20Use precise errors during const to pat conversion instead of a catch-all on ↵Oliver Scherer-3/+10
the main constant
2020-09-20Implement destructuring for all aggregates and for referencesOliver Scherer-0/+46
2020-08-18Provide better spans for the match arm without tail expressionWonwoo Choi-0/+116
2020-07-08Correctly mark the ending span of a match armAyaz Hafiz-0/+28
Closes #74050 r? @matthewjasper
2020-06-02normalize adt fields during structural match checkBastian Kauschke-0/+23
2020-05-08Skip tests on emscriptenYuki Okushi-0/+5
2020-05-06Move tests from `test/run-fail` to UIYuki Okushi-0/+77
2020-04-29emit err when using trait objects in patBastian Kauschke-0/+18
2020-03-27non-exhastive diagnostic: add note re. scrutinee typeMazdak Farrokhzad-0/+1
2020-03-12update testsMark Mansi-2/+2
2020-03-06When encountering an Item in a pat context, point at the item defEsteban Küber-0/+3
2020-02-25check_pat_path: use pattern_causeMazdak Farrokhzad-1/+3
2020-02-25enhance check_pat_lit with TopInfoMazdak Farrokhzad-0/+3
2020-02-06rustc_macros: don't limit the -Zmacro-backtrace suggestion to extern macros.Eduard-Mihai Burtescu-2/+0
2020-02-06rustc: rename -Zexternal-macro-backtrace to -Zmacro-backtrace.Eduard-Mihai Burtescu-1/+1
2020-01-24Normalise notes with the/isvarkor-1/+1
2020-01-18slice_patterns: organize some testsMazdak Farrokhzad-72/+0
2020-01-18slice_patterns: remove gates in testsMazdak Farrokhzad-7/+5
2020-01-09Update testsVadim Petrochenkov-3/+24
2020-01-05Add backticks to various diagnosticsvarkor-8/+8
2019-12-30MatchExpressionArmPattern: Use more generic wording.Mazdak Farrokhzad-2/+2
The existing wording was inappropriate for e.g. `if let Ok(_) = expr { .. }`. The diagnostic would leak the fact that we desugar to a `match`.
2019-12-30note other end-point when typeck range patsMazdak Farrokhzad-1/+3
2019-11-21Auto merge of #66389 - estebank:type-err-labels, r=petrochenkovbors-50/+19
Specific labels when referring to "expected" and "found" types
2019-11-18Auto merge of #58281 - mark-i-m:synthesis, r=estebankbors-0/+4
Add outlives suggestions for some lifetime errors This PR implements suggestion diagnostics for some lifetime mismatch errors. When the borrow checker finds that some lifetime 'a doesn't outlive some other lifetime 'b that it should outlive, then in addition to the current lifetime error, we also emit a suggestion for how to fix the problem by adding a bound: - If a and b are normal named regions, suggest to add the bound `'a: 'b` - If b is static, suggest to replace a with static - If b also needs to outlive a, they must be the same, so suggest unifying them We start with a simpler implementation that avoids diagnostic regression or implementation complexity: - We only makes suggestions for lifetimes the user can already name (eg not closure regions or elided regions) - For now, we only emit a help note, not an actually suggestion because it is significantly easier. Finally, there is one hack: it seems that implicit regions in async fn are given the name '_ incorrectly. To avoid suggesting '_: 'x, we simply filter out such lifetimes by name. For more info, see this internals thread: https://internals.rust-lang.org/t/mechanical-suggestions-for-some-borrow-checker-errors/9049/3 TL;DR Make suggestions to add a `where 'a: 'b` constraint for some lifetime errors. Details are in the paper linked from the internals thread above. r? @estebank TODO - [x] Clean up code - [x] Only make idiomatic suggestions - [x] don't suggest naming `&'a self` - [x] rather than `'a: 'static`, suggest replacing `'a` with `'static` - [x] rather than `'a: 'b, 'b: 'a`, suggest replacing `'a` with `'b` or vice versa - [x] Performance (maybe need a perf run when this is closer to the finish line?) - perf run was clean... - EDIT: perf run seems to only check non-error performance... How do we check that error performance didn't regress? - [x] Needs ui tests - [x] Integrate the `help` message into the main lifetime `error`
2019-11-18Surround types with backticks in type errorsEsteban Küber-11/+11
2019-11-18Remove E0308 note when primary label has all infoEsteban Küber-36/+5
2019-11-18review comments: tweak prefix stringsEsteban Küber-2/+2
2019-11-18Specific labels when referring to "expected" and "found" typesEsteban Küber-14/+14
2019-11-13Tweak non-char/numeric in range pattern diagnosticYuki Okushi-14/+23
2019-10-28Improve the "try using a variant of the expected type" hint.Patryk Wychowaniec-2/+2
2019-10-28Auto merge of #65421 - estebank:variants, r=petrochenkovbors-8/+8
Point at local similarly named element and tweak references to variants Partially address #65386.
2019-10-27Gather together usefulness testsNadrieril-928/+0
I took most tests that were testing only for match exhaustiveness, pattern refutability or match arm reachability, and put them in the same test folder.