Vadim Petrochenkov
2a9b75281b
Move special treatment of derive(Copy, PartialEq, Eq) from expansion infrastructure to elsewhere
2019-08-03 23:57:35 +03:00
Mazdak Farrokhzad
e933f54793
Rollup merge of #62772 - estebank:trait-bound, r=matthewjasper
...
Suggest trait bound on type parameter when it is unconstrained
Given
```
trait Foo { fn method(&self) {} }
fn call_method<T>(x: &T) {
x.method()
}
```
suggest constraining `T` with `Foo`.
Fix #21673 , fix #41030 .
2019-07-24 16:13:14 +02:00
bors
fe499a7b34
Auto merge of #62684 - petrochenkov:scopevisit, r=davidtwco
...
resolve: Improve candidate search for unresolved macro suggestions
Use same scope visiting machinery for both collecting suggestion candidates and actually resolving the names.
The PR is better read in per-commit fashion with whitespace changes ignored (the first commit in particular moves some code around).
This should be the last pre-requisite for https://github.com/rust-lang/rust/pull/62086 .
r? @davidtwco
2019-07-19 00:24:39 +00:00
Esteban Küber
f22bc2d3ff
Suggest trait bound on type parameter when it is unconstrained
...
Given
```
mented on Jan 26, 2015 •
trait Foo { fn method(&self) {} }
fn call_method<T>(x: &T) {
x.method()
}
```
suggest constraining `T` with `Foo`.
2019-07-18 11:50:50 -07:00
Mark Rousskov
0ae9048494
Rollup merge of #62764 - fakenine:normalize_use_of_backticks_compiler_messages_p7, r=alexreg
...
normalize use of backticks in compiler messages for librustc/lint
https://github.com/rust-lang/rust/issues/60532
2019-07-18 11:29:53 -04:00
Vadim Petrochenkov
79f0d88de8
resolve: Use feature(custom_attribute) fallback only if the feature is enabled
...
Normally `#![feature(...)]` shouldn't change behavior, but custom attributes in particular are in the process of retirement, and we should not produce a message telling to enable them.
It also helps with unifying diagnostics for unresolved macros.
2019-07-18 13:42:45 +03:00
Samy Kacimi
e5e1397adb
normalize use of backticks in compiler messages for librustc/lint
...
https://github.com/rust-lang/rust/issues/60532
2019-07-17 22:49:48 +02:00
Limira
b7cbd4ec47
Update the help message on error for self type
2019-07-16 11:30:48 +07:00
Lzu Tao
8347917dd9
Remove feature gate dropck_parametricity completely
...
Therefore we also remove `#[unsafe_destructor_blind_to_params]`
attribute completly.
2019-07-11 18:44:56 +00:00
Lzu Tao
ab3adf380d
Replace unsafe_destructor_blind_to_params with may_dangle
2019-07-11 18:14:56 +00:00
Samy Kacimi
41e71b0c93
normalize use of backticks in compiler messages for libsyntax/feature_gate
...
https://github.com/rust-lang/rust/issues/60532
2019-07-09 14:13:28 +02:00
Yuki Okushi
c004451a20
Migrate compile-pass annotations to build-pass
2019-07-03 06:30:28 +09:00
Matthew Jasper
8ffa408059
Update tests for changes to cannot move errors
2019-06-03 14:55:29 +01:00
bors
c57ed9d947
Auto merge of #61331 - estebank:fn-arg-parse-recovery, r=varkor
...
Recover gracefully from argument with missing type or param name
2019-06-03 05:40:53 +00:00
Esteban Küber
9616b333b2
review comment: tweak wording
2019-06-01 14:47:15 -07:00
Esteban Küber
ebbe725dd0
Tweak wording
2019-05-31 20:48:09 -07:00
Esteban Küber
65c2a7b18b
Alternative wording for inference failure
2019-05-31 18:33:59 -07:00
Esteban Küber
8bb094dac5
Add more detail to type inference error
...
When encountering code where type inference fails, add more actionable
information:
```
fn main() {
let foo = Vec::new();
}
```
```
error[E0282]: type annotations needed for `std::vec::Vec<_>`
--> $DIR/vector-no-ann.rs:2:16
|
LL | let foo = Vec::new();
| --- ^^^^^^^^ cannot infer type for `T`
| |
| consider giving `foo` the type `std::vec::Vec<_>` with the type parameter `T` specified
```
We still need to modify type printing to optionally accept a
`TypeVariableTable` in order to properly print `std::vec::Vec<T>`.
CC #25633 .
2019-05-31 18:33:59 -07:00
Esteban Küber
b3ac88ad92
Recover gracefully from argument with missing type or param name
2019-05-30 17:59:05 -07:00
memoryruins
eb4580a570
Update ui test suite to use dyn
2019-05-29 00:57:31 -04:00
Esteban Küber
8895fb945d
Account for &String + String
2019-05-17 10:45:54 -07:00
Esteban Küber
ee0bf5e6aa
review comments
2019-05-16 21:09:39 -07:00
Esteban Küber
2cb91816f2
Fix binop span
2019-05-16 19:56:11 -07:00
Esteban Küber
234adf84bd
Handle more string addition cases with appropriate suggestions
2019-05-16 19:29:02 -07:00
varkor
497dcfa221
Update ui tests
2019-04-23 11:42:14 +01:00
varkor
62838975d0
Remove unnecessary ignore-tidy-linelength
2019-04-23 11:42:14 +01:00
varkor
7f0f0e31ec
Remove double trailing newlines
2019-04-22 16:57:01 +01: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
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
Masaki Hara
e55d82c8a3
Fix expectations on some ui tests involving FnOnce.
2019-04-05 02:26:59 +08: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
fda206633d
Rollup merge of #59467 - hgallagher1993:local_branch, r=estebank
...
Better diagnostic for binary operation on BoxedValues
Fixes #59458
2019-03-29 12:32:26 +01:00
hgallagher1993
4644c3a6aa
Add check for when left and right overlap and change span for explanation to point at operator
2019-03-28 13:54:29 -04:00
Esteban Küber
0acb7867c2
Do not suggest borrowing when the span comes from a macro
2019-03-27 19:35:30 -07:00
hgallagher1993
4d648ce1b9
Better diagnostic for binary operation on BoxedValues
2019-03-27 13:13:09 -04: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
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
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
Esteban Küber
87dd2e1df9
Use hidden suggestions for unused imports lint
2019-02-11 11:16:22 -08:00
Pietro Albini
5ef71508fe
unused_imports: update tests
2019-02-08 08:44:56 +01:00
David Wood
5f021e0023
Unused variable suggestions on all patterns.
...
This commit extends existing suggestions to prefix unused variable
bindings in match arms with an underscore so that it applies to all
patterns in a match arm.
2019-01-28 10:46:31 +01:00
Esteban Küber
d37a6d83e1
Suggest usage of angle brackets
2019-01-19 19:39:58 -08:00
Mazdak Farrokhzad
0b7d8f99ed
Rollup merge of #57477 - euclio:clarify-lev-suggestion, r=zackmdavis
...
clarify resolve typo suggestion
Include the kind of the binding that we're suggesting, and use a
structured suggestion.
Fixes #53445 .
2019-01-14 11:31:53 +01:00
Andy Russell
404ad50d14
clarify resolve typo suggestion
...
Include the kind of the binding that we're suggesting, and use a
structured suggestion.
2019-01-09 14:11:00 -05:00
Andy Russell
7c0d145ec1
improve non_snake_case diagnostics
...
Use a structured suggestion and tighten the span to just the identifier.
2019-01-08 13:24:38 -05:00
Vadim Petrochenkov
10a00e120d
Make sure feature gate errors are recoverable (take 2)
2019-01-06 14:58:17 +03:00
Matthew Jasper
afb7c06834
Remove unused nll debug flags
2018-12-30 20:44:44 +00:00