73373 Commits

Author SHA1 Message Date
Niko Matsakis
6193c5cc2a translate Verifys into TypeTests and check them 2017-12-15 10:10:56 -05:00
Niko Matsakis
cd564d20ff only propagate ClosureRegionRequirements if non-trivial
Before, we would always have a `Some` ClosureRegionRequirements if we
were inferring values for a closure. Now we only do is it has a
non-empty set of outlives requirements.
2017-12-15 10:10:56 -05:00
Niko Matsakis
a0f0392a6d rename copy to dfs and make it customizable 2017-12-15 10:10:55 -05:00
Niko Matsakis
86334c7116 remove unnecessary intermediate vector from copy 2017-12-15 10:10:55 -05:00
Guillaume Gomez
97c18f420e Improve results a bit 2017-12-15 15:42:38 +01:00
Steve Klabnik
b98de5d0ac Rollup merge of #46737 - tshepang:better, r=steveklabnik
doc: a better example

Closes #46734
2017-12-15 09:27:03 -05:00
Steve Klabnik
e59f65c36e Rollup merge of #46728 - varkor:contrib-4, r=michaelwoerister
Fix division-by-zero ICE in -Z perf-stats

An invalid average now simply prints “N/A”. Fixes #46725.
2017-12-15 09:27:02 -05:00
Steve Klabnik
710e32ad09 Rollup merge of #46710 - xfix:patch-5, r=alexcrichton
Remove Sync and Send implementation for RawTable

The implementation was introduced when changing hash storage from Unique to *mut, but it was changed back to Unique.
2017-12-15 09:27:01 -05:00
Steve Klabnik
180a6b25df Rollup merge of #46705 - pornel:cargo-output, r=alexcrichton
Help Cargo tolerate RUSTFLAGS="--print=native-static-libs"

Alternative to https://github.com/rust-lang/cargo/pull/4807

Having this "error" message was a mistake, as it's firing at exactly wrong time when Cargo is trying to read the output of other print commands.
2017-12-15 09:26:59 -05:00
Steve Klabnik
1375be833a Rollup merge of #46690 - mystor:pub_line_column, r=jseyfried
Expose the line and column fields from the proc_macro::LineColumn struct

Right now the `LineColumn` struct is pretty useless because the fields are private.

This patch just marks the fields as public, which seems like the easiest solution.
2017-12-15 09:26:58 -05:00
Steve Klabnik
6e95629812 Rollup merge of #46652 - ishitatsuyuki:thinlto-backport, r=alexcrichton
ThinLTO: updates for LLVM 5

refs:

ccb80b9c0f
e611018a3f
2017-12-15 09:26:57 -05:00
Steve Klabnik
ba67acc0e7 Rollup merge of #46601 - matthewjasper:method-link-change, r=steveklabnik
Use a better link for method resolution in Deref docs

rust-lang-nursery/reference#149 breaks these links, so make them point to somewhere which won't break and provides a more deatailed description of method resolution.

cc @Havvy
r? @steveklabnik
2017-12-15 09:26:56 -05:00
Corey Farwell
4f04f975ae Replace libtest/lib.rs:FnBox with std::boxed::FnBox.
Fixes https://github.com/rust-lang/rust/issues/41810.
2017-12-15 09:11:14 -05:00
Guillaume Gomez
6351ebb7e5 make doc search more relevant 2017-12-15 14:44:49 +01:00
bors
5a0dc2d06d Auto merge of #46740 - oli-obk:rls, r=nrc
Update the rls and rustfmt submodules

r? @nrc
2017-12-15 13:26:32 +00:00
Oliver Schneider
b1e759762e
Update the rls and rustfmt submodules 2017-12-15 12:29:20 +01:00
bors
b4f323254a Auto merge of #46706 - sunjay:gat-lifetimes, r=nikomatsakis
Lifetime Resolution for Generic Associated Types

Tracking Issue: https://github.com/rust-lang/rust/issues/44265

r? @nikomatsakis

This PR implements lifetime resolution for generic associated types. 🎉

## Remaining Work Before Merge

I'm going to go do these things in the next day or so. Please let me know if you spot anything in my changes until then.

- [x] If I'm not mistaken, at least some tests should pass now. I need to go through the tests and re-enable the ones that should work by removing the appropriate `~ ERROR` comments
2017-12-15 10:50:20 +00:00
Eduard-Mihai Burtescu
8a26e0422d rustc_trans: approximate ABI alignment for padding/union fillers. 2017-12-15 11:35:32 +02:00
bors
04b23449c0 Auto merge of #46653 - estebank:str-as-ch, r=petrochenkov
When attempting to write str with single quote suggest double quotes

Fix #26101.
2017-12-15 08:13:37 +00:00
Esteban Küber
c60aab29f1 When attempting to write str with single quote suggest double quotes 2017-12-14 22:51:42 -08:00
Esteban Küber
02079e44dd Point at var in short lived borrows 2017-12-14 22:45:45 -08:00
bors
84feab34e4 Auto merge of #46537 - pnkfelix:two-phase-borrows, r=arielb1
[MIR-borrowck] Two phase borrows

This adds limited support for two-phase borrows as described in
  http://smallcultfollowing.com/babysteps/blog/2017/03/01/nested-method-calls-via-two-phase-borrowing/

The support is off by default; you opt into it via the flag `-Z two-phase-borrows`

I have written "*limited* support" above because there are simple variants of the simple `v.push(v.len())` example that one would think should work but currently do not, such as the one documented in the test compile-fail/borrowck/two-phase-reservation-sharing-interference-2.rs

(To be clear, that test is not describing something that is unsound. It is just providing an explicit example of a limitation in the implementation given in this PR. I have ideas on how to fix, but I want to land the work that is in this PR first, so that I can stop repeatedly rebasing this branch.)
2017-12-15 05:40:12 +00:00
Ariel Ben-Yehuda
c3763ed0cc Simplify CFG after IndVarSimplify
Fixes #45466
2017-12-14 22:35:37 -06:00
bors
9331031909 Auto merge of #46701 - eddyb:vector-newtypes, r=nagisa
rustc: unpack newtyped of #[repr(simd)] vector types.

Prerequisite for a `#[repr(transparent)]` implementation that works with SIMD vectors.

cc @rkruppe
2017-12-15 02:59:27 +00:00
bors
2f351415e5 Auto merge of #46641 - petrochenkov:nohelp2, r=nikomatsakis
Move compile-fail tests with NOTE/HELP annotations to UI

Remove NOTE/HELP annotations from UI tests

cc https://github.com/rust-lang/rust/issues/44844 @oli-obk @est31
r? @nikomatsakis
2017-12-15 00:11:40 +00:00
Tshepang Lekhonkhobe
6f6ece2991 doc: a better example
Closes #46734
2017-12-15 02:07:12 +02:00
Felix S. Klock II
159037e053 Address review feedback: don't treat "first" activation special.
Instead, filter out (non-)conflicts of activiations with themselves in
the same manner that we filter out non-conflict between an activation
and its reservation.
2017-12-14 17:34:16 -06:00
Felix S. Klock II
d654cd3b8b Review feedback: Added test with control flow merge of two borrows "before activation"
In reality the currently generated MIR has at least one of the activations
in a copy that occurs before the merge. But still, good to have a test,
in anticipation of that potentially changing...
2017-12-14 16:30:05 -06:00
Felix S. Klock II
b0421fa7de Address review feedback: don't bother skipping reservations paired with activations. 2017-12-14 16:28:26 -06:00
bors
0077d128d3 Auto merge of #45047 - durka:trait-alias, r=petrochenkov
trait alias infrastructure

This will be an implementation of trait aliases (RFC 1733, #41517).

Progress so far:

- [x] Feature gate
- [x] Add to parser
  - [x] `where` clauses
    - [x] prohibit LHS type parameter bounds via AST validation https://github.com/rust-lang/rust/pull/45047#discussion_r143575575
- [x] Add to AST and HIR
  - [x] make a separate PathSource for trait alias contexts https://github.com/rust-lang/rust/pull/45047#discussion_r143353932
- [x] Stub out enough of typeck and resolve to just barely not ICE

Postponed:

- [ ] Actually implement the alias part
- [ ] #21903
- [ ] #24010

I need some pointers on where to start with that last one. The test currently does this:

```
error[E0283]: type annotations required: cannot resolve `_: CD`
  --> src/test/run-pass/trait-alias.rs:34:16
   |
34 |     let both = foo();
   |                ^^^
   |
   = note: required by `foo`
```
2017-12-14 20:57:09 +00:00
Vadim Petrochenkov
66bd53ad2a Fix rebase
Update docs for custom normalization of test output
2017-12-14 23:54:08 +03:00
Vadim Petrochenkov
c3a7d36c6e Support regexes in custom normalization in UI tests 2017-12-14 23:26:40 +03:00
Vadim Petrochenkov
3fe1d9c524 Do the same things for fulldeps tests 2017-12-14 23:26:40 +03:00
Vadim Petrochenkov
1f5b201aff Remove NOTE/HELP annotations from UI tests 2017-12-14 23:26:39 +03:00
Vadim Petrochenkov
d4e51a8fb2 Move compile-fail tests with NOTE/HELP annotations to UI 2017-12-14 23:23:07 +03:00
Vadim Petrochenkov
3a2ad576c5 Remove NOTE/HELP annotations from error index tests 2017-12-14 23:23:07 +03:00
bors
3fc7f8522b Auto merge of #46562 - michaelwoerister:faster-span-hashing, r=eddyb
incr.comp.: Speed up span hashing by caching expansion context hashes.

This PR fixes the performance regressions from https://github.com/rust-lang/rust/pull/46338.

r? @nikomatsakis
2017-12-14 18:22:55 +00:00
Alex Burka
834674fa1d rls depends on rustfmt 2017-12-14 12:56:27 -05:00
Alex Burka
aaeae4c72e error for impl trait alias 2017-12-14 12:56:26 -05:00
Alex Burka
435fe5b794 trait alias fallout 2017-12-14 12:56:26 -05:00
Alex Burka
4f0b4f267f feature gate trait aliases 2017-12-14 12:56:26 -05:00
Alex Burka
4029a01984 error on any use of trait alias 2017-12-14 12:56:26 -05:00
Alex Burka
63f1c24d8a add trait aliases to typeck 2017-12-14 12:56:26 -05:00
Alex Burka
2eefc9db15 add trait aliases to HIR 2017-12-14 12:56:26 -05:00
Alex Burka
1b6ad1e647 stub out trait aliases in librustdoc 2017-12-14 12:56:26 -05:00
Alex Burka
46dc7c59de stub out trait aliases in save_analysis 2017-12-14 12:56:26 -05:00
Alex Burka
f1c4a922fe stub out trait aliases in resolve 2017-12-14 12:56:26 -05:00
Alex Burka
d4a28268cc add trait aliases to AST 2017-12-14 12:56:26 -05:00
Michael Woerister
0b4c2cccac incr.comp.: Do less hashing per Span. 2017-12-14 10:29:16 -06:00
Michael Woerister
9faa31612f incr.comp.: Speed up span hashing by caching expansion context hashes. 2017-12-14 10:15:10 -06:00