Commit Graph

68982 Commits

Author SHA1 Message Date
kennytm
a793372d8c Rollup merge of #45264 - 0xAX:fix-typo-bootstrap-readm, r=kennytm
fix typo in src/bootstrap/README.md
2017-10-15 14:21:56 +08:00
kennytm
5e8d407c31 Rollup merge of #45263 - Manishearth:hashmap-clean, r=bluss
Do some cleanups for hashmaps

@mystor noticed some things whilst reading through the hashmap RawTable code.

Firstly, in RawTable we deal with this hash_offset value that is the offset of the list of hashes from the buffer start. This is always zero, and this isn't consistently used (which means that we would have bugs if we set it to something else). We should just remove this since it doesn't help us at all.

Secondly, the probing length tag is not copied when cloning a raw table. This is minor and basically means we do a bit more work than we need on further inserts on a cloned hashmap.

r? @Gankro
2017-10-15 14:21:55 +08:00
kennytm
34a286bf90 Rollup merge of #45258 - hdhoang:master, r=alexcrichton
compiletest/runtest: format ErrorKind with Display

The strings are nouns for the most part, so we give ErrorKind::Help a
more sensible string. This reduces quote hiccups in failure output.

unexpected "error": '...'
↓
unexpected error: '...'
2017-10-15 14:21:54 +08:00
kennytm
e598ac9872 Rollup merge of #45255 - bgermann:master, r=alexcrichton
Make Solaris builder compatible with Solaris 10

Would it be possible to get this in the next 1.22.0 beta?
2017-10-15 14:21:53 +08:00
kennytm
b6f4cea79d Rollup merge of #45250 - brauliobz:non-ascii-idents-details, r=steveklabnik
Moved details of unstable non-ascii identifiers from the Reference

Moved details of unstable non-ascii identifiers from the Reference to the Unstable book

r? @steveklabnik
2017-10-15 14:21:52 +08:00
kennytm
430ac4ba50 Rollup merge of #45113 - Pirh:process_output_links, r=steveklabnik
Link std::process::Output to Command and Child

As per #29370
2017-10-15 14:21:51 +08:00
bors
6c0d50f9fa Auto merge of #45224 - malbarbo:x32, r=alexcrichton
Add x86_64-unknown-linux-gnux32 target

This adds X32 ABI support for Linux on X86_64. Let's package and dist it so we can star testing libc, libstd, etc.

Fixes https://github.com/rust-lang/rfcs/issues/1339
2017-10-15 06:12:13 +00:00
bors
f5eb33f4e5 Auto merge of #45200 - mikhail-m1:match-with-false-edges, r=nikomatsakis
MIR-borrowck: add false edges to match arms

basic fix for https://github.com/rust-lang/rust/issues/45043, should be modified with #45184
2017-10-15 02:20:13 +00:00
bors
a457e29811 Auto merge of #44867 - kennytm:rustdoc-md-test-title, r=alexcrichton
doc-test: In Markdown tests, Use all of `<h1>` to `<h6>` as the test name

This mainly simplifies debugging error index tests, as the error codes are `<h2>`s in the huge document containing all codes.
2017-10-14 23:07:35 +00:00
Joe Rattazzi
6500b3d069 Add "Buidling on *nix" sub-header 2017-10-14 16:59:58 -05:00
Steven Fackler
cab99a3f8c Fix TcpStream::connect_timeout on linux
Linux appears to set POLLOUT when a conection's refused, which is pretty
weird. Invert the check to look for an error explicitly. Also add an
explict test for this case.

Closes #45265.
2017-10-14 13:56:30 -07:00
Jacob Wahlgren
47ea51e4e5 Improve E0382 extended help message
Mention Clone and refererences, and use more realistic examples (within
the constraints of a few lines :).
2017-10-14 21:27:41 +02:00
bors
7778906bee Auto merge of #45177 - oli-obk:clippy, r=alexcrichton
Enable building clippy in CI

r? @alexcrichton

As discussed at Rustfest. Measured additional time is 4 minutes on my machine if no dependencies are shared with other tools. In reality most dependencies are shared (especially the slow to compile ones like serde).

cc @Manishearth

Does not run clippy's test suite, since

a) it is nontrivial in the rustc build system
b) it breaks more frequently but the breakage is negligible

If clippy breaks, the procedure to follow is documented under https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#external-dependencies
2017-10-14 18:48:08 +00:00
Guillaume Gomez
c6ce067216 Hide help when search bar is focused 2017-10-14 18:46:29 +02:00
Guillaume Gomez
5acc185cee Fix arrow display 2017-10-14 18:35:54 +02:00
Alex Crichton
4df1278c69 rustc: Remove used_mut_nodes from TyCtxt
This updates the borrowck query to return a result, and this result is then used
to incrementally check for unused mutable nodes given sets of all the used
mutable nodes.

Closes #42384
2017-10-14 09:29:02 -07:00
Guillaume Gomez
f44232688e Save current highlighted item in search tab 2017-10-14 18:24:27 +02:00
Guillaume Gomez
45bb03f60c Save selected search tab 2017-10-14 18:15:20 +02:00
bors
7920a7cc74 Auto merge of #45175 - petrochenkov:dyn, r=nikomatsakis
Implement `dyn Trait` syntax (RFC 2113)

cc https://github.com/rust-lang/rust/issues/44662
r? @nikomatsakis
2017-10-14 16:11:05 +00:00
Oliver Middleton
1652c582d7 rustbuild: Don't try to build rustdoc API docs with compiler docs
rustdoc is built separately to rustc now so the docs would need to be
generated separately as well. Also rustdoc doesn't build at stage 1
which prevented the compiler docs being built at stage 1.
2017-10-14 16:42:05 +01:00
Manish Goregaokar
e8e7715beb
std: Set probe length tag on cloned hashmaps
This isn't strictly necessary for hashmap cloning to work. The tag is
used to hint for an upcoming resize, so it's good to copy this
information over.

(We can do cleverer things like actually resizing the hashmap when we
see the tag, or even cleaning up the entry order, but this requires
more thought and might not be worth it)
2017-10-14 10:21:52 -04:00
Manish Goregaokar
bb9e850246
std: Get rid of hash_offet in RawTable
This offset is always zero, and we don't consistently take it into
account. This is okay, because it's zero, but if it ever changes we're
going to have bugs (e.g. in the `dealloc` call, where we don't take it
into account).

It's better to remove this for now; if we ever have a need for a
nonzero offset we can add it back, and handle it properly when we do so.
2017-10-14 10:21:50 -04:00
Guillaume Gomez
c729e4dca7 Remove terribly useless and problematic margin when searching on mobile 2017-10-14 15:55:33 +02:00
bors
9c5e9a500d Auto merge of #45167 - pnkfelix:migrate-remaining-ast-diagnostics, r=arielb1
MIR-borrowck: Migrate remaining ast diagnostics

This PR migrates all of the remaining diagnostics in `rustc_borrowck` over to `rustc_mir`, exposing them for use by both AST-borrowck and MIR-borrowck.

This should hopefully resolve all remaining cases of diagnostic messages emitted from borrowck under `-Z borrowck-mir` without an origin annotation.
2017-10-14 13:47:44 +00:00
bors
af7de7b677 Auto merge of #45162 - chrisvittal:mir-testing, r=nikomatsakis
Modify MIR testing to require consecutive lines

MIR testing now requires that lines be consecutive. To achive this,
instead of collecting the expected mir as a string, it is now wrapped in
an `ExpectedLine` enum, that is either `Elision` or `Text(T)` where `T:
AsRef<str>`. `Text` lines must be matched in order, unless separated by
`Elision` lines. Elision occurs lazily, that is, an Elision will skip
as few lines as possible.

To add a new elision marker. Put a comment containing only "..." and
whitespace in any MIR testing block. Like so:

```
// fn write_42(_1: *mut i32) -> bool {
//     ...
//     bb0: {
//         Validate(Acquire, [_1: *mut i32]);
//         Validate(Release, [_1: *mut i32]);
//         ...
//         return;
//     }
// }
```

Right now, all input before the line right after `// START` is elided,
and all input after the line right before `// END` is also not tested.

Many tests need to be updated. That will follow in the next commit.

cc #45153
r? @nikomatsakis
2017-10-14 11:22:46 +00:00
Vadim Petrochenkov
9d373204a5 Update rustfmt submodule 2017-10-14 12:53:44 +03:00
Vadim Petrochenkov
e6115af4bd Implement dyn Trait syntax 2017-10-14 12:51:13 +03:00
bors
2d75213709 Auto merge of #45155 - Nashenas88:nll-infer, r=nikomatsakis
NLL infer

r? @nikomatsakis
2017-10-14 08:53:07 +00:00
bors
3037965b5b Auto merge of #45137 - theotherjimmy:vtable-methods-query, r=nikomatsakis
Queryify Vtable methods

This query might come with a downside: It converts an iterator to a Vec, which may increase the working set of rustc on programs that use many many traits (I think that's where this is used).
2017-10-14 06:34:20 +00:00
bors
2aeff0f1b3 Auto merge of #45104 - vitiral:incr_auto_assert2, r=michaelwoerister
Incremental compilation auto assert (with except)

cc @michaelwoerister

bors merged part 1, so this is a WIP of part 2 of #45009  -- auto asserting DepNodes depending on the type of node rustc_clean/dirty is attached to

Framework:
- [x] finish auto-detection for specified DepNodes
- [x] finish auto-detection for remaining DepNodes

Test Refactors:
- [x] consts.rs
- [x] enum_constructors.rs
- [x] extern_mods.rs
- [x] inherent_impls.rs
- [x] statics.rs
- [x] struct_constructors.rs
- ~~**BLOCKED** trait_defs.rs, see FIXME~~
- ~~**BLOCKED** trait_impls.rs~~
- [x] type_defs.rs
- [x] enum_defs.rs
2017-10-14 04:11:49 +00:00
Geoffry Song
bb4d1caad7 Pass the full span for method calls 2017-10-13 20:20:22 -07:00
bors
83922feec3 Auto merge of #45102 - petrochenkov:noar, r=alexcrichton
cleanup: rustc doesn't use an external archiver

cc https://github.com/rust-lang/rust/pull/45090
r? @alexcrichton
2017-10-14 01:43:42 +00:00
QuietMisdreavus
2c9d452a29 rustdoc: wrap redirect page writers in a BufWriter 2017-10-13 15:26:38 -05:00
QuietMisdreavus
9e1c577b71 rustdoc: don't create directories more than once 2017-10-13 15:26:13 -05:00
Bráulio Bezerra
8e6119f353 Fixed link to keywords page in the reference 2017-10-13 17:15:28 -03:00
bors
02a24dbdd8 Auto merge of #45069 - sinkuu:tuple_arg, r=nikomatsakis
Better error for missing tuple pattern in args

#44150

Before:
```
error[E0593]: closure takes 2 arguments but 1 argument is required
 --> test.rs:5:40
  |
5 |     let it = v.into_iter().enumerate().map(|i, x| i);
  |                                        ^^^ -------- takes 2 arguments
  |                                        |
  |                                        expected closure that takes 1 argument
```

After:
```
error[E0593]: closure takes 2 arguments but a 2-tuple is required
 --> test.rs:5:40
  |
5 |     let it = v.into_iter().enumerate().map(|i, x| i);
  |                                        ^^^ ------ takes 2 arguments
  |                                        |
  |                                        expected closure that takes a 2-tuple
```
2017-10-13 20:14:38 +00:00
Alexander Kuleshov
7439da61fc fix typo in src/bootstrap/README.md 2017-10-13 23:51:38 +06:00
bors
6cb49d2a3e Auto merge of #45261 - kennytm:rollup, r=kennytm
Rollup of 14 pull requests

- Successful merges: #44855, #45110, #45122, #45133, #45173, #45178, #45189, #45203, #45209, #45221, #45236, #45240, #45245, #45253
- Failed merges:
2017-10-13 17:42:25 +00:00
Pirh
8c4a68dca1 Add line break after summary of process::Output 2017-10-13 18:18:09 +01:00
Garrett Berg
80c13ce134 fix review comments 2017-10-13 10:15:03 -06:00
kennytm
8ea6790293 Rollup merge of #45253 - Gankro:drop_docs, r=kennytm
Clarify how needs_drop is conservative
2017-10-13 23:38:05 +08:00
kennytm
fb98e3e434 Rollup merge of #45245 - stjepang:more-padding-between-impls, r=QuietMisdreavus
Rustdoc: Increase padding between consecutive impls

Currently, [implementors](https://doc.rust-lang.org/nightly/std/iter/trait.IntoIterator.html#implementors) list is a bit too condensed. More spacing makes the list easier to read.
Check out [this comment](https://github.com/rust-lang/rust/issues/41879#issuecomment-333121118) to see what's the effect of this change.

Closes #41879.

cc @QuietMisdreavus
2017-10-13 23:38:04 +08:00
kennytm
f43c54e1e3 Rollup merge of #45240 - GuillaumeGomez:mobile-sidebar-improvements, r=QuietMisdreavus
Mobile sidebar improvements

Very small changes, I just made the width of the sidebar of 100% and centered vertically both items a bit more:

<img width="1440" alt="screen shot 2017-10-12 at 20 00 47" src="https://user-images.githubusercontent.com/3050060/31511496-302bb474-af88-11e7-8dab-2c88799eafcc.png">

r? @rust-lang/docs
2017-10-13 23:38:03 +08:00
kennytm
4ed348efe1 Rollup merge of #45236 - alexcrichton:build-less, r=Mark-Simulacrum
rustbuild: Prevent spurious rebuilds of the RLS

The RLS currently is rebuilt every time you test it because the `OPENSSL_DIR`
env var is changing, which is in turn caused by an accidental omission of
`prepare_tool_cargo` when testing the RLS.
2017-10-13 23:38:02 +08:00
kennytm
2a6a4e7045 Rollup merge of #45221 - estebank:issue-41790, r=nikomatsakis
Point at immutable outer variable

When attempting to mutate an immutable outer variable from a closure,
point at the outer variable and suggest making it mutable.

Fix #41790.
2017-10-13 23:38:01 +08:00
kennytm
9b128e4065 Rollup merge of #45209 - kennytm:treat-checksum-error-as-download-error, r=Mark-Simulacrum
rustbuild: Make openssl download more reliable.

1. Add `-f` flag to curl, so when the server returns 403 or 500 it will fail immediately.
2. Moved the checksum part into the retry loop, assuming checksum failure is due to broken download that can be fixed by downloading again.

This PR is created responding to two recent spurious failures in https://github.com/rust-lang/rust/pull/45075#issuecomment-335202319 and https://github.com/rust-lang/rust/pull/45030#issuecomment-335029356.

r? @Mark-Simulacrum , cc @aidanhs
2017-10-13 23:38:00 +08:00
kennytm
64cc5ecc1a Rollup merge of #45203 - alexcrichton:update-llvm, r=michaelwoerister
rustc: Update LLVM with a ThinLTO fix

This commit updates LLVM with a patch that's landed upstream to fix an assertion
that was tripping when ThinLTO was activated. Unfortunately I wasn't able to get
a reduced test case, but I've tested manually on the affected crates and the
assertion is indeed fixed.

Closes #45131
2017-10-13 23:37:59 +08:00
kennytm
a481d7ced3 Rollup merge of #45189 - alexcrichton:thinlto-allocators, r=michaelwoerister
rustc: Handle `#[no_mangle]` anywhere in a crate

This commit updates the reachability pass of the compiler to seed the local
worklist with `#[no_mangle]`-like items anywhere in a crate, not just those
reachable from public items.

Closes #45165
2017-10-13 23:37:58 +08:00
kennytm
e6a6d980e0 Rollup merge of #45178 - Badel2:comma-after-struct, r=petrochenkov
Better error message for comma after base struct

#41834

This adds a better error for commas after the base struct:
```
let foo = Foo {
    one: 111,
    ..Foo::default(), // This comma is a syntax error
};
```

The current error is a generic `expected one of ...` which isn't beginner-friendly. My error looks like this:

```
error: cannot use a comma after the base struct
  --> tmp/example.rs:26:9
   |
26 |         ..Foo::default(),
   |         ^^^^^^^^^^^^^^^^- help: remove this comma
   |
   = note: the base struct expansion must always be the last field
```

I even added a note for people who don't know why this isn't allowed.
2017-10-13 23:37:57 +08:00
kennytm
46d86d3847 Rollup merge of #45173 - laumann:suggest-misspelled-labels, r=petrochenkov
Add suggestions for misspelled labels

Another part of #30197
2017-10-13 23:37:56 +08:00