Mazdak Farrokhzad
3e536e8ac6
Rollup merge of #60393 - estebank:pat-sugg, r=oli-obk
...
Do not suggest incorrect syntax on pattern type error due to borrow
Fix #55174 .
2019-05-03 16:24:59 +02:00
Esteban Küber
ed08c6a985
review comments: change wording
2019-04-30 10:59:30 -07:00
Esteban Küber
6068478d56
Add if let test
2019-04-29 20:58:29 -07:00
Esteban Küber
693eea5784
review comments
2019-04-29 19:56:50 -07:00
Esteban Küber
ff68673387
add tests
2019-04-29 19:16:35 -07:00
Esteban Küber
4b1297baf7
Suggest try_into when possible
2019-04-29 14:38:26 -07:00
Mazdak Farrokhzad
a552bebaf6
Rollup merge of #59697 - euclio:label-fixes, r=zackmdavis
...
tweak unresolved label suggestion
Only suggest label names in the same hygiene context, and use a
structured suggestion.
Question for reviewer: Is this the right way to check for label hygiene?
2019-04-25 03:05:20 +02:00
bors
4eff8526a7
Auto merge of #60155 - davidtwco:issue-59819, r=oli-obk
...
Suggest dereferencing when `Deref` is implemented.
Fixes #59819 .
r? @oli-obk
cc @estebank
2019-04-23 15:54:23 +00:00
David Wood
7ab1bfd692
Only make suggestion when type is Copy.
...
This commit makes the suggestion to dereference when a type implements
`Deref` only apply if the dereference would succeed (ie. the type is
`Copy`, otherwise a borrow check error would occur).
2019-04-22 19:26:24 +01:00
Matthew Jasper
8eef102270
update tests for migrate mode by default
2019-04-22 08:40:08 +01:00
David Wood
fd95ba3574
Suggest dereferencing when Deref is implemented.
...
This commit suggests dereferencing a type when it implements `Deref`
with the correct `Output` associated type.
2019-04-21 20:00:32 +01:00
David Wood
c9a2616e44
Add existing behaviour test for deref suggestions.
...
This commit adds a test that demonstrates the current behaviour where
suggestions to add a dereference aren't given for non-references.
2019-04-21 18:49:02 +01:00
Esteban Küber
6aa4c992bc
Suggest appropriate path when calling associated item on bare types
...
When looking at the documentation for `std::f32` or `std::str`, for
example, it is easy to get confused and assume `std::f32` and `f32`
are the same thing. Because of this, it is not uncommon to attempt
writing `f32::consts::PI` instead of the correct
`std::f32::consts::PI`. When encountering the former, which results
in an access error due to it being an inexistent path, try to access
the same path under `std`. If this succeeds, this information is
stored for later tweaking of the final E0599 to provide an
appropriate suggestion.
This suggestion applies to both E0233 and E0599 and is only checked
when the first ident of a path corresponds to a primitive type.
2019-04-18 19:18:26 -07:00
Andy Russell
b6f148c8bd
hide --explain hint if error has no extended info
2019-04-18 13:29:28 -04:00
Mazdak Farrokhzad
ca9f04e41e
Rollup merge of #59862 - estebank:tweak-unstable-diag, r=petrochenkov
...
Tweak unstable diagnostic output
2019-04-12 20:36:15 +02:00
Esteban Küber
146d040f0b
Reword tracking issue note
2019-04-11 11:42:06 -07:00
Esteban Küber
3ab97062cf
Tweak unstable diagnostic output
2019-04-10 18:10:30 -07:00
Andy Russell
757ef38431
improve unknown enum variant errors
2019-04-09 14:19:20 -04:00
Andy Russell
3b686d5c25
tweak unresolved label suggestion
...
Only suggest label names in the same hygiene context, and use a
structured suggestion.
2019-04-04 10:04:48 -04:00
David Wood
0270d565d9
Only mention const generics if enabled.
...
This commit updates the generic parameter re-ordering diagnostic to only
mention const generics if the feature is enabled.
2019-03-31 00:14:21 +01:00
Mazdak Farrokhzad
c105f34fcb
Rollup merge of #59473 - estebank:borrow-sugg-inside-macro, r=davidtwco
...
Do not emit incorrect borrow suggestion involving macros and fix overlapping multiline spans
Fix #58298 .
2019-03-29 12:32:28 +01:00
Mazdak Farrokhzad
0f26958cea
Rollup merge of #59429 - estebank:for-loop-move-nll, r=petrochenkov
...
When moving out of a for loop head, suggest borrowing it in nll mode
Follow up to #59195 for NLL.
2019-03-28 13:35:44 +01:00
Esteban Küber
326ec800b9
Account for fully overlapping multiline annotations
...
When two multiline span labels point at the same span, we special
case the output to avoid weird behavior:
```
foo(
_____^
|_____|
|| bar,
|| );
|| ^
||______|
|______foo
baz
```
instead showing
```
foo(
_____^
| bar,
| );
| ^
| |
|______foo
baz
```
2019-03-27 19:35:30 -07:00
Esteban Küber
925ca49cf1
Add test
2019-03-27 19:35:30 -07:00
Josh Stone
e5fa59735b
Rollup merge of #59268 - estebank:from-string, r=QuietMisdreavus
...
Add suggestion to use `&*var` when `&str: From<String>` is expected
Fix #53879 .
2019-03-27 18:15:24 -07:00
Mazdak Farrokhzad
ba55822801
Rollup merge of #59267 - estebank:assoc-const-as-field, r=davidtwco
...
Provide suggestion when using field access instead of path
When trying to access an associated constant as if it were a field of
an instance, provide a suggestion for the correct syntax.
Fix #57316 .
2019-03-26 09:05:43 +01:00
Mazdak Farrokhzad
b316514dbd
Rollup merge of #59150 - estebank:type-ascription, r=varkor
...
Expand suggestions for type ascription parse errors
Fix #51222 . CC #48016 , #47666 , #54516 , #34255 .
2019-03-26 09:05:39 +01:00
Esteban Küber
4bad56e54c
When moving out of a for loop head, suggest borrowing it in nll mode
2019-03-25 19:29:02 -07:00
bors
4c27fb19ba
Auto merge of #59258 - euclio:suggestions-filter-crate, r=oli-obk
...
filter suggestions from extern prelude
Fixes #59027 .
Modifies the candidate gathering code to call `filter_fn` on extern crates, which causes them to be filtered out when looking for a type.
2019-03-25 16:34:15 +00:00
Esteban Küber
4beea1720a
Deduplicate code for path suggestion
2019-03-24 19:43:02 -07:00
Esteban Küber
5390414379
Provide suggestion when using field access instead of path
...
When trying to access an associated constant as if it were a field of
an instance, provide a suggestion for the correct syntax.
2019-03-24 19:21:54 -07:00
Esteban Küber
66202c113a
Add nll test
2019-03-24 12:58:30 -07:00
Esteban Küber
ae883dc826
When moving out of a for loop head, suggest borrowing it
...
When encountering code like the following, suggest borrowing the for loop
head to avoid moving it into the for loop pattern:
```
fn main() {
let a = vec![1, 2, 3];
for i in &a {
for j in a {
println!("{} * {} = {}", i, j, i * j);
}
}
}
```
2019-03-24 11:46:13 -07:00
Esteban Küber
e929d19edc
review comments
2019-03-22 21:54:19 -07:00
Esteban Küber
ac3290e8d9
Add suggestion to use &*var when &str: From<String> is expected
2019-03-22 20:38:14 -07:00
Esteban Küber
81b876b6a3
Hide "type ascription is experimental error" unless it's the only one
...
In order to minimize the verbosity of common syntax errors that are parsed
as type ascription, hide the feature gate error unless there are no other
errors being emitted by the parser.
2019-03-22 19:50:18 -07:00
Esteban Küber
72a3089092
Only suggest let assignment for type ascription if we find an equals sign
2019-03-22 19:50:18 -07:00
Esteban Küber
b1a6c32660
Tweak labels
2019-03-22 19:50:18 -07:00
Esteban Küber
8ba1a97e37
Expand suggestions for type ascription parse errors
2019-03-22 19:50:18 -07:00
bors
2210e9a6a9
Auto merge of #59035 - estebank:closure-instacall, r=davidtwco
...
When encountering `||{}()`, suggest the likely intended `(||{})()`
Fix #55851 .
2019-03-22 11:18:11 +00:00
Andy Russell
a9108ebb76
filter suggestions from extern prelude
2019-03-18 11:13:15 -04:00
Esteban Küber
0ea9b58029
Suggest adding lifetime to struct field
2019-03-12 18:18:29 -07:00
Esteban Küber
f9234767e4
review comments
2019-03-12 15:34:16 -07:00
Esteban Küber
795d307f10
Suggest return lifetime when there's only one named lifetime
2019-03-12 14:57:13 -07:00
Vadim Petrochenkov
fa72a81bea
Update tests
2019-03-11 23:10:26 +03:00
Esteban Küber
9aa89b2523
When encountetring ||{}(), suggest the likely intended (||{})()
2019-03-08 19:08:28 -08:00
Pietro Albini
3005b4d918
Rollup merge of #58883 - estebank:unused-closure-arg, r=varkor
...
Suggest appropriate code for unused field when destructuring pattern
Fix #56472 .
2019-03-08 09:41:47 +01:00
Pietro Albini
4fbeb11374
Rollup merge of #58877 - estebank:macro-borrow, r=davidtwco
...
Suggest removal of `&` when borrowing macro and appropriate
Fix #58815 .
2019-03-08 09:41:45 +01:00
Esteban Küber
9e8a62b734
On return type impl Trait for block with no expr point at last semi
2019-03-04 13:17:54 -08:00
Esteban Küber
df852c0d79
Suggest appropriate code for unused field when desrtucturing patttern
...
Fix #56472 .
2019-03-02 15:16:53 -08:00