Commit graph

54 commits

Author SHA1 Message Date
Dylan DPC
6545985888
Rollup merge of #76274 - scottmcm:fix-76271, r=petrochenkov
Allow try blocks as the argument to return expressions

Fixes #76271

I don't think this needs to be edition-aware (phew) since `return try` in 2015 is also the start of an expression, just with a struct literal instead of a block (`return try { x: 4, y: 5 }`).
2020-09-07 01:17:46 +02:00
Scott McMurray
791f93c796 Allow try blocks as the argument to return expressions
Fixes 76271
2020-09-02 23:39:50 -07:00
Dan Aloni
07e7823c01 pretty: trim paths of unique symbols
If a symbol name can only be imported from one place for a type, and
as long as it was not glob-imported anywhere in the current crate, we
can trim its printed path and print only the name.

This has wide implications on error messages with types, for example,
shortening `std::vec::Vec` to just `Vec`, as long as there is no other
`Vec` importable anywhere.

This adds a new '-Z trim-diagnostic-paths=false' option to control this
feature.

On the good path, with no diagnosis printed, we should try to avoid
issuing this query, so we need to prevent trimmed_def_paths query on
several cases.

This change also relies on a previous commit that differentiates
between `Debug` and `Display` on various rustc types, where the latter
is trimmed and presented to the user and the former is not.
2020-09-02 22:26:37 +03:00
Yuki Okushi
ca462d36ff
Rollup merge of #75359 - lcnr:unused-delims-trim, r=oli-obk
unused_delims: trim expr

improves rustfix output.
2020-08-11 16:23:57 +09:00
Esteban Küber
54f1b43130 Add missing primary label 2020-08-10 12:04:10 -07:00
Bastian Kauschke
66db8e52d7 unused_delims: trim expr 2020-08-10 12:04:51 +02:00
Yuki Okushi
ec31b4e3a8
Audit uses of span_suggestion_short 2020-07-02 15:18:33 +09:00
Bastian Kauschke
81a3cd7278 allow try as scrutinee, e.g. match try ... 2020-04-14 18:39:20 +02:00
RoccoDev
b85c64c3ea
rustc: Add a warning count upon completion 2020-04-11 16:15:24 +02:00
Esteban Küber
854b78fe22 Normalize wording of privacy access labels 2020-03-22 15:36:54 -07:00
Eduard-Mihai Burtescu
4c7eb59e81 rustc_macros: don't limit the -Zmacro-backtrace suggestion to extern macros. 2020-02-06 21:46:38 +02:00
Eduard-Mihai Burtescu
f6fc80206e rustc: rename -Zexternal-macro-backtrace to -Zmacro-backtrace. 2020-02-06 21:32:07 +02:00
varkor
24a2929ed1 Normalise notes with the/is 2020-01-24 16:24:50 +00:00
Esteban Küber
4f25c618ad Rework raw ident suggestions
Use heuristics to determine whethersuggesting raw identifiers is
appropriate.

Account for raw identifiers when printing a path in a `use` suggestion.
2019-11-23 17:06:34 -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
Esteban Küber
0baf61bfdb Increase spacing for suggestions in diagnostics
Make the spacing between the code snippet and verbose structured
suggestions consistent with note and help messages.
2019-10-24 12:26:01 -07:00
Guillaume Gomez
9f392c43dc Update ui tests 2019-10-13 22:10:03 +02:00
Alex Zatelepin
cb4ed52fd0 fix test after rebase 2019-10-01 17:49:19 +03:00
Alex Zatelepin
ffa526937e address review comments 2019-10-01 17:49:19 +03:00
Alex Zatelepin
c474c6e825 add tests 2019-10-01 17:48:37 +03:00
Alexander Regueiro
022d9c8eb5 Fixed grammar/style in error messages and reblessed tests. 2019-09-06 03:46:08 +01:00
Esteban Küber
65b731908a Explain that ? converts the error type using From 2019-05-17 12:18:56 -07:00
varkor
7f0f0e31ec Remove double trailing newlines 2019-04-22 16:57:01 +01:00
Mazdak Farrokhzad
37f835cd18
Rollup merge of #60064 - estebank:issue-59980, r=varkor
Point at try `?` on errors affecting the err match arm of the desugared code

Fix #59980.
2019-04-19 06:03:23 +02:00
Andy Russell
b6f148c8bd
hide --explain hint if error has no extended info 2019-04-18 13:29:28 -04:00
Esteban Küber
1e99b2ec9d Give custom error for E0277 on ? error case 2019-04-17 19:50:50 -07:00
Esteban Küber
007b40be01 Point at try ? on errors affecting the err match arm of the desugared code 2019-04-17 18:30:26 -07:00
Mazdak Farrokhzad
449697b7ff
Rollup merge of #59835 - lzutao:nonzero-signed, r=Mark-Simulacrum
Re-export NonZero signed variant in std

Closes  #59834 .
2019-04-14 00:23:39 +02:00
Mazdak Farrokhzad
8f111951a1
Rollup merge of #59847 - Kampfkarren:try-block-catch, r=estebank
Error when using `catch` after `try`

Part of https://github.com/rust-lang/rust/issues/31436
2019-04-12 20:36:11 +02:00
Kampfkarren
1156ce6f54 Feedback 2019-04-10 19:22:43 -07:00
Kampfkarren
4af7cf37d4 Fix tests, I think 2019-04-10 14:39:51 -07:00
Kampfkarren
2b6143126d Fix error brought up by changing tabs to spaces 2019-04-10 12:14:53 -07:00
Kampfkarren
de02dd96fd Adhere to tidy script 2019-04-10 10:41:47 -07:00
Kampfkarren
4a938b5b3c Special error when using catch after try 2019-04-10 10:35:48 -07:00
Lzu Tao
404df312d3 Update ui test 2019-04-10 06:33:43 +00:00
Vadim Petrochenkov
fa72a81bea Update tests 2019-03-11 23:10:26 +03:00
Scott McMurray
9312ca10b6 Add a note about 2018e if someone uses try { in 2015e 2019-02-17 23:55:45 -08:00
Esteban Küber
5e9c8d7369 When using value after move, point at span of local
When trying to use a value after move, instead of using a note, point
at the local declaration that has a type that doesn't implement `Copy`
trait.
2019-01-24 10:36:50 -08:00
bors
8e9774ffcf Auto merge of #57475 - SimonSapin:signed, r=estebank
Add signed num::NonZeroI* types

Multiple people have asked for them in https://github.com/rust-lang/rust/issues/49137. Given that the unsigned ones already exist, they are very easy to add and not an additional maintenance burden.
2019-01-22 05:42:11 +00:00
Simon Sapin
e195ce654a Fix some non-determinism in help messages for E0277 errors.
The diagnostic for this error prints `the following implementations
were found` followed by the first N relevant impls, sorted.

This commit makes the sort happen before slicing,
so that the set of impls being printed is deterministic
when the input is not.
2019-01-21 18:41:53 +01:00
Simon Sapin
9be4c76910 Add signed num::NonZeroI* types
Multiple people have asked for them, in
https://github.com/rust-lang/rust/issues/49137.
Given that the unsigned ones already exist,
they are very easy to add and not an additional maintenance burden.
2019-01-17 17:32:55 +01:00
Andy Russell
93b55365b5
use structured macro and path resolve suggestions 2019-01-15 11:27:58 -05:00
bors
a36b960df6 Auto merge of #57250 - codeworm96:tyerr_msg, r=varkor
Improve type mismatch error messages

Closes #56115.

Replace "integral variable" with "integer" and replace "floating-point variable" with "floating-point number" to make the message less confusing.

TODO the book and clippy needs to be changed accordingly later.

r? @varkor
2019-01-02 11:59:15 +00:00
Yuning Zhang
710dcbd381 Improve type mismatch error messages
Replace "integral variable" with "integer" and replace
"floating-point variable" with "floating-point number" to make the
message less confusing.
2018-12-31 20:43:08 -05:00
Esteban Küber
2cd0d14eb1 Address review comments
- Suggest raw ident escaping in all editions
- Keep primary label in all cases
2018-12-31 08:24:00 -08:00
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00