Amjad Alsharafi
da700cba08
Stabilize move_ref_pattern
2020-09-15 14:23:05 +08:00
Mazdak Farrokhzad
c858593ed0
non-exhastive diagnostic: add note re. scrutinee type
2020-03-27 06:49:07 +01:00
Mazdak Farrokhzad
289c3a5f6e
Rollup merge of #69687 - Centril:bm-inconsistent-wording, r=estebank
...
resolve, inconsistent binding mode: tweak wording
Now that we can have e.g. `let Ok(x) | Err(x) = res;`, it's no longer appropriate to refer to "the same *match arm*", so let's tweak the wording.
r? @estebank
2020-03-07 17:27:27 +01:00
Esteban Küber
125159f30a
When encountering an Item in a pat context, point at the item def
2020-03-06 15:29:26 -08:00
Mazdak Farrokhzad
cc9aad452a
resolve, inconsistent binding mode: tweak wording.
2020-03-04 03:58:52 +01:00
Mazdak Farrokhzad
e9f6bb7f79
check_pat_path: use pattern_cause
2020-02-25 05:41:03 +01:00
Mazdak Farrokhzad
5da3a2f354
enhance check_pat_lit with TopInfo
2020-02-25 04:10:58 +01:00
Mazdak Farrokhzad
d984f127f6
move_ref_patterns: introduce tests
...
bindings_after_at: harden tests
2020-02-02 14:13:07 +01:00
Mazdak Farrokhzad
a1eadca88f
slice_patterns: remove gates in tests
2020-01-18 19:33:47 +01:00
Mazdak Farrokhzad
6a87f99620
check_legality_of_move_bindings: generalize diagnostics & add comments
2019-12-23 14:47:19 +01:00
bors
53712f8637
Auto merge of #66389 - estebank:type-err-labels, r=petrochenkov
...
Specific labels when referring to "expected" and "found" types
2019-11-21 17:53:19 +00: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
83ffda5216
Specific labels when referring to "expected" and "found" types
2019-11-18 11:02:22 -08:00
Guillaume Gomez
cd13335ae2
Update ui tests
2019-11-18 19:00:10 +01:00
Mazdak Farrokhzad
75da43dc87
Use new 'p @ ..' syntax in tests.
2019-07-28 06:53:39 +02:00
Matthew Jasper
8ffa408059
Update tests for changes to cannot move errors
2019-06-03 14:55:29 +01:00
Matthew Jasper
ff71b80a85
Change compare mode to use -Zborrowck=mir
2019-05-12 18:46:43 +01:00
Esteban Küber
6e723c24a8
Never stop due to errors before borrow checking
2019-04-22 13:11:53 -07:00
Matthew Jasper
8eef102270
update tests for migrate mode by default
2019-04-22 08:40:08 +01:00
Andy Russell
b6f148c8bd
hide --explain
hint if error has no extended info
2019-04-18 13:29:28 -04:00
Esteban Küber
1b0ab0b8a9
Tweak spans for E0599
2019-03-23 13:05:29 -07:00
Vadim Petrochenkov
c1cfacfb13
Update NLL tests
2019-03-11 23:18:35 +03:00
Vadim Petrochenkov
fa72a81bea
Update tests
2019-03-11 23:10:26 +03:00
Esteban Küber
0081ef2548
Point at enum definition when match patterns are not exhaustive
...
```
error[E0004]: non-exhaustive patterns: type `X` is non-empty
--> file.rs:9:11
|
1 | / enum X {
2 | | A,
| | - variant not covered
3 | | B,
| | - variant not covered
4 | | C,
| | - variant not covered
5 | | }
| |_- `X` defined here
...
9 | match x {
| ^
|
= help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
error[E0004]: non-exhaustive patterns: `B` and `C` not covered
--> file.rs:11:11
|
1 | / enum X {
2 | | A,
3 | | B,
4 | | C,
| | - not covered
5 | | }
| |_- `X` defined here
...
11 | match x {
| ^ patterns `C` not covered
```
When a match expression doesn't have patterns covering every variant,
point at the enum's definition span. On a best effort basis, point at the
variant(s) that are missing. This does not handle the case when the missing
pattern is due to a field's enum variants:
```
enum E1 {
A,
B,
C,
}
enum E2 {
A(E1),
B,
}
fn foo() {
match E2::A(E1::A) {
E2::A(E1::B) => {}
E2::B => {}
}
//~^ ERROR `E2::A(E1::A)` and `E2::A(E1::C)` not handled
}
```
Unify look between match with no arms and match with some missing patterns.
Fix #37518 .
2019-03-02 16:45:23 -08:00
Santiago Pastorino
801c3f060f
Fix erroneous loop diagnostic in nll
...
This commit fixes the logic of detecting when a use happen in a later
iteration of where a borrow was defined
Fixes #53773
2019-02-20 12:15:08 -03:00
Alexander Regueiro
58a5756f4d
Fixed more tests.
2018-12-26 21:40:21 +00:00
Mark Rousskov
2a663555dd
Remove licenses
2018-12-25 21:08:33 -07:00
Matthew Jasper
bc4f9b848d
Clearer later use messages for calls
...
Give a special message when the later use is from a call. Use the span
of the callee instead of the whole expression. For conflicting borrow
messages say that the later use is of the first borrow.
2018-10-03 20:32:38 +01:00
Rusty Blitzerr
44b3674d8e
Test fixes for the change of error message for issue #54015
2018-09-28 09:25:14 -07:00
David Wood
1863cb7372
Errors are more specific in cases where borrows are used in future iterations of loops.
2018-08-01 17:42:15 +02:00
ashtneoi
531a68cea7
Factor out suggest_ref_mut; use it in rustc_borrowck
...
Also teach rustc_borrowck not to show useless help messages like
"use a mutable reference instead: `x`".
2018-07-12 22:51:30 -07:00
csmoe
7a70140ed5
span_suggestion
2018-07-12 22:51:30 -07:00
ashtneoi
6fd1a9fff7
Don't try to suggest ref mut
for implicit ref
2018-07-12 22:51:30 -07:00
Felix S. Klock II
2d4df5b53e
NLL: Updates to diagnostic output in test/ui
.
2018-06-19 19:38:37 +02:00
Felix S. Klock II
ea454746b3
Update the previously checkpointed (but unused by bors) tests to reflect current reality.
2018-04-18 15:37:18 +02:00
Felix S. Klock II
746d63a203
Checkpoint the current status of NLL on ui
tests via compare-mode=nll.
2018-04-11 00:38:35 +02:00
Niko Matsakis
9428a3cea6
make mem-categorization use adjusted type for patterns
...
Fixes #49631
2018-04-05 18:26:23 -04:00
Taylor Cramer
3c65f53620
Stabilize match_default_bindings
...
This includes a submodule update to rustfmt
in order to allow a stable feature declaration.
2018-03-28 11:13:13 +02:00
Vadim Petrochenkov
7c90189e13
Stabilize slice patterns without ..
...
Merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`
2018-03-20 02:27:40 +03:00
Guillaume Gomez
2e104a77cf
update tests
2018-03-14 00:53:24 +01:00
Vadim Petrochenkov
fa2d9fc4b9
Update UI tests
2018-02-26 20:24:02 +03:00
Guillaume Gomez
5747fd6611
Update ui tests
2018-02-25 12:15:05 +01:00
Guillaume Gomez
c8a110ed63
Add error code for unstable feature errors
2018-01-15 10:28:00 +01:00
Esteban Küber
2461b7a264
Use get_parent_node
instead of using spans
2017-11-24 08:26:45 -08:00
Oliver Schneider
8937d6a6cf
Merge cfail and ui tests into ui tests
2017-11-24 11:32:35 +01:00
Esteban Küber
f796fcd623
Point to ADT definition when not finding variant, method, assoc type
2017-11-15 23:24:58 -08:00
Tamir Duberstein
9844777a50
typeck: suggest use of match_default_bindings feature
...
Fixes #45383 .
Updates #42640 .
2017-10-30 19:09:23 -04:00
Tobias Schottdorf
de55b4f077
implement pattern-binding-modes RFC
...
See the [RFC] and [tracking issue].
[tracking issue]: https://github.com/rust-lang/rust/issues/42640
[RFC]: 491e0af/text/2005-match-ergonomics.md
2017-10-06 16:30:23 -04:00