| Age | Commit message (Collapse) | Author | Lines |
|
Remove the old AST-based backend from rustc_trans.
Starting with Rust 1.13, `--disable-orbit` , `-Z orbit=off` and `#[rustc_no_mir]` have been removed.
Only the new MIR backend is left in the compiler, and only early const_eval uses ASTs from other crates.
Filling drop (previously "zeroing drop"), `#[unsafe_no_drop_flag]` and associated unstable APIs are gone.
Implementing `Drop` doesn't add a flag anymore to the type, all of the dynamic drop is function local.
This is a [breaking-change], please use `Option::None` and/or `mem::forget` if you are unsure about your ability to prevent/control the drop of a value. In the future, `union` will be usable in some such cases.
**NOTE**: DO NOT MERGE before we get the new beta as the stage0, there's some cruft to remove.
All of this will massively simplify any efforts to implement (and as such it blocks) features such as `union`s, safe use of `#[packed]` or new type layout optimizations, not to mention many other experiments.
|
|
|
|
|
|
Update E0445 and E0454 to new error format
Fixes #35922.
Fixes #35930.
Part of #35233.
r? @GuillaumeGomez
|
|
Err codes
r? @jonathandturner
|
|
typeck: use NoExpectation to check return type of diverging fn
Fixes #35849.
Thanks @eddyb.
|
|
Fixes #35922.
Fixes #35930.
Part of #35233.
r? @GuillaumeGomez
|
|
|
|
|
|
|
|
Update E0195 to new error format
Fixes #35511
Part of #35233
r? @jonathandturner
|
|
...there is still one confusing thing – see the _BAZ functions, which
appear to be elided in the `compile-fail` test and defaulted in the
´run-pass` test (if you uncomment line 73).
|
|
This fixes #35849, a regression introduced by the typeck refactoring
around TyNever/!.
|
|
|
|
|
|
We want to catch this error:
```
if (foo)
bar;
```
as it's valid syntax in other languages, and say how to fix it.
Unfortunately it didn't care if the suggestion made sense and just
highlighted the unexpected token.
Now it attempts to parse a statement, and if it succeeds, it shows the
help message.
Fixes #35907
|
|
This is a work in progress. In particular, I want to add more tests,
especially the compile-fail test is very bare-bones.
|
|
|
|
E0435, E0437 & E0438 New Error Format
Part of #35801 , #35802 and #35803
r? @GuillaumeGomez
Hi! Please review the changes.
|
|
Update E0424 to the new error format
Fixes #35797.
Part of #35233.
r? @GuillaumeGomez
|
|
New format for E0426
Issue #35799 as a part of issue #35233
r? jonathandturner
|
|
Err codes
r? @jonathandturner
|
|
Updated E0054, E0423 & E0432 to new error format
Fixes #35791, #35796 and #35344, as part of #35233
r? @jonathandturner
|
|
Update E0503 to the new format
Fixes #35703
Part of #35233
r? @jonathandturner
|
|
Update E0033 to the new error format
Part of #35233
Addresses #35498
"r? @jonathandturner
|
|
Updated error message E0388
Fixes #35339 as part of #35233.
r? @GuillaumeGomez
|
|
|
|
|
|
|
|
|
|
|
|
Carrier trait (third attempt)
This adds a `Carrier` trait to operate with `?`. The only public implementation is for `Result`, so effectively the trait does not exist, however, it ensures future compatibility for the `?` operator. This is not intended to be used, nor is it intended to be a long-term solution.
Although this exact PR has not been through Crater, I do not expect it to be a breaking change based on putting numerous similar PRs though Crater in the past.
cc:
* [? tracking issue](https://github.com/rust-lang/rust/issues/31436)
* [previous PR](https://github.com/rust-lang/rust/pull/35056)
* [RFC issue](https://github.com/rust-lang/rfcs/issues/1718) for discussion of long-term Carrier trait solutions.
r? @nikomatsakis
|
|
resolve: More groundwork for `item_like_imports` (RFC 1560)
r? @nrc
|
|
Update lib.rs
Update lib.rs
Update E0438.rs
Update E0437.rs
Update E0435.rs
|
|
Fixes #35703
Part of #35233
|
|
Fixes #35797.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
|
|
Wording fixes in error messages
This PR is largely wording fixes to existing PRs that I found going back through the ones that have already been updated. Sometimes seeing the message in context made me think "oh there's a better wording!"
There's one additional fix. This will also prevent the secondary underlining of derive call (since they look like macros to the system in the way I was using):
```
error[E0184]: the trait `Copy` may not be implemented for this type; the type has a destructor
--> src/test/compile-fail/E0184.rs:11:10
|
11 | #[derive(Copy)] //~ ERROR E0184
| ^^^^
| |
| in this macro invocation
```
Is now just:
```
error[E0184]: the trait `Copy` may not be implemented for this type; the type has a destructor
--> src/test/compile-fail/E0184.rs:11:10
|
11 | #[derive(Copy)] //~ ERROR E0184
| ^^^^
```
|
|
Update E0428 to new format
Fixes #35798 as part of #35233.
r? @jonathandturner
|
|
Fix label messages for E0133
Issue #35789
|
|
Update error format for E0232
Fixes #35795, as part of #35233.
Excited to make my first contribution to rustc!
r? @jonathandturner
|
|
Update error message for E0084
Fixes #35792 as part of #35233
r? @jonathandturner
|
|
updated E0396 to new error format
Updated E0396 to new error format.
Part of #35233
Fixes #35779
Thanks again for letting me help!
r? @jonathandturner
|
|
updated E0395 to new error format
Updated E0395 to new error format.
Part of #35233
Fixes #35693
Thanks again for letting me help!
r? @jonathandturner
|
|
|
|
|
|
Issue #35799 as a part of issue #35233
?r jonathandturner
|
|
|
|
|
|
Issue #35789
|
|
The dummy impl should ensure the same type checking behaviour as having other (real) Carrier impls.
|