Commit Graph

65562 Commits

Author SHA1 Message Date
bors
a4c68c62f0 Auto merge of #42924 - pnkfelix:mir-dataflow, r=arielb1
Shift mir-dataflow from `rustc_borrowck` to `rustc_mir` crate.

Shift mir-dataflow from `rustc_borrowck` to `rustc_mir` crate.

Turn `elaborate_drops` and `rustc_peek` implementations into MIR passes that also live in `rustc_mir` crate.

Rewire things so `rustc_driver` uses the `ElaborateDrops` from `rustc_mir` crate.

(This PR is another baby step for mir-borrowck; it is a piece of work that other people want to rebase their stuff on top of, namely developers who are doing other dataflow analyses on top of MIR.)

I have deliberately architected this PR in an attempt to minimize the number of actual code changes. The majority of the diff should be little more than changes to mod and use declarations, as well as a few visibility promotions to pub(crate) when a declaration was moved downward in the module hierarchy.

(I have no problem with other PR's that move declarations around to try to clean this up; my goal was to ensure that the diff here was as small as possible, to make the review nearly trivial.)
2017-06-30 03:56:33 +00:00
Ian Douglas Scott
8ed83f4aaf
Fix Redox build, apparently broken by #42687 2017-06-29 18:18:32 -07:00
Ian Douglas Scott
8ee6bddf0b
redox: symlink and readlink 2017-06-29 17:43:44 -07:00
bors
5eef7c7966 Auto merge of #42902 - petrochenkov:keydcrate, r=jseyfried
Make `$crate` a keyword

Fixes https://github.com/rust-lang/rust/issues/42898

r? @jseyfried or @nrc
2017-06-29 23:48:17 +00:00
Niko Matsakis
cb26a25d4b tweak comments in E0495.rs 2017-06-29 18:02:31 -04:00
Andre Bogus
7be171db70 fix a stray semicolon 2017-06-29 23:38:13 +02:00
gaurikholkar
4abcf28d2b adding compile-fail test 2017-06-29 14:13:53 -07:00
Guillaume Gomez
7327cf7be5 Toggle wrappers are now generated correctly 2017-06-29 22:10:24 +02:00
bors
3bfc18a961 Auto merge of #42900 - sfackler:jemalloc-tweak, r=alexcrichton
Stop disabling fill in jemalloc

The underlying bug has been fixed for over 2 years!

r? @alexcrichton
2017-06-29 20:04:14 +00:00
Ariel Ben-Yehuda
1ea6813a61 mem_categorization: handle type-based paths in variant patterns
These can't be used in correct programs, but must be handled in order to
prevent ICEs.

Fixes #42880.
2017-06-29 20:20:14 +03:00
bors
686ec28cea Auto merge of #42527 - qnighy:unsized-tuple-coercions, r=arielb1
Unsized tuple coercions

Part of #18469. Fixes #32702.

#37685 and #34451 might also be related.

This PR does the following:

- Introduce explicit `Sized` constraints on tuple initializers, similar to that of record-struct initializers. Not much relevant to the main contribution but I noticed this when making tests for unsized tuple coercions.
- Implement `(.., T): Unsize<(.., U)>` where `T: Unsize<U>`.
- Assume `(.., T)` is MaybeUnsizedUnivariant.
- Modify `src/librustc/ty/util.rs` and `src/librustc_trans/glue.rs` so that tuples and structs are uniformly traversed when translating.
2017-06-29 15:04:31 +00:00
gaurikholkar
5be4fa864a code fixes for error code use warning 2017-06-29 06:37:18 -07:00
gaurikholkar
5841021f07 conflict fixes 2017-06-29 06:37:18 -07:00
gaurikholkar
e8b8f30373 Code review fixes 2017-06-29 06:37:18 -07:00
Niko Matsakis
95409016f8 remove fn main() { } from extended errors 2017-06-29 06:37:18 -07:00
gaurikholkar
aebc4e0074 Changing the error code to E0621 2017-06-29 06:37:18 -07:00
gaurikholkar
82f25b32ae code review fixes 2017-06-29 06:37:18 -07:00
gaurikholkar
a851e1e543 Adding changes to track anonymous region in self 2017-06-29 06:37:18 -07:00
gaurikholkar
2d99ffd11b track anonymous regions in return types, fix tidy errors 2017-06-29 06:37:18 -07:00
gaurikholkar
8fb6f74e57 Enabling E0611 for inherent functions 2017-06-29 06:37:18 -07:00
gaurikholkar
ae92bd095c Interchange ^ and - 2017-06-29 06:37:18 -07:00
Niko Matsakis
4bed5f0094 update reference for test 2017-06-29 06:37:18 -07:00
gaurikholkar
5df7a2c863 Adding new ui test for trait impl 2017-06-29 06:37:18 -07:00
gaurikholkar
176225c4dd Adding diagnostic code 0611 for lifetime errors with one named, one anonymous lifetime parameter 2017-06-29 06:37:18 -07:00
Masaki Hara
94862c601b
Correct comments about unsizing regarding #40319. 2017-06-29 21:25:35 +09:00
Masaki Hara
141265dfe8
Give a tracking-issue number for unsized tuple coercion. 2017-06-29 21:25:35 +09:00
Masaki Hara
03660b6476
Move unsized_tuple_coercion behind a feature gate. 2017-06-29 21:25:35 +09:00
Masaki Hara
b0bf1b4682
Split dst-dtor-{1,2} tests into four. 2017-06-29 21:23:33 +09:00
Masaki Hara
23d1521684
Add unsized tuple coercions. 2017-06-29 21:23:33 +09:00
Masaki Hara
17fca8b460
Check explicitly that tuple initializer is Sized. 2017-06-29 21:23:33 +09:00
petrochenkov
b33fd6d759 Change some terminology around keywords and reserved identifiers 2017-06-29 15:19:53 +03:00
Vadim Petrochenkov
e03948ef3e Make $crate a keyword 2017-06-29 15:19:52 +03:00
bors
d0e0f53376 Auto merge of #42887 - GuillaumeGomez:remove-err-methods, r=nikomatsakis
Remove err methods

To be merged after #42519.

cc @Susurrus @QuietMisdreavus
2017-06-29 11:13:39 +00:00
bors
7acce3724d Auto merge of #42964 - arielb1:rollup, r=arielb1
Rollup of 12 pull requests

- Successful merges: #42219, #42831, #42832, #42884, #42886, #42901, #42919, #42920, #42946, #42953, #42955, #42958
- Failed merges:
2017-06-29 08:40:39 +00:00
Ariel Ben-Yehuda
d3329d7102 Rollup merge of #42958 - aidanhs:aphs-better-stamping, r=Mark-Simulacrum
Better timestamps in builds

r? @Mark-Simulacrum
2017-06-29 08:40:13 +00:00
Ariel Ben-Yehuda
b0ed6d11e1 Rollup merge of #42955 - matklad:doc-path, r=steveklabnik
Document that `/` works as separator on Windows

Hi Whenever I see code like `Path::new("./src/bin/main.rs")` or `path.ends_with("foo/bar")`, I wonder if it will work on Windows as I expect. Unfortunately, reading the current docs does not help to answer this question, because all examples are Unix-specific.

However, I believe that using `/` is fine, because both Windows itself [and Rust stdlib](47faf1d519/src/libstd/sys/windows/path.rs (L26)) do treat it as a file separator, and because it is [actually used](abf01e1edd/tests/git.rs (L579)) in Cargo. So looks like we can just document it?

r? @steveklabnik

cc @retep998 I don't actually program for windows that much, so I might be totally wrong, and perhaps we should advise to always use (allocating) `.join` method to construct paths of more than one component?
2017-06-29 08:40:12 +00:00
Ariel Ben-Yehuda
4f121542e9 Rollup merge of #42953 - estebank:fix-20729, r=petrochenkov
Move type parameter shadowing test to `ui`

Fix #20729.
2017-06-29 08:40:10 +00:00
Ariel Ben-Yehuda
486aca787a Rollup merge of #42946 - AndiDog:patch-1, r=GuillaumeGomez
compile-error.md: Fix link reference

Was a copy-paste mistake, I guess
2017-06-29 08:40:09 +00:00
Ariel Ben-Yehuda
647a36da73 Rollup merge of #42920 - behnam:cmp, r=BurntSushi
[libcore/cmp] Expand Ord/PartialOrd Derivable doc for enum types

Expand Derivable docblock section for `Ord` and `PartialOrd` to cover
`enum` types, in addition to the existing language explaining it for
`struct` types.
2017-06-29 08:40:08 +00:00
Ariel Ben-Yehuda
bfe0098b66 Rollup merge of #42919 - zackmdavis:once_again_we_heard_you_the_first_time, r=eddyb
make lint on-by-default/implied-by messages appear only once

From review discussion on #38103 (https://github.com/rust-lang/rust/pull/38103#discussion_r94845060).

![we_heard](https://user-images.githubusercontent.com/1076988/27564103-6284b78e-5a8a-11e7-9d35-f7f297ca9573.png)

r? @nikomatsakis
2017-06-29 08:40:07 +00:00
Ariel Ben-Yehuda
ea762f2bff Rollup merge of #42901 - alexcrichton:alloc-one, r=sfackler
std: Fix implementation of `Alloc::alloc_one`

This had an accidental `u8 as *mut T` where it was intended to have just a
normal pointer-to-pointer cast.

Closes #42827
2017-06-29 08:40:06 +00:00
Ariel Ben-Yehuda
effd1e040e Rollup merge of #42886 - durka:pplmm-mwe, r=petrochenkov
syntax: allow negative integer literal expression to be interpolated as pattern

Fixes #42820.

r? @jseyfried
2017-06-29 08:40:05 +00:00
Ariel Ben-Yehuda
4bae0d8b7f Rollup merge of #42884 - stepancheg:set-env-run-pass, r=alexcrichton
Move global vars changing tests into run-pass

Should fix race #42795
2017-06-29 08:40:04 +00:00
Ariel Ben-Yehuda
5682494cf8 Rollup merge of #42832 - rthomas:doc-fmt, r=steveklabnik
Update docs for std::fmt::format #29355.

This rewords and removes the `Arguments` section from the docs for
fmt::format.

r? @steveklabnik
2017-06-29 08:40:03 +00:00
Ariel Ben-Yehuda
8b32c511e7 Rollup merge of #42831 - rthomas:master, r=QuietMisdreavus
Update docs for fmt::write.

#29355

I reworded it slightly to make it more clear that the function only take
two arguments - the output and the Arguments struct that can be
generated from the format_args! macro.

r? @steveklabnik
2017-06-29 08:40:02 +00:00
Ariel Ben-Yehuda
bea4e60327 Rollup merge of #42219 - pwoolcoc:add-allow-fail-to-libtest, r=GuillaumeGomez
add `allow_fail` test attribute

This change allows the user to add an `#[allow_fail]` attribute to
tests that will cause the test to compile & run, but if the test fails
it will not cause the entire test run to fail. The test output will
show the failure, but in yellow instead of red, and also indicate that
it was an allowed failure.

Here is an example of the output: http://imgur.com/a/wt7ga
2017-06-29 08:40:01 +00:00
Guillaume Gomez
5acc1deaf8 Improve long error explanations for E0620 and E0621 2017-06-29 09:51:11 +02:00
Guillaume Gomez
ff0fb9d906 Remove unused methods 2017-06-29 09:48:17 +02:00
Guillaume Gomez
05ac25affa Add E0620 2017-06-29 09:48:17 +02:00
Guillaume Gomez
09f42fb9cc Add E0619 2017-06-29 09:48:17 +02:00