Commit Graph

5726 Commits

Author SHA1 Message Date
bors
6fd13fad93 Auto merge of #36058 - apasel422:tests, r=alexcrichton
Add tests for #20433, #26251, #28625, #33687

Closes #20433
Closes #26251
Closes #28625
Closes #33687
2016-08-28 07:28:20 -07:00
Andrew Paseltiner
7b9adfd574
Add tests for #20433, #26251, #28625, #33687
Closes #20433
Closes #26251
Closes #28625
Closes #33687
2016-08-27 18:37:27 -04:00
Jonathan Turner
d00a89a9ff Rollup merge of #36044 - mikhail-m1:master, r=jonathandturner
update error E0450 to new format

Fixes #35925 as part of #35233.

I've solve the bonus, and I wonder if any simpler way to do this. But may be possible simplify if let expressions?

r? @jonathandturner
2016-08-27 12:43:31 -07:00
Jonathan Turner
3bab26e6f3 Rollup merge of #36003 - GuillaumeGomez:err_codes, r=jonathandturner
Err codes

r? @jonathandturner
2016-08-27 12:43:31 -07:00
Jonathan Turner
1dbd49fc2a Rollup merge of #35989 - 0xmohit:pr/error-code-E0453, r=jonathandturner
Update E0453 to new error format

Fixes #35929.
Part of #35233.

r? @jonathandturner
2016-08-27 12:43:31 -07:00
Jonathan Turner
c8791f1a59 Rollup merge of #35985 - 0xmohit:pr/error-code-E0277, r=jonathandturner
Update E0277 to new error format

Fixes #35311.
Part of #35233.

r? @jonathandturner
2016-08-27 12:43:30 -07:00
Jonathan Turner
dc6ae4b669 Rollup merge of #35657 - ahmedcharles:e0389, r=jonathandturner
Update E0389 to the new format. #35630
2016-08-27 12:43:30 -07:00
Mikhail Modin
9c07ed2128 update error E0450 to new format 2016-08-27 19:39:22 +03:00
Manish Goregaokar
2b3921e0c3 Rollup merge of #36014 - slash3g:stabilize-type-macros, r=nikomatsakis
Stabilize type-macros

Closes #27245

r? @nikomatsakis
2016-08-27 09:31:15 +05:30
Manish Goregaokar
7a2a381e0e Rollup merge of #36002 - eddyb:abstract-kindness, r=nikomatsakis
Combine types and regions in Substs into one interleaved list.

Previously, `Substs` would contain types and regions, in two separate vectors, for example:
```rust
<X as Trait<'a, 'b, A, B>>::method::<'p, 'q, T, U>
/* corresponds to */
Substs { regions: ['a, 'b, 'p, 'q], types: [X, A, B, T, U] }
```

This PR continues the work started in #35605 by further removing the distinction.
A new abstraction over types and regions is introduced in the compiler, `Kind`.
Each `Kind` is a pointer (`&TyS` or `&Region`), with the lowest two bits used as a tag.
Two bits were used instead of just one (type = `0`, region = `1`) to allow adding more kinds.

`Substs` contain only a `Vec<Kind>`, with `Self` first, followed by regions and types (in the definition order):
```rust
Substs { params: [X, 'a, 'b, A, B, 'p, 'q, T, U] }
```
The resulting interleaved list has the property of being the concatenation of parameters for the (potentially) nested generic items it describes, and can be sliced back into those components:
```rust
params[0..5] = [X, 'a, 'b, A, B] // <X as Trait<'a, 'b, A, B>>
params[5..9] = ['p, 'q, T, U] // <_>::method::<'p, 'q, T, U>
```

r? @nikomatsakis
2016-08-27 09:31:14 +05:30
Manish Goregaokar
1385feb5ee Rollup merge of #35953 - Aatch:better-missing-block-error, r=nrc
Improve error message when failing to parse a block

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
2016-08-27 09:31:14 +05:30
Manish Goregaokar
b5969ca318 Rollup merge of #35877 - KiChjang:issue-35869, r=arielb1
Fix ICE when arg types can't be found in impl/trait methods while comparing

Fixes #35869.
2016-08-27 09:31:14 +05:30
Eduard Burtescu
7a8d4822d8 rustc: use Vec<Kind> in Substs, where Kind is a &TyS | &Region tagged pointer. 2016-08-27 01:15:07 +03:00
Guillaume Gomez
3e1b33dbdd Add new error code tests 2016-08-26 17:28:50 +02:00
Daniele Baracchi
ee055a1ff3
Stabilize type-macros
Closes #27245
2016-08-26 17:27:20 +02:00
Mohit Agarwal
88e4def9c7
Update E0453 to new error format
Fixes #35929.
Part of #35233.

r? @jonathandturner
2016-08-26 07:59:20 +05:30
Mohit Agarwal
874a20d01d
Update E0277 to new error format
Fixes #35311.
Part of #35233.

r? @jonathandturner
2016-08-25 18:26:04 +05:30
bors
0ccd5c802b Auto merge of #35971 - jonathandturner:rollup, r=jonathandturner
Rollup of 4 pull requests

- Successful merges: #35876, #35920, #35948, #35961
- Failed merges: #35395
2016-08-24 18:42:24 -07:00
bors
e9bc1bac8c Auto merge of #35764 - eddyb:byegone, r=nikomatsakis
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.
2016-08-24 14:57:34 -07:00
Keith Yeung
3d9cf30ddf More robust testing 2016-08-24 11:48:53 -07:00
Jonathan Turner
2932db19b5 Rollup merge of #35961 - 0xmohit:pr/error-codes-E0445-E0454, r=GuillaumeGomez
Update E0445 and E0454 to new error format

Fixes #35922.
Fixes #35930.
Part of #35233.

r? @GuillaumeGomez
2016-08-24 10:35:29 -07:00
Jonathan Turner
336841ccf9 Rollup merge of #35920 - GuillaumeGomez:err_codes, r=jonathandturner
Err codes

r? @jonathandturner
2016-08-24 10:35:29 -07:00
bors
03e23c7f9a Auto merge of #35883 - durka:gh35849, r=eddyb
typeck: use NoExpectation to check return type of diverging fn

Fixes #35849.

Thanks @eddyb.
2016-08-24 10:29:12 -07:00
Mohit Agarwal
11e9b8de7d Update E0445 and E0454 to new error format
Fixes #35922.
Fixes #35930.
Part of #35233.

r? @GuillaumeGomez
2016-08-24 17:43:51 +05:30
Eduard Burtescu
119508cdb4 Remove drop flags from structs and enums implementing Drop. 2016-08-24 13:23:37 +03:00
Eduard Burtescu
cb9b0ed91b Disable old trans access via -Z orbit, #[rustc_no_mir] or --disable-orbit. 2016-08-24 13:23:37 +03:00
Guillaume Gomez
5c5f483b40 Add new error code tests 2016-08-24 11:28:09 +02:00
Guillaume Gomez
142dc491e5 Rollup merge of #35939 - creativcoder:e0195, r=jonathandturner
Update E0195 to new error format

Fixes #35511
Part of #35233

r? @jonathandturner
2016-08-23 22:48:03 +02:00
Alex Burka
702ea7169c typeck: use NoExpectation to check return type of diverging fn
This fixes #35849, a regression introduced by the typeck refactoring
around TyNever/!.
2016-08-23 16:58:49 +00:00
Rahul Sharma
5ec6f39a65 Update E0195 to new error format 2016-08-23 22:07:27 +05:30
James Miller
72d629caa5 Improve error message when failing to parse a block
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
2016-08-23 18:23:31 +12:00
Ahmed Charles
f39700514d Update E0389 to the new format. #35630 2016-08-22 17:08:21 -07:00
Jonathan Turner
0c84ac124a Rollup merge of #35858 - shyaamsundhar:patch-1, r=GuillaumeGomez
E0435, E0437 & E0438 New Error Format

Part of #35801 , #35802 and #35803
r? @GuillaumeGomez

Hi! Please review the changes.
2016-08-22 15:34:21 -07:00
Jonathan Turner
cc51d1c21d Rollup merge of #35841 - kyrias:new-error-E0424, r=GuillaumeGomez
Update E0424 to the new error format

Fixes #35797.
Part of #35233.

r? @GuillaumeGomez
2016-08-22 15:34:20 -07:00
Jonathan Turner
ae83225afc Rollup merge of #35835 - crypto-universe:E0426, r=jonathandturner
New format for E0426

Issue #35799 as a part of issue #35233
r? jonathandturner
2016-08-22 15:34:20 -07:00
Jonathan Turner
025c5e7311 Rollup merge of #35824 - GuillaumeGomez:err_codes, r=jonathandturner
Err codes

r? @jonathandturner
2016-08-22 15:34:19 -07:00
Jonathan Turner
5523db8f2e Rollup merge of #35820 - knight42:update-error-msg, r=jonathandturner
Updated E0054, E0423 & E0432 to new error format

Fixes #35791, #35796 and #35344, as part of #35233

r? @jonathandturner
2016-08-22 15:34:19 -07:00
Jonathan Turner
40f40e6cd9 Rollup merge of #35817 - wesleywiser:fix_35703, r=jonathandturner
Update E0503 to the new format

Fixes #35703
Part of #35233

r? @jonathandturner
2016-08-22 15:34:19 -07:00
Jonathan Turner
f46438c71a Rollup merge of #35526 - munyari:e0033, r=jonathandturner
Update E0033 to the new error format

Part of #35233

Addresses #35498
"r? @jonathandturner
2016-08-22 15:34:19 -07:00
Jonathan Turner
ab734210f0 Rollup merge of #35360 - medzin:E0388, r=jonathandturner
Updated error message E0388

Fixes #35339 as part of #35233.

r? @GuillaumeGomez
2016-08-22 15:34:18 -07:00
Adam Medziński
bfbdff0e2d Updated error message E0388 2016-08-22 23:22:40 +02:00
ggomez
cdb4af848b Remove E0455 test (for now) 2016-08-22 14:53:28 +02:00
Knight
8fdc531446 Updated E0423 to new format 2016-08-22 13:57:37 +08:00
Knight
a4c6307a15 Updated E0432 to new format 2016-08-22 13:57:10 +08:00
Knight
820c810107 Updated E0054 to new format 2016-08-22 13:51:21 +08:00
bors
42584d36f6 Auto merge of #35777 - nrc:carrier3, r=@nikomatsakis
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
2016-08-21 15:12:43 -07:00
bors
1576de0ce6 Auto merge of #35776 - jseyfried:more_groundwork, r=nrc
resolve: More groundwork for `item_like_imports` (RFC 1560)

r? @nrc
2016-08-21 11:03:48 -07:00
Shyam Sundar B
738b91e997 Update lib.rs
Update lib.rs
Update lib.rs
Update E0438.rs
Update E0437.rs
Update E0435.rs
2016-08-21 18:43:58 +05:30
Wesley Wiser
9bb8b65bdd Update E0503 to the new format
Fixes #35703
Part of #35233
2016-08-20 21:07:19 -04:00
Johannes Löthberg
ff44f088d7 Update E0424 to the new error format
Fixes #35797.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-08-20 22:05:51 +02:00