Yuki Okushi
829a3635e4
Rollup merge of #68856 - Centril:or-pat-ref-pat, r=matthewjasper
...
typeck: clarify def_bm adjustments & add tests for or-patterns
Clarify the adjustment algorithm for the expected type / default binding-modes when type checking patterns with more documentation and tweaks that make the algorithm more independent of the pattern forms.
Also resolve the FIXME noted for or-patterns by deciding that the current implementation is correct, noting the rationale and adding tests for the current implementation.
cc https://github.com/rust-lang/rust/issues/54883
r? @oli-obk @varkor
2020-02-15 07:17:47 +09:00
Matthias Prechtl
7b555178ae
--bless --compare-mode=nll
2020-02-09 20:43:49 +01:00
Mazdak Farrokhzad
17e632d382
or_patterns: test default binding modes
2020-02-05 10:33:15 +01:00
Mazdak Farrokhzad
29437e55a5
or_patterns: rename previous test
2020-02-05 06:55:41 +01:00
Mazdak Farrokhzad
6509db8443
or_patterns: harden bindings test
2020-02-05 06:55:41 +01:00
Mazdak Farrokhzad
ce6cd6709f
or_patterns: add regression test for 68785
2020-02-05 03:58:41 +01:00
matthewjasper
1d90ed6370
Apply suggestions from code review
...
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2020-02-03 19:42:15 +00:00
Matthew Jasper
c7e6f88926
Add more tests for or-patterns
2020-02-03 19:42:15 +00:00
Dan Robertson
0b1ff27cd8
Basic run-pass tests for or-patterns
...
Add some basic run-pass ui tests for or-patterns.
2020-02-01 22:10:58 +00:00
Matthew Jasper
30058df867
Update existing tests for or-patterns
2020-02-01 22:10:58 +00:00
Matthew Jasper
425e494fce
Remove or_patterns from INCOMPLETE_FEATURES
2020-02-01 22:07:11 +00:00
varkor
24a2929ed1
Normalise notes with the/is
2020-01-24 16:24:50 +00:00
Mazdak Farrokhzad
a1eadca88f
slice_patterns: remove gates in tests
2020-01-18 19:33:47 +01:00
Mazdak Farrokhzad
f8d2cce0ce
Blame user type in pat type error.
2019-12-30 14:28:40 +01:00
Mazdak Farrokhzad
d7e2f3aee5
refactor and fix this-expression-has-type note
2019-12-30 14:05:17 +01:00
Matthew Jasper
f1758a043f
Feature gate or patterns in const contexts
2019-12-25 09:13:15 +00:00
LeSeulArtichaut
eac6fac10b
Update tests
2019-12-12 20:56:14 +01:00
LeSeulArtichaut
3bd46f1aec
Update UI test expectations
2019-12-12 20:56:14 +01:00
Nadrieril
ef087d96f0
Move recently changed tests to the correct file
2019-12-02 16:03:03 +00:00
Nadrieril
5c7bd52a78
Lint for redundant branches in or-patterns
2019-12-02 16:03:00 +00:00
Nadrieril
00ccadf43f
Add some tests
2019-12-02 16:00:24 +00:00
Mazdak Farrokhzad
3af14f994d
Rollup merge of #66612 - Nadrieril:or-patterns-initial, r=varkor
...
Initial implementation of or-pattern usefulness checking
The title says it all.
I'd like to request a perf run on that, hopefully this doesn't kill performance too much.
cc https://github.com/rust-lang/rust/issues/54883
2019-11-30 16:56:45 +01:00
Nadrieril Feneanar
0f4c5fb20c
Apply suggestions from code review
...
Co-Authored-By: varkor <github@varkor.com>
2019-11-30 13:35:46 +00:00
Nadrieril
0881750173
Move tests to ui, split them and add some
2019-11-26 14:53:54 +00:00
Esteban Küber
34f03c01f6
Point at type in let assignment on type errors
2019-11-21 19:24:31 -08:00
Esteban Küber
6f8f70624b
Surround types with backticks in type errors
2019-11-18 11:03:04 -08:00
Esteban Küber
94c6425464
Remove E0308 note when primary label has all info
2019-11-18 11:03:03 -08:00
Esteban Küber
b2e6aef073
review comments: tweak prefix strings
2019-11-18 11:02:44 -08:00
Esteban Küber
83ffda5216
Specific labels when referring to "expected" and "found" types
2019-11-18 11:02:22 -08:00
Tomasz Miąsko
427952e808
Make error and warning annotations mandatory in UI tests
...
This change makes error and warning annotations mandatory in UI tests.
The only exception are tests that use error patterns to match compiler
output and don't have any annotations.
2019-11-10 21:01:02 +01:00
Eduard-Mihai Burtescu
680089c2d9
Revert "pre-expansion gate box_patterns"
...
This reverts commit 2aff6b36d7 .
2019-10-31 19:08:11 +02:00
Mazdak Farrokhzad
2aff6b36d7
pre-expansion gate box_patterns
2019-10-24 00:32:03 +02:00
Mazdak Farrokhzad
3eba6c18d4
syntax: recover trailing | in or-patterns.
2019-09-29 07:11:26 +02:00
Mazdak Farrokhzad
dbe6873387
resolve: test consistent or-patterns being allowed.
2019-09-05 08:33:09 +02:00
Mazdak Farrokhzad
aa7a02b029
resolve: test binding mode consistency for or-patterns.
2019-09-05 08:33:09 +02:00
Mazdak Farrokhzad
33317c7baa
resolve: add test for missing bindings in or-patterns.
2019-09-05 08:33:09 +02:00
Mazdak Farrokhzad
896a1c7fcd
resolve: account for general or-patterns in consistency checking.
2019-09-05 08:33:09 +02:00
Mazdak Farrokhzad
498ec59520
resolve: add tests for already-bound check.
2019-09-05 08:33:09 +02:00
Tshepang Lekhonkhobe
6f67bbc445
or-pattern: fix typo in error message
2019-08-28 02:23:58 +02:00
Mazdak Farrokhzad
2bd27fbdfe
parser: fix span for leading vert.
2019-08-26 22:14:31 +02:00
Mazdak Farrokhzad
6a73199da6
or_patterns: add run-rustfix tests.
2019-08-25 05:45:51 +02:00
Mazdak Farrokhzad
1caaa40768
parser: gracefully handle fn foo(A | B: type).
2019-08-25 05:45:19 +02:00
Mazdak Farrokhzad
083963e58c
parser: 'while parsing this or-pattern...'
2019-08-25 01:50:21 +02:00
Mazdak Farrokhzad
0ab8430332
parser: reword || recovery.
2019-08-24 23:44:28 +02:00
Mazdak Farrokhzad
3a405421e7
parse_top_pat: silence leading vert gating sometimes.
2019-08-24 23:05:04 +02:00
Mazdak Farrokhzad
b205055c7b
parser: better recovery for || in inner pats.
2019-08-24 21:53:55 +02:00
Mazdak Farrokhzad
1ffea18ddb
or-patterns: harden feature gating tests.
2019-08-24 21:53:55 +02:00
Mazdak Farrokhzad
d3b3bceffb
move feature-gate-or_patterns.* -> ui/or-patterns/
2019-08-24 21:53:55 +02:00
Mazdak Farrokhzad
f35432e188
or-patterns: add syntactic tests.
2019-08-24 21:53:55 +02:00
Mazdak Farrokhzad
a9af18bed5
move ui/or-pattern-mismatch -> ui/or-patterns/.
2019-08-24 21:53:55 +02:00