Commit graph

392 commits

Author SHA1 Message Date
Dylan DPC
fa7fb932cc
Rollup merge of #71426 - contrun:fix-e0751-explanation, r=estebank
fix error code in E0751.md

reference: https://github.com/rust-lang/rust/issues/71304
2020-04-24 02:47:35 +02:00
Dylan DPC
47e2687a4e
Rollup merge of #71461 - GuillaumeGomez:improve-e0567, r=Dylan-DPC
Improve E0567 explanation

r? @Dylan-DPC
2020-04-23 15:57:19 +02:00
Dylan DPC
4ae7037582
Rollup merge of #71396 - DeeDeeG:improve-e0308-again, r=estebank
Improve E0308 error message wording again

Hello again,

I recently did this PR: #70242

I felt the error message could be further improved, so I made [a post on the Rust community forum](https://users.rust-lang.org/t/looking-for-feedback-on-an-improved-error-message-for-e0308/40004) to ask for feedback.

(Also, there were some comments on my original PR that I took into consideration as well.)

This PR is my attempt to take all the feedback into account and propose a better and simplified error message that should still be accurate. Its main benefit is having simpler grammar, and hopefully being easier to read and understand.

Thanks to everyone who commented and gave feedback, and thank you for taking a look at this PR.
2020-04-23 15:57:14 +02:00
Guillaume Gomez
cffd4b699e Improve E0567 explanation 2020-04-23 13:17:00 +02:00
YI
baac961fb5 fix error code for E0751 2020-04-23 15:46:05 +08:00
Dylan DPC
d3e24bd457
Rollup merge of #71350 - GuillaumeGomez:error-code-explanation-extra-check, r=oli-obk
Error code explanation extra check

r? @Mark-Simulacrum
2020-04-22 23:19:20 +02:00
Dylan DPC
7939a4d728
Rollup merge of #71370 - PankajChaudhary5:ErrorCode-E0696, r=GuillaumeGomez
Added detailed error code explanation for issue E0696 in Rust compiler.

Added proper error explanation for issue E0696 in the Rust compiler.
Error Code E0696

Sub Part of Issue #61137

r? @GuillaumeGomez
2020-04-22 16:41:12 +02:00
Guillaume Gomez
5cdea2d605 Fix new tidy checks 2020-04-22 15:10:07 +02:00
Guillaume Gomez
3390ff97b2 Add error code to inner doc comment attribute error 2020-04-22 11:08:50 +02:00
Yuki Okushi
66eaead0e2
Rollup merge of #71399 - rust-lang:cleanup-e0554, r=Dylan-DPC
Clean up E0554 explanation

r? @Dylan-DPC
2020-04-22 10:34:12 +09:00
Yuki Okushi
3efa70fafd
Rollup merge of #71390 - aticu:master, r=Dylan-DPC
Fix incorrect description of E0690

r? @steveklabnik
2020-04-22 10:34:10 +09:00
Yuki Okushi
24fb393207
Rollup merge of #70998 - estebank:suggest-impl-trait-empty-fn, r=varkor
Suggest `-> impl Trait` and `-> Box<dyn Trait>` on fn that doesn't return

During development, a function could have a return type set that is a
bare trait object by accident. We already suggest using either a boxed
trait object or `impl Trait` if the return paths will allow it. We now
do so too when there are *no* return paths or they all resolve to `!`.
We still don't handle cases where the trait object is *not* the entirety
of the return type gracefully.

Closes #38376.
2020-04-22 10:34:03 +09:00
Guillaume Gomez
410fc9da3b
Clean up E0554 explanation 2020-04-21 21:40:29 +02:00
DeeDeeG
57c2712895 Improve E0308 error message wording again 2020-04-21 15:06:24 -04:00
aticu
e2901c48cf Fix incorrect description of E0690 2020-04-21 18:13:58 +02:00
pankajchaudhary5
e5b68bc719 Added proper explanation error code E0696 2020-04-21 20:09:07 +05:30
Dylan DPC
e3a514c44a
Rollup merge of #71174 - Nokel81:fix-async-main-error, r=petrochenkov
Check that main/start is not async

* Add new error code E0752
* Add span to hir::IsAsync::Yes
* Emit an error if main or the start function is marked as async
* Add two regression tests

This PR fixes #68523.
2020-04-21 00:30:55 +02:00
Esteban Küber
e536257061 Ensure tail expression will have a Ty for E0746
When the return type is `!Sized` we look for all the returned
expressions in the body to fetch their types and provide a reasonable
suggestion. The tail expression of the body is normally evaluated after
checking whether the return type is `Sized`. Changing the order of the
evaluation produces undesirable knock down effects, so we detect the
specific case that newcomers are likely to encounter ,returning a single
bare trait object, and only in that case we evaluate the tail
expression's type so that the suggestion will be accurate.
2020-04-20 11:17:03 -07:00
Sebastian Malton
6120acec87 Check that main/start is not async
* Add new error code E0752
* Add span to hir::IsAsync::Yes
* Emit an error if main or the start function is marked as async
* Add two regression tests

Fix formatting errors and bless test outputs
* move tests to ui/async-await

fix test error text

remove span from IsAsync
2020-04-20 09:37:11 -04:00
Dylan DPC
1d2532bdf6
Rollup merge of #71319 - GuillaumeGomez:cleanup-e0522, r=Dylan-DPC
Clean up E0522 explanation

r? @Dylan-DPC
2020-04-19 15:12:42 +02:00
Guillaume Gomez
ca6eb2c2b2 Clean up E0522 explanation 2020-04-19 13:19:44 +02:00
Dylan DPC
abd72f7fc2
Rollup merge of #70578 - PankajChaudhary5:master, r=GuillaumeGomez
Add long error explanation for E0657

Added proper error explanation for issue E0657 in the Rust compiler.

Part of #61137

r? @GuillaumeGomez
2020-04-17 03:05:11 +02:00
Dylan DPC
c68c71e24e
Rollup merge of #70611 - pawanbisht62:doc/61137-add-long-error-code-e0708, r=GuillaumeGomez
Add long error explanation for E0708 #61137

Add long explanation for the E0708 error code
Part of #61137

r? @GuillaumeGomez
2020-04-16 23:34:41 +02:00
Dylan DPC
9d28dfee78
Rollup merge of #71191 - GuillaumeGomez:cleanup-e0520, r=Dylan-DPC
Clean up E0520 explanation

r? @Dylan-DPC
2020-04-16 16:34:32 +02:00
Guillaume Gomez
6b83d0851f Clean up E0520 explanation 2020-04-16 13:51:02 +02:00
Dylan DPC
41dc51ead8
Rollup merge of #71166 - GuillaumeGomez:cleanup-e0518, r=Dylan-DPC
Clean up E0518 explanation

r? @Dylan-DPC
2020-04-16 00:39:27 +02:00
Guillaume Gomez
0fcdefb559 Clean up E0518 explanation 2020-04-15 14:20:40 +02:00
Dylan DPC
03167297aa
Rollup merge of #71120 - GuillaumeGomez:cleanup-e0517, r=Dylan-DPC
Clean up E0517 explanation

r? @Dylan-DPC
2020-04-14 15:35:30 +02:00
Guillaume Gomez
eed4b219e2 Clean up E0517 explanation 2020-04-14 13:26:17 +02:00
PankajChaudhary5
908436f3bb Add proper explanation of error code E0657 2020-04-13 13:36:22 +05:30
Dylan DPC
e684630666
Rollup merge of #71057 - GuillaumeGomez:cleanup-e0516, r=Dylan-DPC
Clean up E0516 explanation

r? @Dylan-DPC
2020-04-12 14:49:10 +02:00
Dylan DPC
b3372ba1d0
Rollup merge of #71034 - GuillaumeGomez:cleanup-e0515, r=Dylan-DPC
Clean up E0515 explanation

r? @Dylan-DPC
2020-04-12 14:49:03 +02:00
Guillaume Gomez
d0b23d5b83 Clean up E0516 explanation 2020-04-12 13:58:05 +02:00
bishtpawan
26fdde994d Add long error explanation for E0708 #61137
Refactor code as per the suggestions

Refacotor code

provide edition support
2020-04-12 17:22:59 +05:30
Guillaume Gomez
e2e41c9527 Clean up E0515 explanation 2020-04-11 18:58:03 +02:00
Mazdak Farrokhzad
d36991a400
Rollup merge of #70985 - GuillaumeGomez:cleanup-e0512, r=Dylan-DPC
Clean up E0512 explanation

r? @Dylan-DPC
2020-04-10 18:15:26 +02:00
Guillaume Gomez
1d01ce2392 Clean up E0512 explanation 2020-04-10 13:19:49 +02:00
Mazdak Farrokhzad
54807cab1d
Rollup merge of #70952 - GuillaumeGomez:cleanup-e0511, r=Dylan-DPC
Clean up E0511 explanation

r? @Dylan-DPC
2020-04-10 12:48:48 +02:00
Mazdak Farrokhzad
74e93bb8e6
Rollup merge of #70913 - eddyb:rc-arc-diagnostic-items, r=matthewjasper
Replace "rc"/"arc" lang items with Rc/Arc diagnostic items.

`Rc`/`Arc` should have no special semantics, so it seems appropriate for them to not be lang items.

r? @matthewjasper
2020-04-10 12:48:45 +02:00
Guillaume Gomez
44daa4521a Clean up E0511 explanation 2020-04-09 13:48:11 +02:00
Mazdak Farrokhzad
4f00396f14
Rollup merge of #70916 - Centril:track-caller-ffi, r=eddyb
Support `#[track_caller]` on functions in `extern "Rust" { ... }`

Fixes https://github.com/rust-lang/rust/issues/70830 which is the follow-up to @eddyb's suggestion in https://github.com/rust-lang/rust/pull/69251#discussion_r380791634 to allow `#[track_caller]` on `fn`s in FFI imports, that is, on functions in `extern "Rust" { ... }` blocks.

This requires that the other side, the FFI export, also have the `#[track_caller]` attribute. Otherwise, undefined behavior is triggered and the blame lies, as usual, with the `unsafe { ... }` block which called the FFI imported function.

After this PR, all forms of `fn` items with the right ABI (`"Rust"`) support `#[track_caller]`.

As a drive-by, the PR also hardens the check rejecting `#[naked] #[track_caller]` such that methods and other forms of `fn` items are also considered.

r? @eddyb
cc @rust-lang/lang
2020-04-09 05:29:45 +02:00
Mazdak Farrokhzad
45589b52fe track_caller: support on FFI imports 2020-04-09 04:55:05 +02:00
Dylan DPC
1498da87c2
Rollup merge of #70927 - GuillaumeGomez:cleanup-e0510, r=Dylan-DPC
Clean up E0510 explanation

r? @Dylan-DPC
2020-04-08 18:37:31 +02:00
Dylan DPC
66966667b5
Rollup merge of #70883 - GuillaumeGomez:cleanup-e0507, r=Dylan-DPC
Clean up E0507 explanation

r? @Dylan-DPC
2020-04-08 18:37:25 +02:00
Guillaume Gomez
80e3126ec1 Clean up E0510 explanation 2020-04-08 15:05:52 +02:00
Eduard-Mihai Burtescu
9d13520a6b Replace "rc"/"arc" lang items with Rc/Arc diagnostic items. 2020-04-08 10:47:41 +03:00
Guillaume Gomez
6569a2ec1b Clean up E0507 explanation 2020-04-07 14:08:04 +02:00
Dylan DPC
6e412786de
Rollup merge of #70839 - GuillaumeGomez:cleanup-e0506, r=Dylan-DPC
clean up E0506 explanation

r? @Dylan-DPC
2020-04-07 00:31:41 +02:00
Dylan DPC
7500bcfbb2
Rollup merge of #70690 - GuillaumeGomez:cleanup-e0501, r=Dylan-DPC
Clean up E0501 explanation

r? @Dylan-DPC
2020-04-07 00:31:38 +02:00
Guillaume Gomez
84c97ee9a0 Clean up E0501 explanation 2020-04-06 18:12:42 +02:00