]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agoRollup merge of #48474 - christianpoveda:new_cell_docs, r=steveklabnik
kennytm [Tue, 6 Mar 2018 10:18:51 +0000 (18:18 +0800)]
Rollup merge of #48474 - christianpoveda:new_cell_docs, r=steveklabnik

New Cell docs

This fixes https://github.com/rust-lang/rust/issues/44061

6 years agoRollup merge of #48761 - frewsxcv:frewsxcv-rm-python, r=alexcrichton
kennytm [Tue, 6 Mar 2018 08:25:42 +0000 (16:25 +0800)]
Rollup merge of #48761 - frewsxcv:frewsxcv-rm-python, r=alexcrichton

Remove seemingly unused sugarise-doc-comments Python script.

This Python script converts documentation comments from the
`#[doc = "..."]` attribute to the `///` syntax. It was added six
years ago, presumably to help with the transition when `///` was
implemented and hasn't really been touched since. I don't think there's
much value in keeping it around at this point.

6 years agoRollup merge of #48754 - leodasvacas:while-let-all-the-things, r=rkruppe
kennytm [Tue, 6 Mar 2018 08:25:41 +0000 (16:25 +0800)]
Rollup merge of #48754 - leodasvacas:while-let-all-the-things, r=rkruppe

while let all the things

6 years agoRollup merge of #48753 - tbu-:pr_hashmap_isize, r=BurntSushi
kennytm [Tue, 6 Mar 2018 08:25:40 +0000 (16:25 +0800)]
Rollup merge of #48753 - tbu-:pr_hashmap_isize, r=BurntSushi

Remove a couple of `isize` references from hashmap docs

Also fix a spelling mistake.

6 years agoRollup merge of #48732 - debris:remove_powerpc64, r=alexcrichton
kennytm [Tue, 6 Mar 2018 08:25:39 +0000 (16:25 +0800)]
Rollup merge of #48732 - debris:remove_powerpc64, r=alexcrichton

Remove useless powerpc64 entry from ARCH_TABLE

Hope, I understood the scope of the fix correctly. closes #47737

6 years agoRollup merge of #48727 - leodasvacas:refactor-contrived-match, r=rkruppe
kennytm [Tue, 6 Mar 2018 08:25:38 +0000 (16:25 +0800)]
Rollup merge of #48727 - leodasvacas:refactor-contrived-match, r=rkruppe

Refactor contrived match.

6 years agoRollup merge of #48657 - sinkuu:opt_str_repeat, r=dtolnay
kennytm [Tue, 6 Mar 2018 08:25:35 +0000 (16:25 +0800)]
Rollup merge of #48657 - sinkuu:opt_str_repeat, r=dtolnay

Optimize str::repeat

Improves the performance of `str::repeat` by bulk copying. Here is the benchmarks of `"abcde".repeat(n)`:

|`n`|old [ns/iter]|new [ns/iter]|diff [%]|
---|---|---|---
|1|27.205|27.421|+0.794|
|2|27.500|27.516|+0.0581|
|3|27.923|27.648|-0.985|
|4|31.206|30.145|-3.40|
|5|35.144|31.861|-9.34|
|7|43.131|34.621|-19.7|
|10|54.945|36.203|-34.1|
|100|428.31|52.895|-87.7|

6 years agoRollup merge of #48590 - tshepang:more-simple, r=frewsxcv
kennytm [Tue, 6 Mar 2018 08:25:33 +0000 (16:25 +0800)]
Rollup merge of #48590 - tshepang:more-simple, r=frewsxcv

doc: no need for the reference

Also, we are well within line length limit

6 years agoRollup merge of #48573 - Amanieu:bitreverse2, r=sfackler
kennytm [Tue, 6 Mar 2018 08:25:32 +0000 (16:25 +0800)]
Rollup merge of #48573 - Amanieu:bitreverse2, r=sfackler

Add functions for reversing the bit pattern in an integer

I'm reviving PR #32798 now that the LLVM issues have been resolved.

> This adds the bitreverse intrinsic and adds a reverse_bits function to all integer types.

6 years agoRollup merge of #48546 - GuillaumeGomez:raw-string-error-note, r=estebank
kennytm [Tue, 6 Mar 2018 08:25:31 +0000 (16:25 +0800)]
Rollup merge of #48546 - GuillaumeGomez:raw-string-error-note, r=estebank

Raw string error note

Fixes #48395.

I think this note should be helpful enough to solve the issue.

6 years agoRollup merge of #48432 - flip1995:lit_diag, r=oli-obk
kennytm [Tue, 6 Mar 2018 08:25:30 +0000 (16:25 +0800)]
Rollup merge of #48432 - flip1995:lit_diag, r=oli-obk

Suggest type for overflowing bin/hex-literals

Fixes #48073

For hexadecimal and binary literals, which overflow, it gives an additional note to the warning message, like in this [comment](https://github.com/rust-lang/rust/issues/48073#issuecomment-365370113).

Additionally it will suggest a type (`X < Y`):
- `iX`: if literal fits in `uX` => `uX`, else => `iY`
- `-iX` => `iY`
- `uX` => `uY`

Exceptions: `isize`, `usize`. I don't think you can make a good suggestion here. The programmer has to figure it out on it's own in this case.

r? @oli-obk

6 years agoRollup merge of #48403 - lukaslueg:casted, r=steveklabnik
kennytm [Tue, 6 Mar 2018 08:25:28 +0000 (16:25 +0800)]
Rollup merge of #48403 - lukaslueg:casted, r=steveklabnik

Fix spelling s/casted/cast/

r? @GuillaumeGomez

6 years agoAdd i128 tests for intrinsics
Amanieu d'Antras [Wed, 28 Feb 2018 13:56:54 +0000 (13:56 +0000)]
Add i128 tests for intrinsics

6 years agoAdd reverse_bits to integer types
Amanieu d'Antras [Tue, 27 Feb 2018 04:34:55 +0000 (04:34 +0000)]
Add reverse_bits to integer types

6 years agoRemove seemingly unused sugarise-doc-comments Python script.
Corey Farwell [Tue, 6 Mar 2018 01:24:05 +0000 (20:24 -0500)]
Remove seemingly unused sugarise-doc-comments Python script.

This Python script converts documentation comments from the
`#[doc = "..."]` attribute to the `///` syntax. It was added six
years ago, presumably to help with the transition when `///` was
implemented and hasn't really been touched since. I don't think there's
much value in keeping it around at this point.

6 years agoAuto merge of #48456 - mark-i-m:whitelist, r=alexcrichton
bors [Tue, 6 Mar 2018 00:44:21 +0000 (00:44 +0000)]
Auto merge of #48456 - mark-i-m:whitelist, r=alexcrichton

Whitelist rustc dependencies

As per https://internals.rust-lang.org/t/rustc-dependency-policy/6537/8?u=nikomatsakis

cc @alexcrichton @nikomatsakis

6 years agoAdd ena to whitelist
Who? Me?! [Fri, 2 Mar 2018 18:15:02 +0000 (12:15 -0600)]
Add ena to whitelist

6 years agoUncomment whitelist
Who? Me?! [Fri, 2 Mar 2018 03:22:06 +0000 (21:22 -0600)]
Uncomment whitelist

6 years agoDo check the deps of path deps
Mark Mansi [Wed, 28 Feb 2018 22:28:30 +0000 (16:28 -0600)]
Do check the deps of path deps

6 years agoenable whitelist
Mark Mansi [Wed, 28 Feb 2018 20:25:34 +0000 (14:25 -0600)]
enable whitelist

6 years agoDon't check in-tree deps
Mark Mansi [Wed, 28 Feb 2018 20:12:15 +0000 (14:12 -0600)]
Don't check in-tree deps

6 years agodifferent versions may have different deps
Mark Mansi [Wed, 28 Feb 2018 00:33:55 +0000 (18:33 -0600)]
different versions may have different deps

6 years agoAdd a few missing deps
Mark Mansi [Tue, 27 Feb 2018 21:56:16 +0000 (15:56 -0600)]
Add a few missing deps

6 years agoRemove spurious whitespace
Mark Mansi [Tue, 27 Feb 2018 18:50:34 +0000 (12:50 -0600)]
Remove spurious whitespace

6 years agouncomment whitelist
Mark Mansi [Tue, 27 Feb 2018 18:47:49 +0000 (12:47 -0600)]
uncomment whitelist

6 years agoFix alexcrichton's comments
Mark Mansi [Tue, 27 Feb 2018 18:02:54 +0000 (12:02 -0600)]
Fix alexcrichton's comments

6 years agoOnly check the whitelist for some crates
Mark Mansi [Tue, 27 Feb 2018 05:45:04 +0000 (23:45 -0600)]
Only check the whitelist for some crates

6 years agoGet the path to cargo from rustbuild
Mark Mansi [Mon, 26 Feb 2018 17:05:43 +0000 (11:05 -0600)]
Get the path to cargo from rustbuild

6 years agoTrying to get paths right...
Mark Mansi [Sat, 24 Feb 2018 00:25:21 +0000 (18:25 -0600)]
Trying to get paths right...

6 years agoMAKE IT FAILgit statusgit status
Mark Mansi [Sat, 24 Feb 2018 00:01:51 +0000 (18:01 -0600)]
MAKE IT FAILgit statusgit status

6 years agoComments
Mark Mansi [Fri, 23 Feb 2018 01:57:55 +0000 (19:57 -0600)]
Comments

6 years agoStart adding a whitelist for rustc dependencies
Mark Mansi [Fri, 23 Feb 2018 01:52:56 +0000 (19:52 -0600)]
Start adding a whitelist for rustc dependencies

6 years agoRun rustfmt on tidy/src/deps.rs
Mark Mansi [Fri, 23 Feb 2018 00:59:04 +0000 (18:59 -0600)]
Run rustfmt on tidy/src/deps.rs

6 years agowhile let all the things
leonardo.yvens [Mon, 5 Mar 2018 18:58:54 +0000 (15:58 -0300)]
while let all the things

6 years agoAuto merge of #48208 - michaelwoerister:track-features, r=petrochenkov
bors [Mon, 5 Mar 2018 18:39:40 +0000 (18:39 +0000)]
Auto merge of #48208 - michaelwoerister:track-features, r=petrochenkov

Turn feature-gate table into a query so it is covered by dependency tracking.

Turn access to feature gates into a query so we handle them correctly during incremental compilation.

Features are still available via `Session` through `features_untracked()`. I wish we had a better way of hiding untracked information. It would be great if we could remove the `sess` field from `TyCtxt`.

Fixes #47003.

6 years agoRemove a couple of `isize` references from hashmap docs
Tobias Bucher [Mon, 5 Mar 2018 17:37:05 +0000 (18:37 +0100)]
Remove a couple of `isize` references from hashmap docs

Also fix a spelling mistake.

6 years agoFix some merge fallout.
Michael Woerister [Wed, 28 Feb 2018 13:11:15 +0000 (14:11 +0100)]
Fix some merge fallout.

6 years agoFix procedural_mbe_matching test case after libsyntax change.
Michael Woerister [Thu, 15 Feb 2018 14:53:26 +0000 (15:53 +0100)]
Fix procedural_mbe_matching test case after libsyntax change.

6 years agoincr.comp.: Add regression test for detecting feature gate changes.
Michael Woerister [Wed, 14 Feb 2018 15:26:56 +0000 (16:26 +0100)]
incr.comp.: Add regression test for detecting feature gate changes.

6 years agoTurn features() into a query.
Michael Woerister [Wed, 14 Feb 2018 15:11:02 +0000 (16:11 +0100)]
Turn features() into a query.

6 years agoAuto merge of #48736 - alexcrichton:fix-rust-src, r=3
bors [Sun, 4 Mar 2018 22:24:20 +0000 (22:24 +0000)]
Auto merge of #48736 - alexcrichton:fix-rust-src, r=3

Include stdsimd in rust-src component

Closes #48734

6 years agoInclude stdsimd in rust-src component
Alex Crichton [Sun, 4 Mar 2018 20:13:21 +0000 (12:13 -0800)]
Include stdsimd in rust-src component

Closes #48734

6 years agoAuto merge of #48592 - spastorino:borrowed_value_error, r=nikomatsakis
bors [Sun, 4 Mar 2018 18:16:43 +0000 (18:16 +0000)]
Auto merge of #48592 - spastorino:borrowed_value_error, r=nikomatsakis

[NLL] Avoid borrowed value must be valid for lifetime '_#2r..." in errors

Closes #48428

- [x] If NLL is enabled, [do not invoke `note_and_explain_region`](https://github.com/rust-lang/rust/issues/48428#issuecomment-367691123)
- [x] Modify `-Zdump-nll-cause` to not print [the overwhelming debug output here](https://github.com/rust-lang/rust/blob/master/src/librustc_mir/borrow_check/nll/region_infer/mod.rs#L1288-L1299). This way we should I believe at least get nice-ish output for [our original example](https://github.com/rust-lang/rust/issues/48428#issue-299364536).
- [x] Extend `explain_why_borrow_contains_point` to also work for "universal lifetimes" like the `'a` in [the example at the end of this comment](https://github.com/rust-lang/rust/issues/48428#issuecomment-367691123).
- [ ] Figure out how to enable causal information all the time (but that is https://github.com/rust-lang/rust/issues/46590).

6 years agoRemove useless powerpc64 entry from ARCH_TABLE, closes #47737
debris [Sun, 4 Mar 2018 13:58:10 +0000 (14:58 +0100)]
Remove useless powerpc64 entry from ARCH_TABLE, closes #47737

6 years agoAdd note for unterminated raw string error
Guillaume Gomez [Mon, 26 Feb 2018 14:04:40 +0000 (15:04 +0100)]
Add note for unterminated raw string error

6 years agoAuto merge of #47832 - fintelia:vec-index, r=kennytm
bors [Sun, 4 Mar 2018 12:30:27 +0000 (12:30 +0000)]
Auto merge of #47832 - fintelia:vec-index, r=kennytm

Have Vec use slice's implementations of Index<I> and IndexMut<I>

This PR simplifies the implementation of Index and IndexMut on Vec, and in the process enables indexing Vec by any user types that implement SliceIndex.

The stability annotations probably need to be changed, but I wasn't sure of the right way to do that. It also wasn't completely clear to me if this change could break any existing code.

6 years agoRefactor contrived match.
leonardo.yvens [Sun, 4 Mar 2018 11:12:03 +0000 (08:12 -0300)]
Refactor contrived match.

6 years agoAuto merge of #48587 - Zoxc:transitive-relation, r=nikomatsakis
bors [Sun, 4 Mar 2018 09:41:32 +0000 (09:41 +0000)]
Auto merge of #48587 - Zoxc:transitive-relation, r=nikomatsakis

Make TransitiveRelation thread safe. Avoid locking by using get_mut in some cases

r? @nikomatsakis

6 years agoAuto merge of #48630 - alexcrichton:more-sccache, r=kennytm
bors [Sun, 4 Mar 2018 07:09:41 +0000 (07:09 +0000)]
Auto merge of #48630 - alexcrichton:more-sccache, r=kennytm

rustbuild: Pass `ccache` to build scripts

This is a re-attempt at #48192 hopefully this time with 100% less randomly
[blocking builds for 20 minutes][block]. To work around #48192 the sccache
server is started in the `run.sh` script very early on in the compilation
process.

[block]: https://github.com/rust-lang/rust/issues/48192

6 years agoAuto merge of #48125 - alexcrichton:lld, r=Mark-Simulacrum
bors [Sun, 4 Mar 2018 04:22:39 +0000 (04:22 +0000)]
Auto merge of #48125 - alexcrichton:lld, r=Mark-Simulacrum

rust: Import LLD for linking wasm objects

This commit imports the LLD project from LLVM to serve as the default linker for
the `wasm32-unknown-unknown` target. The `binaryen` submoule is consequently
removed along with "binaryen linker" support in rustc.

Moving to LLD brings with it a number of benefits for wasm code:

* LLD is itself an actual linker, so there's no need to compile all wasm code
  with LTO any more. As a result builds should be *much* speedier as LTO is no
  longer forcibly enabled for all builds of the wasm target.
* LLD is quickly becoming an "official solution" for linking wasm code together.
  This, I believe at least, is intended to be the main supported linker for
  native code and wasm moving forward. Picking up support early on should help
  ensure that we can help LLD identify bugs and otherwise prove that it works
  great for all our use cases!
* Improvements to the wasm toolchain are currently primarily focused around LLVM
  and LLD (from what I can tell at least), so it's in general much better to be
  on this bandwagon for bugfixes and new features.
* Historical "hacks" like `wasm-gc` will soon no longer be necessary, LLD
  will [natively implement][gc] `--gc-sections` (better than `wasm-gc`!) which
  means a postprocessor is no longer needed to show off Rust's "small wasm
  binary size".

LLD is added in a pretty standard way to rustc right now. A new rustbuild target
was defined for building LLD, and this is executed when a compiler's sysroot is
being assembled. LLD is compiled against the LLVM that we've got in tree, which
means we're currently on the `release_60` branch, but this may get upgraded in
the near future!

LLD is placed into rustc's sysroot in a `bin` directory. This is similar to
where `gcc.exe` can be found on Windows. This directory is automatically added
to `PATH` whenever rustc executes the linker, allowing us to define a `WasmLd`
linker which implements the interface that `wasm-ld`, LLD's frontend, expects.

Like Emscripten the LLD target is currently only enabled for Tier 1 platforms,
notably OSX/Windows/Linux, and will need to be installed manually for compiling
to wasm on other platforms. LLD is by default turned off in rustbuild, and
requires a `config.toml` option to be enabled to turn it on.

Finally the unstable `#![wasm_import_memory]` attribute was also removed as LLD
has a native option for controlling this.

[gc]: https://reviews.llvm.org/D42511

6 years agorustc: Tweak default linker selection
Alex Crichton [Sat, 10 Feb 2018 20:09:25 +0000 (12:09 -0800)]
rustc: Tweak default linker selection

This commit refactors how the path to the linker that we're going to invoke is
selected. Previously all targets listed *both* a `LinkerFlavor` and a `linker`
(path) option, but this meant that whenever you changed one you had to change
the other. The purpose of this commit is to avoid coupling these where possible.

Target specifications now only unconditionally define the *flavor* of the linker
that they're using by default. If not otherwise specified each flavor now
implies a particular default linker to run. As a result, this means that if
you'd like to test out `ld` for example you should be able to do:

    rustc -Z linker-flavor=ld foo.rs

whereas previously you had to do

    rustc -Z linker-flavor=ld -C linker=ld foo.rs

This will hopefully make it a bit easier to tinker around with variants that
should otherwise be well known to work, for example with LLD, `ld` on OSX, etc.

6 years agorust: Import LLD for linking wasm objects
Alex Crichton [Sun, 27 Aug 2017 01:30:12 +0000 (18:30 -0700)]
rust: Import LLD for linking wasm objects

This commit imports the LLD project from LLVM to serve as the default linker for
the `wasm32-unknown-unknown` target. The `binaryen` submoule is consequently
removed along with "binaryen linker" support in rustc.

Moving to LLD brings with it a number of benefits for wasm code:

* LLD is itself an actual linker, so there's no need to compile all wasm code
  with LTO any more. As a result builds should be *much* speedier as LTO is no
  longer forcibly enabled for all builds of the wasm target.
* LLD is quickly becoming an "official solution" for linking wasm code together.
  This, I believe at least, is intended to be the main supported linker for
  native code and wasm moving forward. Picking up support early on should help
  ensure that we can help LLD identify bugs and otherwise prove that it works
  great for all our use cases!
* Improvements to the wasm toolchain are currently primarily focused around LLVM
  and LLD (from what I can tell at least), so it's in general much better to be
  on this bandwagon for bugfixes and new features.
* Historical "hacks" like `wasm-gc` will soon no longer be necessary, LLD
  will [natively implement][gc] `--gc-sections` (better than `wasm-gc`!) which
  means a postprocessor is no longer needed to show off Rust's "small wasm
  binary size".

LLD is added in a pretty standard way to rustc right now. A new rustbuild target
was defined for building LLD, and this is executed when a compiler's sysroot is
being assembled. LLD is compiled against the LLVM that we've got in tree, which
means we're currently on the `release_60` branch, but this may get upgraded in
the near future!

LLD is placed into rustc's sysroot in a `bin` directory. This is similar to
where `gcc.exe` can be found on Windows. This directory is automatically added
to `PATH` whenever rustc executes the linker, allowing us to define a `WasmLd`
linker which implements the interface that `wasm-ld`, LLD's frontend, expects.

Like Emscripten the LLD target is currently only enabled for Tier 1 platforms,
notably OSX/Windows/Linux, and will need to be installed manually for compiling
to wasm on other platforms. LLD is by default turned off in rustbuild, and
requires a `config.toml` option to be enabled to turn it on.

Finally the unstable `#![wasm_import_memory]` attribute was also removed as LLD
has a native option for controlling this.

[gc]: https://reviews.llvm.org/D42511

6 years agoAuto merge of #48600 - Mark-Simulacrum:rustbuild-updates-2, r=alexcrichton
bors [Sun, 4 Mar 2018 01:32:57 +0000 (01:32 +0000)]
Auto merge of #48600 - Mark-Simulacrum:rustbuild-updates-2, r=alexcrichton

Remove --host and --target arguments to configure in Dockerfiles

These arguments are passed to the relevant x.py invocation in all cases
anyway. As such, there is no need to separately configure them. x.py
will ignore the configuration when they are passed on the command line
anyway.

r? @alexcrichton

6 years agoAvoid unnecessary calculation
Shotaro Yamada [Sun, 4 Mar 2018 00:43:29 +0000 (09:43 +0900)]
Avoid unnecessary calculation

6 years agoAdd comments
Shotaro Yamada [Sun, 4 Mar 2018 00:00:09 +0000 (09:00 +0900)]
Add comments

6 years agoImprove getting literal representation
flip1995 [Sat, 3 Mar 2018 20:55:04 +0000 (21:55 +0100)]
Improve getting literal representation

6 years agoAuto merge of #48694 - kennytm:rollup, r=kennytm
bors [Sat, 3 Mar 2018 19:40:21 +0000 (19:40 +0000)]
Auto merge of #48694 - kennytm:rollup, r=kennytm

Rollup of 8 pull requests

- Successful merges: #48283, #48466, #48569, #48629, #48637, #48680, #48513, #48664
- Failed merges:

6 years agoRollup merge of #48664 - Keruspe:codegen, r=alexcrichton
kennytm [Sat, 3 Mar 2018 18:18:25 +0000 (02:18 +0800)]
Rollup merge of #48664 - Keruspe:codegen, r=alexcrichton

make codegen-backends directory name configurable

This allows to parallel-install several versions of rust system-wide
Fixes #48263

6 years agoRollup merge of #48513 - alexcrichton:simd, r=JoshTriplett
kennytm [Sat, 3 Mar 2018 15:31:42 +0000 (23:31 +0800)]
Rollup merge of #48513 - alexcrichton:simd, r=JoshTriplett

std: Add `arch` and `simd` modules

This commit imports the `stdsimd` crate into the standard library,
creating an `arch` and `simd` module inside of both libcore and libstd.
Both of these modules are **unstable** and will continue to be so until
RFC 2335 is stabilized.

As a brief recap, the modules are organized as so:

* `arch` contains all current architectures with intrinsics, for example
  `std::arch::x86`, `std::arch::x86_64`, `std::arch::arm`, etc. These
  modules contain all of the intrinsics defined for the platform, like
  `_mm_set1_epi8`.
* In the standard library, the `arch` module also exports a
  `is_target_feature_detected` macro which performs runtime detection to
  determine whether a target feature is available at runtime.
* The `simd` module contains experimental versions of strongly-typed
  lane-aware SIMD primitives, to be fully fleshed out in a future RFC.

The main purpose of this commit is to start pulling in all these
intrinsics and such into the standard library on nightly and allow
testing and such. This'll help allow users to easily kick the tires and
see if intrinsics work as well as allow us to test out all the
infrastructure for moving the intrinsics into the standard library.

6 years agoRollup merge of #48680 - steveklabnik:no-toc, r=nikomatsakis
kennytm [Sat, 3 Mar 2018 10:45:52 +0000 (18:45 +0800)]
Rollup merge of #48680 - steveklabnik:no-toc, r=nikomatsakis

Don't produce TOCs for doc markdown files

Currently, we are producing headers for markdown files,
which is generally not what we want. As such, passing this
flag causes them to render normally.

https://doc.rust-lang.org/nightly/book/ is an example page currently where this is done incorrectly.

6 years agoAuto merge of #48583 - dotdash:jt_assume, r=alexcrichton
bors [Sat, 3 Mar 2018 14:09:56 +0000 (14:09 +0000)]
Auto merge of #48583 - dotdash:jt_assume, r=alexcrichton

Backport LLVM fixes for a JumpThreading / assume intrinsic bug

This fixes the original cause of #48116 and restores the assume intrinsic that was removed as a workaround.

r? @alexcrichton

6 years agoRollup merge of #48637 - segevfiner:restore-rust-mingw-download, r=alexcrichton
kennytm [Sat, 3 Mar 2018 10:45:47 +0000 (18:45 +0800)]
Rollup merge of #48637 - segevfiner:restore-rust-mingw-download, r=alexcrichton

Restore the download of rust-mingw

The build might otherwise break due to mixing MinGW object files from rust-std and the local MinGW which might be newer/older than the version used to build rust-std.

Fixes #48272

r? @alexcrichton

6 years agoRollup merge of #48629 - strake:char, r=alexcrichton
kennytm [Sat, 3 Mar 2018 10:45:46 +0000 (18:45 +0800)]
Rollup merge of #48629 - strake:char, r=alexcrichton

impl Clone for ::std_unicode::char::{ToLowercase, ToUppercase}

6 years agoRollup merge of #48569 - Phlosioneer:x-py-help-optimization, r=petrochenkov
kennytm [Sat, 3 Mar 2018 10:45:45 +0000 (18:45 +0800)]
Rollup merge of #48569 - Phlosioneer:x-py-help-optimization, r=petrochenkov

Improve --help performance for x.py

Since compiling the bootstrap command doesn't require any submodules,
we can skip updating submodules when a --help command is passed in.
On my machine, this saves 1 minute if the submodules are already
downloaded, and 10 minutes if run on a clean repo.

This commit also adds a message before compiling/downloading anything
when a --help command is passed in, to tell the user WHY --help
takes so long to complete. It also points the user to the bootstrap
README.md for faster help.

Finally, this fixes one warning message that still referenced using
make instead of x.py, even though x.py is now the standard way of
building rust.

Closes #37305

6 years agoRollup merge of #48466 - sanxiyn:no-neon, r=alexcrichton
kennytm [Sat, 3 Mar 2018 10:45:44 +0000 (18:45 +0800)]
Rollup merge of #48466 - sanxiyn:no-neon, r=alexcrichton

Disable NEON on musl ARMv7

`armv7-unknown-linux-musleabihf` target diverged a bit from `armv7-unknown-linux-gnueabihf` target. This PR re-syncs them.

Fix #47765.

6 years agoRollup merge of #48283 - QuietMisdreavus:rustdoc-readme, r=@GuillaumeGomez
kennytm [Sat, 3 Mar 2018 10:45:42 +0000 (18:45 +0800)]
Rollup merge of #48283 - QuietMisdreavus:rustdoc-readme, r=@GuillaumeGomez

add readme for librustdoc

In the same vein as the other compiler-library readmes, here's one for rustdoc! It's mainly a "how does rustdoc even" blog-post-style writeup, but i wanted to have something in-repo so people could get a sense of what bits did what.

6 years agoAuto merge of #48689 - Manishearth:rollup, r=Manishearth
bors [Sat, 3 Mar 2018 07:24:11 +0000 (07:24 +0000)]
Auto merge of #48689 - Manishearth:rollup, r=Manishearth

Rollup (unsupervised)

less risky PRs, to run overnight

6 years agoRollup merge of #48641 - alexcrichton:no-hash-l-paths, r=michaelwoerister
Manish Goregaokar [Sat, 3 Mar 2018 06:01:31 +0000 (22:01 -0800)]
Rollup merge of #48641 - alexcrichton:no-hash-l-paths, r=michaelwoerister

Fixes #47311.
r? @nrc

6 years agoRollup merge of #48635 - scottmcm:faster-zip-nth, r=kennytm
Manish Goregaokar [Sat, 3 Mar 2018 06:01:29 +0000 (22:01 -0800)]
Rollup merge of #48635 - scottmcm:faster-zip-nth, r=kennytm

Fixes #47311.
r? @nrc

6 years agoRollup merge of #48628 - strake:reverse, r=sfackler
Manish Goregaokar [Sat, 3 Mar 2018 06:01:27 +0000 (22:01 -0800)]
Rollup merge of #48628 - strake:reverse, r=sfackler

Fixes #47311.
r? @nrc

6 years agoRollup merge of #48338 - estebank:match-missing-comma, r=petrochenkov
Manish Goregaokar [Sat, 3 Mar 2018 06:01:23 +0000 (22:01 -0800)]
Rollup merge of #48338 - estebank:match-missing-comma, r=petrochenkov

Fixes #47311.
r? @nrc

6 years agoRollup merge of #48328 - frewsxcv:frewsxcv-clarify-error-zero-duration, r=sfackler
Manish Goregaokar [Sat, 3 Mar 2018 06:01:20 +0000 (22:01 -0800)]
Rollup merge of #48328 - frewsxcv:frewsxcv-clarify-error-zero-duration, r=sfackler

Fixes #47311.
r? @nrc

6 years agoRollup merge of #48259 - tinaun:patch-1, r=alexcrichton
Manish Goregaokar [Sat, 3 Mar 2018 06:01:16 +0000 (22:01 -0800)]
Rollup merge of #48259 - tinaun:patch-1, r=alexcrichton

Fixes #47311.
r? @nrc

6 years agoRollup merge of #48477 - Manishearth:dyn-trait-fixes, r=nmatsakis
Manish Goregaokar [Sat, 3 Mar 2018 06:01:04 +0000 (22:01 -0800)]
Rollup merge of #48477 - Manishearth:dyn-trait-fixes, r=nmatsakis

Fixes #47311.
r? @nrc

6 years agoRemove allow(bare_trait_object) from librustc_mir
Manish Goregaokar [Fri, 23 Feb 2018 18:04:46 +0000 (10:04 -0800)]
Remove allow(bare_trait_object) from librustc_mir

6 years agoPerform manual fixups
Manish Goregaokar [Fri, 23 Feb 2018 18:17:07 +0000 (10:17 -0800)]
Perform manual fixups

6 years agoRun Rustfix on librustc_mir
Manish Goregaokar [Fri, 23 Feb 2018 18:15:26 +0000 (10:15 -0800)]
Run Rustfix on librustc_mir

6 years agoRemove allow(bare_trait_object) from librustc
Manish Goregaokar [Fri, 23 Feb 2018 17:52:03 +0000 (09:52 -0800)]
Remove allow(bare_trait_object) from librustc

6 years agoPerform manual fixups
Manish Goregaokar [Fri, 23 Feb 2018 18:02:10 +0000 (10:02 -0800)]
Perform manual fixups

6 years agoRun Rustfix on librustc
Manish Goregaokar [Fri, 23 Feb 2018 17:53:00 +0000 (09:53 -0800)]
Run Rustfix on librustc

6 years agoAuto merge of #48666 - sgrif:sg-revert-perf-regression, r=nikomatsakis
bors [Sat, 3 Mar 2018 04:54:28 +0000 (04:54 +0000)]
Auto merge of #48666 - sgrif:sg-revert-perf-regression, r=nikomatsakis

Revert "correct subtle bug in the type variable code"

This reverts commit ccd92c2a4e5ed634bbbd6d3a5bd491c47b80f642.

This commit is the source of a major perf regression, and was not
intended to be included in #47861. At some point I must have
accidentally re-added the commit.

Fixes #48660.

r? @nikomatsakis

6 years agoDon't have Vec<T> delegate to [T]'s bounds for indexing
Jonathan Behrens [Sat, 3 Mar 2018 04:23:00 +0000 (23:23 -0500)]
Don't have Vec<T> delegate to [T]'s bounds for indexing

6 years agoUpdate compile fail test error messages
Jonathan Behrens [Thu, 1 Feb 2018 01:14:17 +0000 (20:14 -0500)]
Update compile fail test error messages

6 years agoUpdate comments
Jonathan Behrens [Mon, 29 Jan 2018 20:02:44 +0000 (15:02 -0500)]
Update comments

6 years agoUpdate UI test
Jonathan Behrens [Mon, 29 Jan 2018 20:01:52 +0000 (15:01 -0500)]
Update UI test

6 years agoHave Vec use slice's implementations of Index<I> and IndexMut<I>
Jonathan Behrens [Sun, 28 Jan 2018 19:24:19 +0000 (14:24 -0500)]
Have Vec use slice's implementations of Index<I> and IndexMut<I>

6 years agoAuto merge of #48586 - Zoxc:atomic-rc, r=michaelwoerister
bors [Sat, 3 Mar 2018 02:02:45 +0000 (02:02 +0000)]
Auto merge of #48586 - Zoxc:atomic-rc, r=michaelwoerister

Replace Rc with Lrc for shared data

This replaces `Rc`s reachable from `TyCtxt` with `Lrc`. This has no effect unless `cfg(parallel_queries)` is set. It also contains a fix for the `Decodable` impl for `Arc`.

r? @nikomatsakis

6 years agoStabilize Unsafe Pointer Methods
tinaun [Fri, 16 Feb 2018 07:14:34 +0000 (02:14 -0500)]
Stabilize Unsafe Pointer Methods

also minor doc fixes.

Closes #43941

6 years agostd: Add `arch` and `simd` modules
Alex Crichton [Sun, 18 Feb 2018 01:23:19 +0000 (17:23 -0800)]
std: Add `arch` and `simd` modules

This commit imports the `stdsimd` crate into the standard library,
creating an `arch` and `simd` module inside of both libcore and libstd.
Both of these modules are **unstable** and will continue to be so until
RFC 2335 is stabilized.

As a brief recap, the modules are organized as so:

* `arch` contains all current architectures with intrinsics, for example
  `std::arch::x86`, `std::arch::x86_64`, `std::arch::arm`, etc. These
  modules contain all of the intrinsics defined for the platform, like
  `_mm_set1_epi8`.
* In the standard library, the `arch` module also exports a
  `is_target_feature_detected` macro which performs runtime detection to
  determine whether a target feature is available at runtime.
* The `simd` module contains experimental versions of strongly-typed
  lane-aware SIMD primitives, to be fully fleshed out in a future RFC.

The main purpose of this commit is to start pulling in all these
intrinsics and such into the standard library on nightly and allow
testing and such. This'll help allow users to easily kick the tires and
see if intrinsics work as well as allow us to test out all the
infrastructure for moving the intrinsics into the standard library.

6 years agoDon't produce TOCs for doc markdown files
steveklabnik [Fri, 2 Mar 2018 18:52:13 +0000 (13:52 -0500)]
Don't produce TOCs for doc markdown files

Currently, we are producing headers for markdown files,
which is generally not what we want. As such, passing this
flag causes them to render normally.

6 years agoRemove --host and --target arguments to configure
Mark Simulacrum [Sun, 11 Feb 2018 22:52:44 +0000 (15:52 -0700)]
Remove --host and --target arguments to configure

These arguments are passed to the relevant x.py invocation in all cases
anyway. As such, there is no need to separately configure them. x.py
will ignore the configuration when they are passed on the command line
anyway.

6 years agoRevert "correct subtle bug in the type variable code"
Sean Griffin [Fri, 2 Mar 2018 13:52:12 +0000 (06:52 -0700)]
Revert "correct subtle bug in the type variable code"

This reverts commit ccd92c2a4e5ed634bbbd6d3a5bd491c47b80f642.

This commit is the source of a major perf regression, and was not
intended to be included in #47861. At some point I must have
accidentally re-added the commit.

6 years agomake codegen-backends directory name configurable
Marc-Antoine Perennou [Fri, 2 Mar 2018 08:19:50 +0000 (09:19 +0100)]
make codegen-backends directory name configurable

This allows to parallel-install several versions of rust system-wide
Fixes #48263

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
6 years agoRemove isize test
flip1995 [Fri, 2 Mar 2018 12:33:06 +0000 (13:33 +0100)]
Remove isize test

6 years agoImpl !Send and !Sync for SourceFile
John Kåre Alsaker [Fri, 2 Mar 2018 01:42:22 +0000 (02:42 +0100)]
Impl !Send and !Sync for SourceFile

6 years agoReplace Rc with Lrc for shared data
John Kåre Alsaker [Tue, 27 Feb 2018 16:11:14 +0000 (17:11 +0100)]
Replace Rc with Lrc for shared data

6 years agoFix Decodable impl for Arc
John Kåre Alsaker [Tue, 27 Feb 2018 15:49:34 +0000 (16:49 +0100)]
Fix Decodable impl for Arc

6 years agoOptimize str::repeat
Shotaro Yamada [Fri, 2 Mar 2018 04:50:59 +0000 (13:50 +0900)]
Optimize str::repeat

6 years agoRemove print_what_bootstrap_means
Phlosioneer [Fri, 2 Mar 2018 08:29:35 +0000 (03:29 -0500)]
Remove print_what_bootstrap_means

It was an existing solution to tell the user why a --help command
takes a long time to process. However, it would only print if the
stage0 rust compiler needed to be downloaded, it came after
update_submodules (which took a long time), and it was immediately
followed by download messages and loading bars, meaning users could
easily gloss over the message.

This commit also moves the help message out of main(), and instead
puts it at the top of bootstrap(). main() is intended to be minimal,
only handling error messages.

6 years agoAuto merge of #48653 - Manishearth:rollup2, r=Manishearth
bors [Fri, 2 Mar 2018 06:08:15 +0000 (06:08 +0000)]
Auto merge of #48653 - Manishearth:rollup2, r=Manishearth

Another rollup

None