Commit graph

77334 commits

Author SHA1 Message Date
kennytm
d1faefcbc3
Rollup merge of #50222 - michaelwoerister:bump-stage0-compiler-to-2018-04-24, r=alexcrichton
Bump bootstrap compiler to 2018-04-24

r? @alexcrichton
2018-04-27 16:23:23 +08:00
kennytm
d403d82b0a
Rollup merge of #49707 - steveklabnik:rustc-book, r=QuietMisdreavus
Add "the Rustc book"

This PR introduces a new book into the documentation, "The rustc book". We already have books for Cargo, and for Rustdoc, rustc should have some too. This book is focused on *users* of rustc, and provides a nice place to write documentation for users.

I haven't put content here, but plan on scaffolding it out very soon, and wanted this PR open for a few discussions first. One of those is "what exactly should said TOC be?" I plan on having a proposed one up tomorrow, but figured I'd let people know to start thinking about it now.

The big one is that we also will want to put https://github.com/rust-lang-nursery/rustc-guide in-tree as well, and the naming is... tough. I'm proposing:

* doc.rust-lang.org/rustc is "The Rustc book", to mirror the other tools' books.
* doc.rust-lang.org/rustc-contribution is "The Rustc contribution guide", and contains that book

@nikomatsakis et al, any thoughts on this? I'm not attached to it in particular, but had to put something together to get this discussion going. I think mirroring the other tools is a good idea for this work, but am not sure where exactly that leaves yours.

Fixes https://github.com/rust-docs/team/issues/11
2018-04-27 14:16:42 +08:00
bors
e05b78daa6 Auto merge of #49420 - nox:enum-scalarpair, r=eddyb
Use ScalarPair for tagged enums
2018-04-27 01:30:10 +00:00
bors
7d8f0e22f5 Auto merge of #50253 - nikomatsakis:regressions-2018-04-26, r=eddyb
drop elaboration should reveal all

This used to happen implicitly through the normalization function; but we now keep the param-env as is, which seems less surprising.

cc #49685

r? @eddyb
2018-04-26 23:11:39 +00:00
bors
7f3444e1ba Auto merge of #49513 - nox:univariant-fieldless-enum-as-zst, r=eddyb
Treat repr(Rust) univariant fieldless enums as ZSTs

This makes all those enums be represented the same way:

```rust
enum A1 { B1 }
enum A2 { B2 = 0 }
enum A3 { B3, C3(!) }
```

Related to #15747.

Cc @rust-lang/wg-codegen @rust-lang/lang
2018-04-26 18:26:03 +00:00
Niko Matsakis
86e9a7ac43 add regression test
Fixes #49685
2018-04-26 13:42:22 -04:00
Niko Matsakis
0361e5938c use reveal_all during drop elaboration
This used to happen by default as part of the normalization routine
that was being used.
2018-04-26 13:31:52 -04:00
Niko Matsakis
2a58875fa2 improved debug output 2018-04-26 13:31:24 -04:00
bors
949010d23e Auto merge of #50228 - irinagpopa:backstory-v2, r=nikomatsakis
Rename rustc_back to rustc_target and move ABI code to it.

Fixes #45226.
2018-04-26 16:00:48 +00:00
Irina Popa
a131c518ad Fixed tidy errors. 2018-04-26 17:49:24 +03:00
Irina Popa
04fa0e7bb3 rustc_target: move in syntax::abi and flip dependency. 2018-04-26 17:49:16 +03:00
Anthony Ramine
1c09977c9a Mark SingleVariant as repr(u8) in c-style-enum
I should rather properly fix debuginfo but I have no clue how to do that.
2018-04-26 16:22:18 +02:00
Anthony Ramine
8f36804c00 Treat repr(Rust) univariant fieldless enums as a ZST (fixes #15747)
This makes all those enums be represented the same way:

```rust
enum A1 { B1 }
enum A2 { B2 = 0 }
enum A3 { B3, C3(!) }
```
2018-04-26 16:22:18 +02:00
Irina Popa
030244cd4a rustc_target: move in cabi_* from rustc_trans. 2018-04-26 16:50:31 +03:00
Irina Popa
fb15d44700 rustc_trans: generalize cabi_* to any context type. 2018-04-26 16:50:31 +03:00
Irina Popa
c45dda92fe rustc_target: move for_variant and field TyLayout methods to a trait. 2018-04-26 16:50:29 +03:00
Irina Popa
7a5147616b rustc_target: move LayoutOf's type parameter to an associated type. 2018-04-26 16:50:28 +03:00
Irina Popa
3bd7efadae rustc_target: move in type definitions from rustc_trans::abi. 2018-04-26 16:50:27 +03:00
Irina Popa
bdcd08278a rustc_target: move in type definitions from ty::layout. 2018-04-26 16:50:20 +03:00
Irina Popa
38e964077b Rename rustc_back::target to rustc_target::spec. 2018-04-26 16:39:44 +03:00
Irina Popa
6f03b80020 rustc_back: move LinkerFlavor, PanicStrategy, and RelroLevel to target. 2018-04-26 16:39:27 +03:00
Anthony Ramine
7bfe3ae00a Add a test for casts of univariant C-like enums 2018-04-26 15:07:04 +02:00
Oliver Schneider
2807f4f773 Properly evaluate zst enum 2018-04-26 15:07:04 +02:00
Anthony Ramine
1839ec5ef8 Consistently use C_uint_big for discriminants 2018-04-26 15:07:04 +02:00
Anthony Ramine
b7c8cc4b77 Properly look for uninhabitedness when handling discriminants 2018-04-26 15:07:04 +02:00
bors
88cd36714c Auto merge of #50245 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 4 pull requests

Successful merges:

 - #50177 (mark std::str::replace(,n) as #[must_use])
 - #50207 (Hash EntryKind::AssociatedConst const data)
 - #50214 (Js improvements)
 - #50219 (Added missing `.` in docs.)

Failed merges:

 - #50229 (Add setting to go to item if there is only one result)
2018-04-26 11:07:14 +00:00
bors
3eca70a0c5 Auto merge of #50072 - oli-obk:discriminants, r=eddyb
Allow variant discriminant initializers to refer to other initializer…

…s of the same enum

r? @eddyb

fixes the 2.4 failure of https://github.com/rust-lang/rust/issues/49765

cc @durka @retep998
2018-04-26 08:51:39 +00:00
Guillaume Gomez
438f3ca01c
Rollup merge of #50219 - ralfbiedert:master, r=frewsxcv
Added missing `.` in docs.
2018-04-26 10:11:16 +02:00
Guillaume Gomez
8f6b42711f
Rollup merge of #50214 - GuillaumeGomez:JS-improvements, r=QuietMisdreavus
Js improvements

r? @QuietMisdreavus
2018-04-26 10:11:15 +02:00
Guillaume Gomez
0d758ecc61
Rollup merge of #50207 - wesleywiser:hash_const_data, r=eddyb
Hash EntryKind::AssociatedConst const data

Related to #49991
r? @michaelwoerister
cc @eddyb
2018-04-26 10:11:14 +02:00
Guillaume Gomez
3b49b27e0c
Rollup merge of #50177 - matthiaskrgr:std_std_replacen__must_use, r=oli-obk
mark std::str::replace(,n) as #[must_use]

let x = "a b c c";
x.replacen("c", "d", 2");
might not do what people might think it does.
2018-04-26 10:11:11 +02:00
Anthony Ramine
3ca6ad922e Use ScalarPair for tagged enums 2018-04-26 09:30:28 +02:00
Oliver Schneider
195c9f47e9
Allow variant discriminant initializers to refer to other initializers of the same enum 2018-04-26 08:54:14 +02:00
bors
1515cded74 Auto merge of #49732 - Zoxc:sync-dep-graph, r=michaelwoerister
Make incremental compilation thread-safe

r? @michaelwoerister
2018-04-26 06:38:14 +00:00
bors
c18778704c Auto merge of #50236 - nrc:update, r=alexcrichton
Update rustfmt and rls

r? @alexcrichton
2018-04-26 03:36:22 +00:00
Nick Cameron
612830dc77 handle license check 2018-04-26 15:10:11 +12:00
bors
84ce67ef95 Auto merge of #50131 - Manishearth:crate-in-local, r=petrochenkov
Allow crate:: in local paths

Currently if you want to use `crate` locally you have to do `::crate::`. This shouldn't be necessary

(will fix up tests later)

r? @petrochenkov
2018-04-25 23:25:47 +00:00
Nick Cameron
127f9a6416 Update rustfmt and rls 2018-04-26 10:11:28 +12:00
bors
6eb4f1d036 Auto merge of #50016 - tmandry:cleanup-binder, r=nikomatsakis
Make Binder's field private and clean up its usage

AKA "tour de rustc"

Closes #49814.
2018-04-25 20:58:53 +00:00
Manish Goregaokar
9f5e08e0a1 Fix crate:: in local paths 2018-04-25 12:01:59 -07:00
bors
25749ad66d Auto merge of #49321 - ishitatsuyuki:compile-pass, r=alexcrichton
Introduce compile-pass

r? @alexcrichton

The plan is to move things that cannot fail (no assert, unwrap, etc) out so we don't have to run them, and in the long term we can also stop running LLVM for them.

Out of 3215 tests...

```
Language            Files        Lines         Code     Comments       Blanks
Rust                 3215       119254        64688        35135        19431
```

16% of them has an empty main (which is already moved in this PR).

```
grep -rnPzl 'fn main\(\)\s*{\s*}' | xargs rg --files-without-match cfg | wc -l
547
```

And only 50% of the tests contains assertions:

```
rg -e assert -e unwrap -e expect -e panic -l | wc -l
1600
```

The remainder is likely able to get moved, but they need check by a human so I didn't touch them in PR.

cc @rust-lang/compiler

* [ ] Update documentation
2018-04-25 14:52:30 +00:00
Michael Woerister
a95bff3ed4 Bump bootstrap compiler to 2018-04-24 2018-04-25 15:57:33 +02:00
Ralf Biedert
1bcb267651
Added missing . in docs. 2018-04-25 14:14:43 +02:00
bors
81135c9dbc Auto merge of #50134 - andjo403:jobserver, r=michaelwoerister
make rustdoc test follow the jobserver limit of threads

fix that to many threads is executing at the same time
when rustdoc test is executed.
2018-04-25 11:40:18 +00:00
John Kåre Alsaker
3f802ee801 Move the Lock into OpenTask 2018-04-25 11:55:12 +02:00
John Kåre Alsaker
8ec629b3a0 Address comments 2018-04-25 11:25:40 +02:00
John Kåre Alsaker
64b5d408e6 Make DepGraph thread-safe 2018-04-25 11:25:40 +02:00
bors
5ec6637c15 Auto merge of #50110 - oli-obk:warn_all_the_constants, r=estebank
Warn on all erroneous constants

fixes #49791
fixes #47054

@Zoxc this PR triggers the nondeterministic errors of https://github.com/rust-lang/rust/pull/49950#issuecomment-383074959 really often (at least on stage1).
2018-04-25 09:19:07 +00:00
Tatsuyuki Ishi
00bc634f8f compiletest: introduce skip-trans 2018-04-25 18:18:03 +09:00
Guillaume Gomez
ac0f99c03f Some JS improvements 2018-04-25 09:01:32 +02:00