]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoRollup merge of #61423 - davidtwco:correct-symbol-mangling, r=eddyb
Mazdak Farrokhzad [Sun, 2 Jun 2019 13:23:47 +0000 (15:23 +0200)]
Rollup merge of #61423 - davidtwco:correct-symbol-mangling, r=eddyb

codegen: change `$6d$` to `$u6d$`

This changes a mistake introduced in #61195 where the mangling
workaround used was incorrect, resolving [this comment](https://github.com/rust-lang/rust/pull/61195#discussion_r289597707) from @eddyb.

r? @eddyb

5 years agoRollup merge of #61380 - varkor:expected-usize-got-param, r=eddyb
Mazdak Farrokhzad [Sun, 2 Jun 2019 13:23:46 +0000 (15:23 +0200)]
Rollup merge of #61380 - varkor:expected-usize-got-param, r=eddyb

Fix some issues with `unwrap_usize` instead of `assert_usize`

Fixes https://github.com/rust-lang/rust/issues/61337.
Fixes https://github.com/rust-lang/rust/issues/61341.
Fixes https://github.com/rust-lang/rust/issues/61422.

r? @eddyb

5 years agoAuto merge of #61384 - varkor:fmin-fmax-llvm-opt, r=alexcrichton
bors [Sun, 2 Jun 2019 04:10:25 +0000 (04:10 +0000)]
Auto merge of #61384 - varkor:fmin-fmax-llvm-opt, r=alexcrichton

Update LLVM to include fmin/fmax optimisations

This will enable us to test if the optimisation issues mentioned in https://github.com/rust-lang/rust/issues/18384 really are fixed. Unfortunately, using the intrinsics immediately is problematic due to the libcore/libstd split (see https://github.com/rust-lang/rust/issues/50145).

5 years agoAuto merge of #61299 - eddyb:nicer-llvm-builder, r=rkruppe
bors [Sun, 2 Jun 2019 01:12:36 +0000 (01:12 +0000)]
Auto merge of #61299 - eddyb:nicer-llvm-builder, r=rkruppe

rustc_codegen_llvm: a couple builder niceties.

r? @nagisa cc @sunfishcode @rkruppe

5 years agoAdd regression test for #61422
varkor [Sat, 1 Jun 2019 10:57:22 +0000 (11:57 +0100)]
Add regression test for #61422

5 years agoAdd error for pattern-matching on arrays without a fixed size
varkor [Fri, 31 May 2019 21:27:26 +0000 (22:27 +0100)]
Add error for pattern-matching on arrays without a fixed size

5 years agoUse `assert_usize` instead of `unwrap_usize` in several places
varkor [Thu, 30 May 2019 23:26:30 +0000 (00:26 +0100)]
Use `assert_usize` instead of `unwrap_usize` in several places

5 years agoFix unwrapping usize issue with transparent MaybeUnit array wrapper
varkor [Thu, 30 May 2019 23:12:24 +0000 (00:12 +0100)]
Fix unwrapping usize issue with transparent MaybeUnit array wrapper

5 years agoAuto merge of #61436 - Manishearth:clippyup, r=Manishearth
bors [Sat, 1 Jun 2019 18:58:54 +0000 (18:58 +0000)]
Auto merge of #61436 - Manishearth:clippyup, r=Manishearth

Update clippy

r? @ghost

5 years agorustc_codegen_llvm: replace `fn noname()` with `const UNNAMED`.
Eduard-Mihai Burtescu [Wed, 29 May 2019 01:46:55 +0000 (04:46 +0300)]
rustc_codegen_llvm: replace `fn noname()` with `const UNNAMED`.

5 years agorustc_codegen_llvm: pretty up a few builder methods with a macro.
Eduard-Mihai Burtescu [Wed, 29 May 2019 01:34:33 +0000 (04:34 +0300)]
rustc_codegen_llvm: pretty up a few builder methods with a macro.

5 years agoUpdate clippy
Manish Goregaokar [Sat, 1 Jun 2019 17:50:55 +0000 (10:50 -0700)]
Update clippy

5 years agoAuto merge of #61350 - RalfJung:alloc, r=oli-obk
bors [Sat, 1 Jun 2019 16:06:11 +0000 (16:06 +0000)]
Auto merge of #61350 - RalfJung:alloc, r=oli-obk

light refactoring of global AllocMap

* rename AllocKind -> GlobalAlloc. This stores the allocation itself, not just its kind.
* rename the methods that allocate stuff to have consistent names.

Cc @oli-obk

5 years agoAuto merge of #61388 - Amanieu:hashbrown4, r=alexcrichton
bors [Sat, 1 Jun 2019 11:10:11 +0000 (11:10 +0000)]
Auto merge of #61388 - Amanieu:hashbrown4, r=alexcrichton

Bump hashbrown to 0.4.0

Fixes #61357

This also includes rust-lang/hashbrown#80.

5 years agocodegen: change `$6d$` to `$u6d$`
David Wood [Sat, 1 Jun 2019 10:37:11 +0000 (11:37 +0100)]
codegen: change `$6d$` to `$u6d$`

This changes a mistake introduced in #61195 where the mangling
workaround used was incorrect.

5 years agoBump hashbrown to 0.4.0
Amanieu d'Antras [Fri, 31 May 2019 07:40:14 +0000 (08:40 +0100)]
Bump hashbrown to 0.4.0

Fixes #61357

5 years agoAuto merge of #61418 - Centril:rollup-yvj33a1, r=Centril
bors [Sat, 1 Jun 2019 06:34:15 +0000 (06:34 +0000)]
Auto merge of #61418 - Centril:rollup-yvj33a1, r=Centril

Rollup of 8 pull requests

Successful merges:

 - #60729 (Expand dynamic drop tests for cases in #47949)
 - #61263 (Don't generate div inside header (h4/h3/h...) elements)
 - #61364 (Stabilize reverse_bits feature)
 - #61375 (Make "panic did not include expected string" message consistent)
 - #61387 (Remove ty::BrFresh and RegionConstraintCollector::new_bound)
 - #61389 (Remove GlobalArenas and use Arena instead)
 - #61391 (Doc comment fixes for `rustc::mir::interpret::InterpretCx`)
 - #61403 (Remove unnecessary `-Z continue-parse-after-error` from tests)

Failed merges:

r? @ghost

5 years agoRollup merge of #61403 - estebank:test-cleanup, r=petrochenkov
Mazdak Farrokhzad [Sat, 1 Jun 2019 04:50:10 +0000 (06:50 +0200)]
Rollup merge of #61403 - estebank:test-cleanup, r=petrochenkov

Remove unnecessary `-Z continue-parse-after-error` from tests

r? @petrochenkov

5 years agoRollup merge of #61391 - wesleywiser:doc_comments_interpretcx, r=Centril
Mazdak Farrokhzad [Sat, 1 Jun 2019 04:50:09 +0000 (06:50 +0200)]
Rollup merge of #61391 - wesleywiser:doc_comments_interpretcx, r=Centril

Doc comment fixes for `rustc::mir::interpret::InterpretCx`

Fixes some stuff I noticed while working in const-prop.

5 years agoRollup merge of #61389 - Zoxc:arena-cleanup, r=eddyb
Mazdak Farrokhzad [Sat, 1 Jun 2019 04:50:07 +0000 (06:50 +0200)]
Rollup merge of #61389 - Zoxc:arena-cleanup, r=eddyb

Remove GlobalArenas and use Arena instead

r? @eddyb

5 years agoRollup merge of #61387 - JohnTitor:remove-unused, r=matthewjasper
Mazdak Farrokhzad [Sat, 1 Jun 2019 04:50:06 +0000 (06:50 +0200)]
Rollup merge of #61387 - JohnTitor:remove-unused, r=matthewjasper

Remove ty::BrFresh and RegionConstraintCollector::new_bound

Fixes #60957

r? @matthewjasper

5 years agoRollup merge of #61375 - varkor:panic-contains-string-lowercase, r=Centril
Mazdak Farrokhzad [Sat, 1 Jun 2019 04:50:05 +0000 (06:50 +0200)]
Rollup merge of #61375 - varkor:panic-contains-string-lowercase, r=Centril

Make "panic did not include expected string" message consistent

Note messages are typically lowercase.

5 years agoRollup merge of #61364 - lzutao:stabilize-reverse_bits, r=Centril
Mazdak Farrokhzad [Sat, 1 Jun 2019 04:50:03 +0000 (06:50 +0200)]
Rollup merge of #61364 - lzutao:stabilize-reverse_bits, r=Centril

Stabilize reverse_bits feature

FCP done in https://github.com/rust-lang/rust/issues/48763#issuecomment-497349379

Closes #48763

r? @Centril

5 years agoRollup merge of #61263 - GuillaumeGomez:valid-html, r=Manishearth
Mazdak Farrokhzad [Sat, 1 Jun 2019 04:50:02 +0000 (06:50 +0200)]
Rollup merge of #61263 - GuillaumeGomez:valid-html, r=Manishearth

Don't generate div inside header (h4/h3/h...) elements

Fixes #60865.

According to the HTML spec, we're not supposed to put `div` elements inside heading elements (h4/h3/h...). It doesn't change the display as far as I could tell.

r? @QuietMisdreavus

5 years agoRollup merge of #60729 - matthewjasper:leak-after-into, r=nikomatsakis
Mazdak Farrokhzad [Sat, 1 Jun 2019 04:50:00 +0000 (06:50 +0200)]
Rollup merge of #60729 - matthewjasper:leak-after-into, r=nikomatsakis

Expand dynamic drop tests for cases in #47949

Adds test cases for #47949

5 years agoAuto merge of #60145 - little-dude:ip2, r=alexcrichton
bors [Sat, 1 Jun 2019 03:46:13 +0000 (03:46 +0000)]
Auto merge of #60145 - little-dude:ip2, r=alexcrichton

std::net: Ipv4Addr and Ipv6Addr improvements

Picking this up again from my previous PR: https://github.com/rust-lang/rust/pull/56050
Related to: https://github.com/rust-lang/rust/issues/27709
Fixes: https://github.com/rust-lang/rust/issues/57558
- add `add Ipv4Addr::is_reserved()`
  - [X] implementation
  - [X] tests
- add `Ipv6Addr::is_unicast_link_local_strict()` and update `Ipv6Addr::is_unicast_link_local()` documentation
  - [X] implementation
  - [X] test
- add `Ipv4Addr::is_benchmarking()`
  - [X] implementation
  - [X] test
- add `Ipv4Addr::is_ietf_protocol_assignment()`
  - [X] implementation
  - [X] test
- add `Ipv4Addr::is_shared()`
  - [X] implementation
  - [x] test
- fix `Ipv4Addr:is_global()`
  - [X] implementation
  - [x] test
- [X] refactor the tests for IP properties. This makes the tests more verbose, but using macros have two advantages:
    - it will now be easier to add tests for all the new methods
    - we get clear error messages when a test is failing. For instance:

```
---- net::ip::tests::ip_properties stdout ----
thread '<unnamed>' panicked at 'assertion failed: !ip!("fec0::").is_global()', src/libstd/net/ip.rs:2036:9

```

Whereas previously it was something like

```
thread '<unnamed>' panicked at 'assertion failed: `(left == right)`
   left: `true`,
  right: `false`', libstd/net/ip.rs:1948:13
```

-----------------------

# Ongoing discussions:

## Should `Ipv4Addr::is_global()` return `true` or `false` for reserved addresses?

Reserved addresses are addresses that are matched by `Ipv4Addr::is_reserved()`.
@the8472 [pointed out](https://github.com/rust-lang/rust/pull/60145#issuecomment-485458319) that [RFC 4291](https://tools.ietf.org/html/rfc4291#section-2.4) says IPv6 reserved addresses should be considered global:

```
Future specifications may redefine one or more sub-ranges of the
Global Unicast space for other purposes, but unless and until that
happens, implementations must treat all addresses that do not start
with any of the above-listed prefixes as Global Unicast addresses.
```

We could extrapolate that this should also be the case for IPv4. However, it seems that [IANA considers them non global](https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml) (see [my comment](https://github.com/rust-lang/rust/pull/60145#issuecomment-485713270))

### Final decision

There seems to be a consensus that reserved addresses have a different meaning for IPv4 and IPv6 ([comment1](https://github.com/rust-lang/rust/pull/60145#issuecomment-485963789) [comment2](https://github.com/rust-lang/rust/pull/60145#issuecomment-485944582), so we can consider that RFC4291 does not apply to IPv4, and that reserved IPv4 addresses are _not_ global.

## Should `Ipv6Addr::is_unicast_site_local()` exist?

@pusateri [noted](https://github.com/rust-lang/rust/pull/60145#issuecomment-485507515) that site-local addresses have been deprecated for a while by [RFC 3879](https://tools.ietf.org/html/rfc3879) and new implementations _must not_ support them. However, since this method is stable, removing does not seem possible. This kind of situation is covered by the RFC which stated that existing implementation _may_ continue supporting site-local addresses.

### Final decision

Let's keep this method. It is stable already, and the RFC explicitly states that existing implementation may remain.

---------

Note: I'll be AFK from April 27th to May 11th. Anyone should feel free to pick this up if the PR hasn't been merged by then. Sorry for dragging that for so long already.

5 years agoAuto merge of #61394 - pietroalbini:rollup-lzugnb4, r=pietroalbini
bors [Sat, 1 Jun 2019 00:57:37 +0000 (00:57 +0000)]
Auto merge of #61394 - pietroalbini:rollup-lzugnb4, r=pietroalbini

Rollup of 11 pull requests

Successful merges:

 - #60897 (error: remove StringError from Debug output)
 - #61304 (Speed up Azure CI installing Windows dependencies)
 - #61319 (Swap order of `unsafe async fn` to `async unsafe fn`)
 - #61342 (Set ellipsis_inclusive_range_patterns lint to warn)
 - #61344 (Add regression test for const generics ICE)
 - #61359 (Fix links in Deref documentation)
 - #61363 (Stabilize iter_nth_back feature)
 - #61369 (Fixed lifetime misspelling)
 - #61372 (Migrate some books to mdbook version 0.2)
 - #61374 (Explicitly suggest 'type_ascription' feature)
 - #61382 (Fixed a typo in core::convert::AsMut)

Failed merges:

r? @ghost

5 years agoAuto merge of #61300 - indygreg:upgrade-cross-make, r=sanxiyn
bors [Fri, 31 May 2019 22:16:09 +0000 (22:16 +0000)]
Auto merge of #61300 - indygreg:upgrade-cross-make, r=sanxiyn

Update musl-cross-make to 0.9.8

This version uses musl 1.1.22 and GCC 6.4.0 by default. It also
contains support for newer binutils and GCC versions, should we
want to bump those as well. But I'm purposefully limiting this
patch in order to reduce the surface area for controversy.

5 years agofix tidy
Esteban Küber [Fri, 31 May 2019 20:50:04 +0000 (13:50 -0700)]
fix tidy

5 years agoAuto merge of #57967 - eddyb:rmangle, r=michaelwoerister
bors [Fri, 31 May 2019 17:10:11 +0000 (17:10 +0000)]
Auto merge of #57967 - eddyb:rmangle, r=michaelwoerister

Introduce Rust symbol mangling scheme.

This is an implementation of a "feature-complete" Rust mangling scheme, in the vein of rust-lang/rfcs#2603 ~~- but with some differences, see https://github.com/rust-lang/rfcs/pull/2603#issuecomment-458410463 for details~~ (@michaelwoerister integrated my proposed changes into the RFC itself).

On nightly, you can now control the mangling scheme with `-Z symbol-mangling-version`, which can be:
* `legacy`: the older mangling version, still the default currently
* `v0`: the new RFC mangling version, as implemented by this PR

To test the new mangling, set `RUSTFLAGS=-Zsymbol-mangling-version=v0` (or change [`rustflags` in `.cargo/config.toml`](https://doc.rust-lang.org/cargo/reference/config.html#configuration-keys)). Please note that only symbols from crates built with that flag will use the new mangling, and that tool support (e.g. debuggers) will be limited initially, and it may take a while for everything to be upstreamed. However, `RUST_BACKTRACE` should work out of the box with either mangling version.

<hr/>

The demangling implementation PR is https://github.com/alexcrichton/rustc-demangle/pull/23
~~(this PR already uses it via a git dependency, to allow testing)~~.

Discussion of the *design* of the mangling scheme should still happen on the RFC, but this PR's specific implementation details can be reviewed in parallel.

*Notes for reviewers*:
* ~~only the last 6 commits are specific to this branch, if necessary I can open a separate PR for everything else (it was meant to be its own small refactoring, but it got a bit out of hand)~~
~~based on #58140~~
* the "harness" commit is only there because it does some extra validation (comparing the demangling from `rustc-demangle` to the compiler's pretty-printing, adjusted slightly to produce the same output), that I would like to try on crater
* ~~there is the question of whether we should turn on the new mangling now, wait for tools to support it (I'm working on that), and/or have it under a `-Z` flag for now~~ (we're gating this on `-Z symbol-mangling-version=v0`, see above)

r? @nikomatsakis / @michaelwoerister cc @rust-lang/compiler

5 years agotest: add a more complex symbol-name testcase.
Eduard-Mihai Burtescu [Thu, 30 May 2019 00:56:45 +0000 (03:56 +0300)]
test: add a more complex symbol-name testcase.

5 years agorustc_codegen_utils: remove symbol name dumping/checking harness, and mw impl.
Eduard-Mihai Burtescu [Wed, 10 Apr 2019 05:33:31 +0000 (08:33 +0300)]
rustc_codegen_utils: remove symbol name dumping/checking harness, and mw impl.

5 years agorustc_codegen_utils: update mw's symbol mangler implementation.
Eduard-Mihai Burtescu [Thu, 4 Apr 2019 18:29:07 +0000 (21:29 +0300)]
rustc_codegen_utils: update mw's symbol mangler implementation.

5 years agorustc_codegen_utils: add harness for dumping/checking symbol names, and mw mangling...
Eduard-Mihai Burtescu [Wed, 29 May 2019 21:42:56 +0000 (00:42 +0300)]
rustc_codegen_utils: add harness for dumping/checking symbol names, and mw mangling impl.

5 years agotest: force `legacy` mangling for run-make-fulldeps/a-b-a-linker-guard.
Eduard-Mihai Burtescu [Tue, 29 Jan 2019 22:53:36 +0000 (00:53 +0200)]
test: force `legacy` mangling for run-make-fulldeps/a-b-a-linker-guard.

5 years agotest: support both (`legacy` and `v0`) choices of mangling.
Eduard-Mihai Burtescu [Sat, 13 Apr 2019 16:03:02 +0000 (19:03 +0300)]
test: support both (`legacy` and `v0`) choices of mangling.

5 years agorustc_codegen_utils: don't ignore `Ctor` path components in symbols.
Eduard-Mihai Burtescu [Mon, 4 Feb 2019 07:03:31 +0000 (09:03 +0200)]
rustc_codegen_utils: don't ignore `Ctor` path components in symbols.

5 years agorustc_codegen_utils: add new mangling scheme implementation.
Eduard-Mihai Burtescu [Tue, 29 Jan 2019 05:24:32 +0000 (07:24 +0200)]
rustc_codegen_utils: add new mangling scheme implementation.

5 years agorustc_codegen_utils: test demangler output, not just symbol names.
Eduard-Mihai Burtescu [Wed, 29 May 2019 20:58:55 +0000 (23:58 +0300)]
rustc_codegen_utils: test demangler output, not just symbol names.

5 years agoUpdate rustc-demangle version.
Eduard-Mihai Burtescu [Thu, 30 May 2019 19:58:49 +0000 (22:58 +0300)]
Update rustc-demangle version.

5 years agoAuto merge of #61298 - matthiaskrgr:submodule_upd, r=oli-obk
bors [Fri, 31 May 2019 14:06:17 +0000 (14:06 +0000)]
Auto merge of #61298 - matthiaskrgr:submodule_upd, r=oli-obk

submodules: update clippy from fb33fad0 to d2f51228

Changes:
````
Rustup to https://github.com/rust-lang/rust/pull/61203
rustup https://github.com/rust-lang/rust/pull/60928
rustup https://github.com/rust-lang/rust/pull/61164 (which is included in https://github.com/rust-lang/rust/pull/61274)
````

Fixes #61287

r? @oli-obk

5 years agoRollup merge of #61382 - OptimisticPeach:patch-1, r=Centril
Pietro Albini [Fri, 31 May 2019 11:34:08 +0000 (13:34 +0200)]
Rollup merge of #61382 - OptimisticPeach:patch-1, r=Centril

Fixed a typo in core::convert::AsMut

Just missing a space, and added a comma to make more idiomatic.

5 years agoRollup merge of #61374 - VirrageS:master, r=Centril
Pietro Albini [Fri, 31 May 2019 11:34:07 +0000 (13:34 +0200)]
Rollup merge of #61374 - VirrageS:master, r=Centril

Explicitly suggest 'type_ascription' feature

Closes: #61325
r? @estebank

5 years agoRollup merge of #61372 - mati865:books, r=Centril,GuillaumeGomez
Pietro Albini [Fri, 31 May 2019 11:34:06 +0000 (13:34 +0200)]
Rollup merge of #61372 - mati865:books, r=Centril,GuillaumeGomez

Migrate some books to mdbook version 0.2

There are 3 books still using old version but they need more effort so I hope to do them in subsequent PR if I find the time.

5 years agoRollup merge of #61369 - Vallentin:patch-1, r=varkor
Pietro Albini [Fri, 31 May 2019 11:34:03 +0000 (13:34 +0200)]
Rollup merge of #61369 - Vallentin:patch-1, r=varkor

Fixed lifetime misspelling

5 years agoRollup merge of #61363 - lzutao:stabilize-iter_nth_back, r=Centril
Pietro Albini [Fri, 31 May 2019 11:34:02 +0000 (13:34 +0200)]
Rollup merge of #61363 - lzutao:stabilize-iter_nth_back, r=Centril

Stabilize iter_nth_back feature

FCP done in https://github.com/rust-lang/rust/issues/56995#issuecomment-491145691

Closes #56995

r? @Centril

5 years agoRollup merge of #61359 - GuillaumeGomez:fix-deref-doc-links, r=Manishearth
Pietro Albini [Fri, 31 May 2019 11:34:00 +0000 (13:34 +0200)]
Rollup merge of #61359 - GuillaumeGomez:fix-deref-doc-links, r=Manishearth

Fix links in Deref documentation

Fixes #61358.

In commonmark, the "link alias" has to be right after the link. Screenshot:

<img width="970" alt="Screenshot 2019-05-30 at 19 01 58" src="https://user-images.githubusercontent.com/3050060/58650155-3b594e00-830e-11e9-956c-4dadefa40ff0.png">

r? @Manishearth

5 years agoRollup merge of #61344 - varkor:const-failed-to-life-ice, r=Centril
Pietro Albini [Fri, 31 May 2019 11:33:58 +0000 (13:33 +0200)]
Rollup merge of #61344 - varkor:const-failed-to-life-ice, r=Centril

Add regression test for const generics ICE

Closes https://github.com/rust-lang/rust/issues/60879.

5 years agoRollup merge of #61342 - memoryruins:ellipsis_inclusive_range_patterns, r=Centril
Pietro Albini [Fri, 31 May 2019 11:33:57 +0000 (13:33 +0200)]
Rollup merge of #61342 - memoryruins:ellipsis_inclusive_range_patterns, r=Centril

Set ellipsis_inclusive_range_patterns lint to warn

Continuing #54910, the `ellipsis_inclusive_range_patterns` lint is set to warn.

r? @Centril

5 years agoRollup merge of #61319 - Centril:async-unsafe-fn-order, r=cramertj
Pietro Albini [Fri, 31 May 2019 11:33:55 +0000 (13:33 +0200)]
Rollup merge of #61319 - Centril:async-unsafe-fn-order, r=cramertj

Swap order of `unsafe async fn` to `async unsafe fn`

Change the order of `unsafe async fn` to `async unsafe fn`.

I had intended to do this a while back but didn't get around to it...

This should be done because:
- It is the order used by `const unsafe fn` so therefore it is consistent.
- This keeps all the "effect/restriction" modifiers to the left of `unsafe` (which according to some is not an effect) instead of mixing them such that we are more forward compatible with some sort of effect system.

r? @cramertj

5 years agoRollup merge of #61304 - lzybkr:iwr_progress, r=alexcrichton
Pietro Albini [Fri, 31 May 2019 11:33:54 +0000 (13:33 +0200)]
Rollup merge of #61304 - lzybkr:iwr_progress, r=alexcrichton

Speed up Azure CI installing Windows dependencies

There is known issue where PowerShell is unreasonably slow downloading
files due to an issue with rendering the progress bar, see this [issue](https://github.com/PowerShell/PowerShell/issues/2138)

That issue is fixed in PowerShell Core (available in Azure Pipelines as
pwsh.exe) but it can also be worked around by setting:

    $ProgressPreference = 'SilentlyContinue'

I measured downloading LLVM and it took about 220s before, 5s after, so the improvement is significant.

5 years agoRollup merge of #60897 - seanmonstar:patch-4, r=sfackler
Pietro Albini [Fri, 31 May 2019 11:33:51 +0000 (13:33 +0200)]
Rollup merge of #60897 - seanmonstar:patch-4, r=sfackler

error: remove StringError from Debug output

Seeing `StringError("something something")` in debug output can cause
 someone to think there was an error dealing with `String`s, not that the
error type is just a string. So, remove that noise.

For example:

```
io error: Custom { kind: InvalidData, error: StringError("corrupt data") }
```

With this change:

```
io error: Custom { kind: InvalidData, error: "corrupt data" }
```

5 years agoAuto merge of #60166 - oli-obk:type_name, r=eddyb
bors [Fri, 31 May 2019 10:42:31 +0000 (10:42 +0000)]
Auto merge of #60166 - oli-obk:type_name, r=eddyb

Make the `type_name` intrinsic deterministic

cc @eddyb for the printing infrastructure
cc @Centril for the deterministic (coherent?) output

r? @sfackler

5 years agoDoc comment fixes for `rustc::mir::interpret::InterpretCx`
Wesley Wiser [Fri, 31 May 2019 09:01:35 +0000 (05:01 -0400)]
Doc comment fixes for `rustc::mir::interpret::InterpretCx`

5 years agoRemove GlobalArenas and use Arena instead
John Kåre Alsaker [Fri, 31 May 2019 07:25:34 +0000 (09:25 +0200)]
Remove GlobalArenas and use Arena instead

5 years agoRemove ty::BrFresh and new_bound
Yuki Okushi [Fri, 31 May 2019 06:09:04 +0000 (15:09 +0900)]
Remove ty::BrFresh and new_bound

5 years agoStabilize reverse_bits feature
Lzu Tao [Thu, 30 May 2019 18:51:47 +0000 (18:51 +0000)]
Stabilize reverse_bits feature

5 years agoRemove unecessary `-Z continue-parse-after-error` from tests
Esteban Küber [Fri, 31 May 2019 01:55:09 +0000 (18:55 -0700)]
Remove unecessary `-Z continue-parse-after-error` from tests

5 years agoFix unwrapping usize issue in HasMutInterior
varkor [Thu, 30 May 2019 22:44:28 +0000 (23:44 +0100)]
Fix unwrapping usize issue in HasMutInterior

5 years agoAdd more information in ConstEvalFailure error
varkor [Thu, 30 May 2019 22:43:04 +0000 (23:43 +0100)]
Add more information in ConstEvalFailure error

5 years agoUpdate LLVM
varkor [Thu, 30 May 2019 23:49:06 +0000 (00:49 +0100)]
Update LLVM

5 years agoFixed some typos.
OptimisticPeach [Thu, 30 May 2019 23:37:23 +0000 (19:37 -0400)]
Fixed some typos.

5 years agoParse 'async unsafe fn' instead of 'unsafe async fn'.
Mazdak Farrokhzad [Wed, 29 May 2019 14:53:48 +0000 (16:53 +0200)]
Parse 'async unsafe fn' instead of 'unsafe async fn'.

5 years agoMake "panic did not include expected string" message consistent
varkor [Thu, 30 May 2019 20:58:33 +0000 (21:58 +0100)]
Make "panic did not include expected string" message consistent

Note messages are typically lowercase.

5 years agoExplicitly suggest 'type_ascription' feature
Janusz Marcinkiewicz [Thu, 30 May 2019 20:41:09 +0000 (22:41 +0200)]
Explicitly suggest 'type_ascription' feature

5 years agoAuto merge of #61353 - alexcrichton:less-tools, r=pietroalbini
bors [Thu, 30 May 2019 19:52:11 +0000 (19:52 +0000)]
Auto merge of #61353 - alexcrichton:less-tools, r=pietroalbini

ci: Favor SCRIPT instead of RUST_CHECK_TARGET

Since #61212 we've been timing out on OSX, and this looks to be because
we're building tools like Cargo and the RLS twice instead of once. This
turns out to be a slight bug in our configuration. CI builders using the
`RUST_CHECK_TARGET` directive actually execute `make all` just before
their acual target. In `make all` we're building a stage2 cargo, and
then in `make dist` we're building a stage1 cargo.

Other builders use `SCRIPT` which provides explicit control over what
`x.py` script, for example, is used to execute the build. This moves
almost all targets to using `SCRIPT` to ensure that we're explicitly
specifying what's being built where. Additionally this updates the logic
of `RUST_CHECK_TARGET` to remove the pre-flight tidy as well as the
pre-flight `make all`. The system LLVM builder (run on PRs) now
explicitly runs tidy first and then runs the rest of the test suite.

5 years agoFixed lifetime misspelling
Christian Vallentin [Thu, 30 May 2019 19:29:32 +0000 (21:29 +0200)]
Fixed lifetime misspelling

5 years agoExpand dynamic drop tests for cases in #47949
Matthew Jasper [Sat, 11 May 2019 10:16:26 +0000 (11:16 +0100)]
Expand dynamic drop tests for cases in #47949

5 years agoAdd regression test for const generics ICE
varkor [Thu, 30 May 2019 18:55:43 +0000 (19:55 +0100)]
Add regression test for const generics ICE

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
5 years agoMerge branch 'master' into iwr_progress
Jason Shirk [Thu, 30 May 2019 18:00:21 +0000 (11:00 -0700)]
Merge branch 'master' into iwr_progress

5 years agoStabilize iter_nth_back feature
Lzu Tao [Thu, 30 May 2019 18:00:17 +0000 (18:00 +0000)]
Stabilize iter_nth_back feature

5 years agoFix links in Deref documentation
Guillaume Gomez [Thu, 30 May 2019 17:06:23 +0000 (19:06 +0200)]
Fix links in Deref documentation

5 years agoAuto merge of #61253 - nnethercote:avoid-hygiene_data-lookups, r=petrochenkov
bors [Thu, 30 May 2019 16:54:13 +0000 (16:54 +0000)]
Auto merge of #61253 - nnethercote:avoid-hygiene_data-lookups, r=petrochenkov

Avoid `hygiene_data` lookups

These commits mostly introduce compound operations that allow two close adjacent `hygiene_data` lookups to be combined.

r? @petrochenkov

5 years agoci: Favor SCRIPT instead of RUST_CHECK_TARGET
Alex Crichton [Thu, 30 May 2019 14:22:53 +0000 (07:22 -0700)]
ci: Favor SCRIPT instead of RUST_CHECK_TARGET

Since #61212 we've been timing out on OSX, and this looks to be because
we're building tools like Cargo and the RLS twice instead of once. This
turns out to be a slight bug in our configuration. CI builders using the
`RUST_CHECK_TARGET` directive actually execute `make all` just before
their acual target. In `make all` we're building a stage2 cargo, and
then in `make dist` we're building a stage1 cargo.

Other builders use `SCRIPT` which provides explicit control over what
`x.py` script, for example, is used to execute the build. This moves
almost all targets to using `SCRIPT` to ensure that we're explicitly
specifying what's being built where. Additionally this updates the logic
of `RUST_CHECK_TARGET` to remove the pre-flight tidy as well as the
pre-flight `make all`. The system LLVM builder (run on PRs) now
explicitly runs tidy first and then runs the rest of the test suite.

5 years agoMigrate nomicon book to MdBook2
Mateusz Mikuła [Thu, 30 May 2019 12:30:59 +0000 (14:30 +0200)]
Migrate nomicon book to MdBook2

5 years agoMigrate rustdoc book to MdBook2
Mateusz Mikuła [Thu, 30 May 2019 12:22:33 +0000 (14:22 +0200)]
Migrate rustdoc book to MdBook2

5 years agorename did -> def_id
Ralf Jung [Thu, 30 May 2019 12:09:34 +0000 (14:09 +0200)]
rename did -> def_id

5 years agoMigrate unstable-book to MdBook2
Mateusz Mikuła [Thu, 30 May 2019 11:59:12 +0000 (13:59 +0200)]
Migrate unstable-book to MdBook2

5 years agoAuto merge of #61343 - Centril:rollup-dzsuo01, r=Centril
bors [Thu, 30 May 2019 11:56:32 +0000 (11:56 +0000)]
Auto merge of #61343 - Centril:rollup-dzsuo01, r=Centril

Rollup of 11 pull requests

Successful merges:

 - #60802 (upgrade rustdoc's `pulldown-cmark` to 0.5.2)
 - #60839 (Fix ICE with struct ctors and const generics.)
 - #60850 (Stabilize RefCell::try_borrow_unguarded)
 - #61231 (Fix linkage diagnostic so it doesn't ICE for external crates)
 - #61244 (Box::into_vec: use Box::into_raw instead of mem::forget)
 - #61279 (implicit `Option`-returning doctests)
 - #61280 (Revert "Disable solaris target since toolchain no longer builds")
 - #61284 (Update all s3 URLs used on CI with subdomains)
 - #61321 (libsyntax: introduce 'fn is_keyword_ahead(dist, keywords)'.)
 - #61322 (ci: display more debug information in the init_repo script)
 - #61333 (Fix ICE with APIT in a function with a const parameter)

Failed merges:

 - #61304 (Speed up Azure CI installing Windows dependencies)

r? @ghost

5 years agolight refactoring of global AllocMap
Ralf Jung [Thu, 30 May 2019 11:05:05 +0000 (13:05 +0200)]
light refactoring of global AllocMap

* rename AllocKind -> GlobalAlloc. This stores the allocation itself, not just its kind.
* rename the methods that allocate stuff to have consistent names.

5 years agoUpdate ui and run-pass for ellipsis_inclusive_range_patterns lint
memoryruins [Thu, 30 May 2019 10:20:30 +0000 (06:20 -0400)]
Update ui and run-pass for ellipsis_inclusive_range_patterns lint

5 years agosubmodules: update clippy from fb33fad0 to d2f51228
Matthias Krüger [Thu, 30 May 2019 09:55:29 +0000 (11:55 +0200)]
submodules: update clippy from fb33fad0 to d2f51228

Changes:
````
Rustup to https://github.com/rust-lang/rust/pull/61203
rustup https://github.com/rust-lang/rust/pull/60928
rustup https://github.com/rust-lang/rust/pull/61164 (which is included in https://github.com/rust-lang/rust/pull/61274)
````

5 years agoMake the `type_name` intrinsic's output deterministic
Oliver Scherer [Mon, 22 Apr 2019 11:53:52 +0000 (13:53 +0200)]
Make the `type_name` intrinsic's output deterministic

5 years agoRollup merge of #61333 - varkor:apit-const-param-ice, r=estebank
Mazdak Farrokhzad [Thu, 30 May 2019 08:53:07 +0000 (10:53 +0200)]
Rollup merge of #61333 - varkor:apit-const-param-ice, r=estebank

Fix ICE with APIT in a function with a const parameter

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

5 years agoRollup merge of #61322 - pietroalbini:debug-windows-submodule-cloning, r=alexcrichton
Mazdak Farrokhzad [Thu, 30 May 2019 08:53:05 +0000 (10:53 +0200)]
Rollup merge of #61322 - pietroalbini:debug-windows-submodule-cloning, r=alexcrichton

ci: display more debug information in the init_repo script

I'm *really* confused about the error message [while cloning submodules on Windows on Azure](https://dev.azure.com/rust-lang/e71b0ddf-dd27-435a-873c-e30f86eea377/_apis/build/builds/295/logs/506):

```
/usr/bin/tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options
Try '/usr/bin/tar --help' or '/usr/bin/tar --usage' for more information.
```

It doesn't make sense for it to execute a command without any of those flags since they're clearly added:

https://github.com/rust-lang/rust/blob/81970852e172c04322cbf8ba23effabeb491c83c/src/ci/init_repo.sh#L45

So this adds `set -x` to the script to hopefully catch what command it's executing.

r? @alexcrichton
cc https://github.com/rust-lang/rust/issues/61301

5 years agoRollup merge of #61321 - Centril:is_keyword_ahead, r=petrochenkov
Mazdak Farrokhzad [Thu, 30 May 2019 08:53:03 +0000 (10:53 +0200)]
Rollup merge of #61321 - Centril:is_keyword_ahead, r=petrochenkov

libsyntax: introduce 'fn is_keyword_ahead(dist, keywords)'.

Introduces:
```rust
    /// Returns whether any of the given keywords are `dist` tokens ahead of the current one.
    fn is_keyword_ahead(&self, dist: usize, kws: &[Symbol]) -> bool {
        self.look_ahead(dist, |t| kws.iter().any(|&kw| t.is_keyword(kw)))
    }
```

r? @oli-obk

5 years agoRollup merge of #61284 - alexcrichton:less-s3, r=pietroalbini
Mazdak Farrokhzad [Thu, 30 May 2019 08:52:59 +0000 (10:52 +0200)]
Rollup merge of #61284 - alexcrichton:less-s3, r=pietroalbini

Update all s3 URLs used on CI with subdomains

Ensure that they're all forwards-compatible with AWS updates happening
next year by ensuring the bucket name shows up in the domain name.

Closes #61168

5 years agoRollup merge of #61280 - bgermann:master, r=alexcrichton
Mazdak Farrokhzad [Thu, 30 May 2019 08:52:58 +0000 (10:52 +0200)]
Rollup merge of #61280 - bgermann:master, r=alexcrichton

Revert "Disable solaris target since toolchain no longer builds"

This reverts commit e764f475ca7fffd6167ea991afc7d1b2b3f642dc.
Fixes #61174.

5 years agoRollup merge of #61279 - llogiq:implicit-option-main-doctests, r=GuillaumeGomez
Mazdak Farrokhzad [Thu, 30 May 2019 08:52:56 +0000 (10:52 +0200)]
Rollup merge of #61279 - llogiq:implicit-option-main-doctests, r=GuillaumeGomez

implicit `Option`-returning doctests

This distinguishes `Option` and `Result`-returning doctests with implicit `main` method, where the former tests must end with `Some(())`.

Open question: Does this need a feature gate?

r? @GuillaumeGomez

5 years agoRollup merge of #61244 - RalfJung:box, r=rkruppe
Mazdak Farrokhzad [Thu, 30 May 2019 08:52:55 +0000 (10:52 +0200)]
Rollup merge of #61244 - RalfJung:box, r=rkruppe

Box::into_vec: use Box::into_raw instead of mem::forget

`Box::into_raw` does, in one step, turn the `Box` into a raw ptr and avoid deallocation.  Seems cleaner than separating the two.

Also, `mem::forget` gets the `Box` with a `noalias` argument, but it is not actually correct that this is an exclusive pointer. So a stricter version of Stacked Borrows would complain here. (I can't actually make Stacked Borrows that strict yet though due to other issues.)

5 years agoRollup merge of #61231 - pnkfelix:issue-59548-linkage-diagnostic, r=petrochenkov
Mazdak Farrokhzad [Thu, 30 May 2019 08:52:53 +0000 (10:52 +0200)]
Rollup merge of #61231 - pnkfelix:issue-59548-linkage-diagnostic, r=petrochenkov

Fix linkage diagnostic so it doesn't ICE for external crates

Fix linkage diagnostic so it doesn't ICE for external crates

(As a drive-by improvement, improved the diagnostic to indicate *why* `*const T` or `*mut T` is required.)

Fix #59548
Fix #61232

5 years agoRollup merge of #60850 - SimonSapin:unguarded, r=alexcrichton
Mazdak Farrokhzad [Thu, 30 May 2019 08:52:51 +0000 (10:52 +0200)]
Rollup merge of #60850 - SimonSapin:unguarded, r=alexcrichton

Stabilize RefCell::try_borrow_unguarded

Servo has been using this since https://github.com/servo/servo/pull/23196 to add a runtime check to some unsafe code, as discussed in PR https://github.com/rust-lang/rust/pull/59211. Stabilizing would help do more of the same in libraries that also have users on Stable.

5 years agoRollup merge of #60839 - davidtwco:const-generics-struct-ctor, r=varkor
Mazdak Farrokhzad [Thu, 30 May 2019 08:52:49 +0000 (10:52 +0200)]
Rollup merge of #60839 - davidtwco:const-generics-struct-ctor, r=varkor

Fix ICE with struct ctors and const generics.

Fixes #60818.

r? @varkor

5 years agoRollup merge of #60802 - euclio:pulldown-cmark-panic, r=GuillaumeGomez
Mazdak Farrokhzad [Thu, 30 May 2019 08:52:48 +0000 (10:52 +0200)]
Rollup merge of #60802 - euclio:pulldown-cmark-panic, r=GuillaumeGomez

upgrade rustdoc's `pulldown-cmark` to 0.5.2

Fixes #60482.

5 years agoSymbol name predicate list printed `+` excessively
Oliver Scherer [Mon, 22 Apr 2019 11:29:23 +0000 (13:29 +0200)]
Symbol name predicate list printed `+` excessively

5 years agoSet ellipsis_inclusive_range_patterns lint to warn
memoryruins [Thu, 30 May 2019 08:13:55 +0000 (04:13 -0400)]
Set ellipsis_inclusive_range_patterns lint to warn

5 years agoAuto merge of #61005 - michaelwoerister:error-pgo-windows-unwind, r=zackmdavis
bors [Thu, 30 May 2019 03:37:37 +0000 (03:37 +0000)]
Auto merge of #61005 - michaelwoerister:error-pgo-windows-unwind, r=zackmdavis

Emit error when trying to use PGO in conjunction with unwinding on Windows.

This PR makes `rustc` emit an error when trying use PGO in conjunction with `-Cpanic=unwind` on Windows, isn't supported by LLVM yet. The error messages points to https://github.com/rust-lang/rust/issues/61002, which documents this known limitation.

5 years agoAuto merge of #61212 - alexcrichton:skip-rustc, r=pietroalbini
bors [Thu, 30 May 2019 00:38:51 +0000 (00:38 +0000)]
Auto merge of #61212 - alexcrichton:skip-rustc, r=pietroalbini

ci: Attempt to skip a full rustc compile on dist*

Currently when we're preparing cross-compiled compilers it can take
quite some time because we have to build the compiler itself three
different times. The first is the normal bootstrap, the second is a
second build for the build platform, and the third is the actual target
architecture compiler. The second compiler was historically built
exclusively for procedural macros, and long ago we didn't actually need
it.

This commit tries out avoiding that second compiled compiler, meaning we
only compile rustc for the build platform only once. Some local testing
shows that this is promising, but bors is of course the ultimate test!

5 years agoAdd a regression test for const parameters with impl Trait
varkor [Wed, 29 May 2019 23:21:04 +0000 (00:21 +0100)]
Add a regression test for const parameters with impl Trait

5 years agoSort in-band generic parameter definitions from APIT
varkor [Wed, 29 May 2019 23:20:52 +0000 (00:20 +0100)]
Sort in-band generic parameter definitions from APIT