Commit graph

36 commits

Author SHA1 Message Date
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
ea70fb7567 Do not trigger unreachable lint in async body and Use span labels 2019-09-21 13:04:04 -07:00
Aaron Hill
822393d690
Point at original span when emitting unreachable lint
Fixes #64590

When we emit an 'unreachable' lint, we now add a note pointing at the
expression that actually causes the code to be unreachable (e.g.
`return`, `break`, `panic`).

This is especially useful when macros are involved, since a diverging
expression might be hidden inside of a macro invocation.
2019-09-18 18:35:10 -04:00
Esteban Küber
bc1a4f52e3 review comments: typo and rewording 2019-08-09 07:18:05 -07:00
Esteban Küber
33d1082d6e review comment: review wording or missing return error 2019-08-09 07:18:05 -07:00
Esteban Küber
efa62d66e3 Tweak wording of fn without explicit return 2019-08-09 07:18:05 -07:00
Esteban Küber
01a61394f8 Change wording for function without return value
Fix #62677
2019-08-09 07:18:05 -07: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
Mazdak Farrokhzad
547735457f Make WhileTrue into an EarlyLintPass lint. 2019-07-06 06:43:58 +02:00
Matthew Jasper
8eef102270 update tests for migrate mode by default 2019-04-22 08:40:08 +01:00
Mathias Blikstad
faed3a2b19 Updated UI test output to remove test annotations for revisions 2019-03-17 17:00:18 +01: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
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
baa0828ee3 Fix --compare-mode=nll tests 2019-01-24 10:53:43 -08:00
Mazdak Farrokhzad
5b9e02a39c
Rollup merge of #57723 - estebank:fix, r=davidtwco
Point at cause for expectation in return type type error

Various improvements and fixes for type errors in return expressions.

Fix #57664.
2019-01-19 19:41:22 +01:00
Mazdak Farrokhzad
0dd4bfa356
Rollup merge of #57302 - sinkuu:unused_assignments_fp, r=estebank
Fix unused_assignments false positive

Fixes #22630.

In liveness analysis, make `continue` jump to the loop condition's `LiveNode` (`cond` as in comment) instead of the loop's one (`expr`).

069b0c4108/src/librustc/middle/liveness.rs (L1358-L1370)
2019-01-18 22:56:39 +01:00
Esteban Küber
2e06d9c91b Point at return type when appropriate 2019-01-18 00:12:09 -08:00
bors
ad9068f874 Auto merge of #57230 - estebank:return-mismatch, r=varkor
Modify mismatched type error for functions with no return

Fix #50009.

```
error[E0308]: mismatched types
  --> $DIR/coercion-missing-tail-expected-type.rs:3:24
   |
LL | fn plus_one(x: i32) -> i32 { //~ ERROR mismatched types
   |    --------            ^^^ expected i32, found ()
   |    |
   |    this function's body doesn't return
LL |     x + 1;
   |          - help: consider removing this semicolon
   |
   = note: expected type `i32`
              found type `()`
```

instead of

```
error[E0308]: mismatched types
  --> $DIR/coercion-missing-tail-expected-type.rs:3:28
   |
LL |   fn plus_one(x: i32) -> i32 { //~ ERROR mismatched types
   |  ____________________________^
LL | |     x + 1;
   | |          - help: consider removing this semicolon
LL | | }
   | |_^ expected i32, found ()
   |
   = note: expected type `i32`
              found type `()`
```
2019-01-05 22:25:47 +00:00
Shotaro Yamada
6bae4a763d Fix unused_assignments false positive
Make `continue` jump to the loop condition's `LiveNode` instead of one
of the loop body.
2019-01-03 23:25:41 +09:00
Esteban Küber
5d086c3282 Tweak E0308 error for clarity 2018-12-30 21:59:27 -08:00
Esteban Küber
f62f540b4e Point at function name span 2018-12-30 15:41:19 -08:00
Esteban Küber
1f65dc0770 Point at the return type span on type mismatch due to missing return
Do not point at the entire block span on fn return type mismatches
caused by missing return.
2018-12-30 13:55:00 -08:00
csmoe
48de0ff333 add non-copy note to stderr 2018-12-29 10:36:23 +08:00
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
Andy Russell
6474de904c
make non_camel_case_types an early lint 2018-12-24 12:58:52 -05:00
John Ginger
c0e3f4b8bb Change to give a help message 2018-12-07 14:15:36 +00:00
John Ginger
4cf5702d52 Fix stderr files 2018-12-03 10:28:19 +00:00
Felix S. Klock II
5b748434af updates to expected output for other ui tests. 2018-10-16 17:11:36 +02:00
Rusty Blitzerr
671e77d60b test fix for #54015 2018-09-28 18:24:17 -07: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
783bad4295
De-duplicate moved variable errors.
By introducing a new map that tracks the errors reported and the
`Place`s that spawned those errors against the move out that the error
was referring to, we are able to silence duplicate errors by emitting
only the error which corresponds to the most specific `Place` (that which
other `Place`s which reported errors are prefixes of).

This generally is an improvement, however there is a case -
`liveness-move-in-while` - where the output regresses.
2018-09-18 13:51:41 +02:00
Andy Russell
d871b8ad4a
use structured suggestion for "missing mut" label
Fixes #54133.
2018-09-12 17:16:18 -04:00
David Wood
3fc7ab2373
Merged migrated compile-fail tests and ui tests. Fixes #46841. 2018-08-14 11:12:09 +02:00