Commit Graph

70772 Commits

Author SHA1 Message Date
Nick Cameron
36c380292c Update Cargo 2017-12-06 18:21:14 +13:00
Nick Cameron
75029259b3 Update rls and rustfmt 2017-12-06 18:18:44 +13:00
bors
d10b04d3df Auto merge of #45898 - JRegimbal:master, r=QuietMisdreavus
Change "Types/modules" title of search tab to be more accurate

From issue #45787. Used "In name" as per suggestion from @Seeker14491.
2017-12-06 03:02:17 +00:00
CensoredUsername
d68d127875 Stabilize abi_sysv64 2017-12-06 01:19:35 +01:00
Ariel Ben-Yehuda
9d3558725b work around weird match arm lifetimes 2017-12-06 02:10:24 +02:00
Jeff Crocker
3f0cc7caca
Format function interface fingerprint hash tests 2017-12-05 15:27:14 -08:00
Jeff Crocker
104ebd2c43
Update 'while loop' fingerprint hash tests 2017-12-05 15:01:49 -08:00
Jeff Crocker
b8714c6040
Update 'while let loop' fingerprint hash tests 2017-12-05 14:57:35 -08:00
Ariel Ben-Yehuda
66c032cb2d more comments 2017-12-06 00:51:47 +02:00
Jeff Crocker
3f48cbb455
Update loop expression fingerprint hash tests 2017-12-05 14:50:54 -08:00
Simon Sapin
d4fabb987b rustc_trans: don't write discriminants for uninhabited variants
Fixes #46519.

Patch as suggested by eddyb:
https://github.com/rust-lang/rust/issues/46519#issuecomment-349443519
2017-12-05 23:50:41 +01:00
Jeff Crocker
820ed30a85
Update inline asm fingerprint hash tests 2017-12-05 14:44:52 -08:00
Ariel Ben-Yehuda
425c2c3606 convert errors to warnings 2017-12-06 00:43:47 +02:00
Jeff Crocker
bc1754216d
Update function interface fingerprint hash tests 2017-12-05 14:40:13 -08:00
JRegimbal
41df62ce29 Changed tab names to those agreed upon.
Tabs are "In Names", "In Parameters", and "In Return Types".
2017-12-05 17:39:50 -05:00
Ariel Ben-Yehuda
37df5e0b91 adjust libcore 2017-12-06 00:34:02 +02:00
Ariel Ben-Yehuda
6b9fbb2ab8 fix borrows across loops, libcore *almost* compiles 2017-12-06 00:34:02 +02:00
Ariel Ben-Yehuda
82f3fc5dbc fix handling of immutable variables 2017-12-06 00:34:02 +02:00
Ariel Ben-Yehuda
210f76816f handle gen/kill sets together 2017-12-06 00:34:01 +02:00
Ariel Ben-Yehuda
243c5a5faa fix handling of CallScopeData
This fixes the tests for issue #29793
2017-12-06 00:34:01 +02:00
Ariel Ben-Yehuda
cbcae7f694 improve conflict error reporting 2017-12-06 00:34:01 +02:00
Ariel Ben-Yehuda
f8c35d9e41 fix handling of consts in borrow-checking
I'm not sure how correct it this, but it gets whatever needs to compile
to compile.
2017-12-06 00:34:01 +02:00
Ariel Ben-Yehuda
87a8a70d0d MIR borrowck: avoid formatting state when it is not needed
This improves performance on large functions.
2017-12-06 00:34:01 +02:00
Ariel Ben-Yehuda
6bc4b50511 MIR borrowck: implement union-and-array-compatible semantics
Fixes #44831.
Fixes #44834.
Fixes #45537.
Fixes #45696 (by implementing DerefPure semantics, which is what we want
going forward).
2017-12-06 00:34:01 +02:00
Jeff Crocker
bf3246fa10
Update for loop fingerprint hash tests 2017-12-05 14:13:58 -08:00
Jeff Crocker
77aee18c13
Update closure expression fingerprint hash tests 2017-12-05 14:03:24 -08:00
Havvy
aaaea2c562 compile_error example blurbs 2017-12-05 14:01:09 -08:00
bors
cfba0d446e Auto merge of #46514 - zackmdavis:sticking_it_to_the_man, r=alexcrichton
template month/year, version into man pages while building dist tarball

![the_man](https://user-images.githubusercontent.com/1076988/33596149-963956f4-d94f-11e7-926f-e683217765e5.png)

This is meant to resolve #25689.

r? @alexcrichton
2017-12-05 20:08:10 +00:00
bors
abe85ab0b2 Auto merge of #46498 - malbarbo:dist-armv5te, r=alexcrichton
Add armv5te-unknown-linux-gnueabi to cross builder

This is the only linux target missing in the dist builders.
2017-12-05 17:28:31 +00:00
steveklabnik
893474ea6d Mention the name of ? in Result's docs
Fixes #42725

or at least, this is the best we can really do. #35946 is tracking
better errors already, so that should cover the other part of it.
2017-12-05 10:07:51 -05:00
Ariel Ben-Yehuda
1769c63dc1 add a comment and assertion explaining everything 2017-12-05 15:42:34 +02:00
Ariel Ben-Yehuda
9d38541d3f improve error reporting 2017-12-05 15:42:34 +02:00
Ariel Ben-Yehuda
2614cc51dd convert the new conflicts to a soft error 2017-12-05 15:42:33 +02:00
Ariel Ben-Yehuda
1271ea4f95 refactor a bit 2017-12-05 15:41:40 +02:00
Ariel Ben-Yehuda
38747dd3a7 improve treatment of local types in "remote coherence" mode 2017-12-05 15:41:40 +02:00
bors
bf2be6175e Auto merge of #46492 - eddyb:move-ops, r=arielb1
rustc_mir: don't move temporaries that are still used later.

This should unbreak using the MIR borrow-checker on `libcore` (assuming #46268 is merged).
2017-12-05 13:35:59 +00:00
Eduard-Mihai Burtescu
2a629f931d rustc_mir: don't move temporaries that are still used later. 2017-12-05 12:59:07 +02:00
Havvy
3f0b766c35 No unused macro warning in compile_error example. 2017-12-05 01:47:47 -08:00
Marco A L Barbosa
bea65d4041 Add armv5te-unknown-linux-gnueabi to cross builder 2017-12-05 07:46:24 -02:00
bors
a2899408dd Auto merge of #46503 - Aaron1011:librustdoc_log, r=Mark-Simulacrum
Remove librustdoc dependency on log

This change should have been included in PR #46386.

Since librustdoc doesn't explicitly depend on internal crates
(such as librustc_driver) through its Cargo.toml, it ends up using the
sysroot to resolve them. By removing the dependency on 'log',
we ensure that the syroot is used to resolve `log` as well. This ensures
that only one version of log is in use, so that `env_logger::init()`
enables all uses of `log!` macros.
2017-12-05 09:00:35 +00:00
Zack M. Davis
207fc0bb45 template month/year, version into man pages while building dist tarball
This is meant to resolve #25689.
2017-12-04 23:47:59 -08:00
bors
8921535289 Auto merge of #46499 - malbarbo:rename-cross, r=alexcrichton
Rename cross(2) builder to dist-various-{1,2}

Follows the convention of the other builders.
2017-12-05 06:28:29 +00:00
Havvy
44c343be45 Give compile_error macro examples 2017-12-04 21:55:24 -08:00
Corey Farwell
f3662275e4 Document behavior of ptr::swap with overlapping regions of memory.
Fixes https://github.com/rust-lang/rust/issues/44479.
2017-12-04 22:49:48 -05:00
bors
98a96b0b66 Auto merge of #46403 - oli-obk:generic_missing_impl, r=nikomatsakis
Report a targeted note for generic parameters that are missing a trait bound
2017-12-05 02:57:57 +00:00
bors
a4fa23a5bb Auto merge of #46305 - irinagpopa:backstory, r=alexcrichton,eddyb
Move rustc_back modules where they belong.
2017-12-05 00:21:59 +00:00
Aaron Hill
f6d3900642
Remove librustdoc dependency on log
This change should have been included in PR #46386.

Since librustdoc doesn't explicitly depend on internal crates
(such as librustc_driver) through its Cargo.toml, it ends up using the
sysroot to resolve them. By removing the dependency on 'log',
we ensure that the syroot is used to resolve `log` as well. This ensures
that only one version of log is in use, so that `env_logger::init()`
enables all uses of `log!` macros.
2017-12-04 17:16:19 -05:00
bors
cd8a352995 Auto merge of #46427 - michaelwoerister:transitive-svh, r=nikomatsakis
incr.comp.: Incorporate the stable commandline arg hash and SVHs of upstream crates into the SVH.

So far the SVH detected changes in the HIR, which is already very sensitive, but in order for `eval_always` queries to also be sensitive to changes in upstream crates, the SVH also needs to capture changes there.

This PR fixes [rust-icci/crossbeam](https://travis-ci.org/rust-icci/crossbeam/builds/308936448), but I have not yet been able to come up with a minimal regression test.

r? @nikomatsakis
2017-12-04 21:46:15 +00:00
Guillaume Gomez
611d0e6cce Improve search style 2017-12-04 22:11:21 +01:00
bors
8503b3ff82 Auto merge of #46319 - nikomatsakis:nll-master-to-rust-master-2, r=pnkfelix
NLL: improve inference with flow results, represent regions with bitsets, and more

This PR begins with a number of edits to the NLL code and then includes a large number of smaller refactorings (these refactorings ought not to change behavior). There are a lot of commits here, but each is individually simple. The goal is to land everything up to but not including the changes to how we handle closures, which are conceptually more complex.

The NLL specific changes are as follows (in order of appearance):

**Modify the region inferencer's approach to free regions.** Previously, for each free region (lifetime parameter) `'a`, it would compute the set of other free regions that `'a` outlives (e.g., if we have `where 'a: 'b`, then this set would be `{'a, 'b}`). Then it would mark those free regions as "constants" and report an error if inference tried to extend `'a` to include any other region (e.g., `'c`) that is not in that outlives set. In this way, the value of `'a` would never grow beyond the maximum that could type check. The new approach is to allow `'a` to grow larger. Then, after the fact, we check over the value of `'a` and see what other free regions it is required to outlive, and we check that those outlives relationships are justified by the where clauses in scope etc.

**Modify constraint generation to consider maybe-init.** When we have a "drop-live" variable `x` (i.e., a variable that will be dropped but will not be otherwise used), we now consider whether `x` is "maybe initialized" at that point. If not, then we know the drop is a no-op, and we can allow its regions to be dead. Due to limitations in the fragment code, this currently only works at the level of entire variables.

**Change representation of regions to use a `BitMatrix`.** We used to use a `BTreeSet`, which was rather silly. We now use a MxN matrix of bits, where `M` is the number of variables and `N` is the number of possible elements in each set (size of the CFG + number of free regions).

The remaining commits (starting from
extract the `implied_bounds` code into a helper function ") are all "no-op" refactorings, I believe.

~~One concern I have is with the commit "with -Zverbose, print all details of closure substs"; this commit seems to include some "internal" stuff in the mir-dump files, such as internal interner numbers, that I fear may vary by platform. Annoying. I guess we will see.~~ (I removed this commit.)

As for reviewer, @arielb1 has been reviewing the PRs, and they are certainly welcome to review this one too. But I figured it'd maybe be good to have more people taking a look and being familiar with this code, so I'll "nominate" @pnkfelix .

r? @pnkfelix
2017-12-04 19:07:52 +00:00