]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoSuggested edits
Jonathan Behrens [Thu, 1 Nov 2018 17:29:47 +0000 (13:29 -0400)]
Suggested edits

5 years agoAdd some tests
Jonathan Behrens [Sat, 27 Oct 2018 16:19:04 +0000 (12:19 -0400)]
Add some tests

5 years agoAdd BufWriter::buffer method
Jonathan Behrens [Fri, 19 Oct 2018 19:09:08 +0000 (15:09 -0400)]
Add BufWriter::buffer method

5 years agoAuto merge of #55316 - RalfJung:retagging, r=oli-obk
bors [Fri, 2 Nov 2018 12:45:03 +0000 (12:45 +0000)]
Auto merge of #55316 - RalfJung:retagging, r=oli-obk

Add Retagging statements

This adds a `Retag` statement kind to MIR, used to perform the retagging operation from [Stacked Borrows](https://www.ralfj.de/blog/2018/08/07/stacked-borrows.html). It also kills the old `Validate` statements that I added last year.

NOTE: This includes https://github.com/rust-lang/rust/pull/55270. Only [these commits are new](https://github.com/RalfJung/rust/compare/stacked-borrows-ng...RalfJung:retagging).

5 years agoAuto merge of #54718 - froydnj:aarch64-ci, r=alexcrichton
bors [Fri, 2 Nov 2018 09:46:11 +0000 (09:46 +0000)]
Auto merge of #54718 - froydnj:aarch64-ci, r=alexcrichton

add an appveyor config for aarch64-pc-windows-msvc

This is purely a cargo-cult of things to solicit feedback from humans and/or automation failures.  Not sure that the build artifacts would get packaged properly to start providing nightly tarballs for `libstd`, but this is at least a start.

Fixes #53864.

5 years agoAuto merge of #54043 - fintelia:raw_entry, r=alexcrichton
bors [Fri, 2 Nov 2018 07:04:07 +0000 (07:04 +0000)]
Auto merge of #54043 - fintelia:raw_entry, r=alexcrichton

Add raw_entry API to HashMap

This is a continuation of #50821.

5 years agoAuto merge of #55359 - alex:command-exec-uaf, r=alexcrichton
bors [Fri, 2 Nov 2018 04:20:36 +0000 (04:20 +0000)]
Auto merge of #55359 - alex:command-exec-uaf, r=alexcrichton

Fixes #46775 -- don't mutate the process's environment in Command::exec

Instead, pass the environment to execvpe, so the kernel can apply it directly to the new process. This avoids a use-after-free in the case where exec'ing the new process fails for any reason, as well as a race condition if there are other threads alive during the exec.

Fixes #46775

5 years agoAuto merge of #55305 - nikomatsakis:universes-refactor-3, r=scalexm
bors [Fri, 2 Nov 2018 01:19:17 +0000 (01:19 +0000)]
Auto merge of #55305 - nikomatsakis:universes-refactor-3, r=scalexm

universes refactor 3

Some more refactorings from my universe branch. These are getting a bit more "invasive" -- they start to plumb the universe information through the canonicalization process. As of yet though I don't **believe** this branch changes our behavior in any notable way, though I'm marking the branch as `WIP` to give myself a chance to verify this.

r? @scalexm

5 years agoAuto merge of #55595 - Manishearth:clippyup, r=oli-obk
bors [Thu, 1 Nov 2018 22:18:16 +0000 (22:18 +0000)]
Auto merge of #55595 - Manishearth:clippyup, r=oli-obk

Update clippy

r? @kennytm @oli-obk

5 years agoUpdate clippy
Manish Goregaokar [Thu, 1 Nov 2018 20:58:07 +0000 (13:58 -0700)]
Update clippy

5 years agoAuto merge of #55579 - pietroalbini:rollup, r=kennytm
bors [Thu, 1 Nov 2018 16:06:15 +0000 (16:06 +0000)]
Auto merge of #55579 - pietroalbini:rollup, r=kennytm

Rollup of 13 pull requests

Successful merges:

 - #55280 (Add libproc_macro to rust-src distribution)
 - #55469 (Regression tests for issue #54477.)
 - #55504 (Use vec![x; n] instead of iter::repeat(x).take(n).collect())
 - #55522 (use String::from() instead of format!() macro to construct Strings.)
 - #55536 (Pass suggestions as impl Iterator instead of Vec)
 - #55542 (syntax: improve a few allocations)
 - #55558 (Tweak `MatcherPos::matches`)
 - #55561 (Fix double_check tests on big-endian targets)
 - #55573 (Make sure the `aws` executable is in $PATH on macOS)
 - #55574 (Use `SmallVec` within `MoveData`.)
 - #55575 (Fix invalid_const_promotion test on some archs)
 - #55578 (Made doc example of `impl Default for …` use `-> Self` instead of explicit self type)
 - #55582 (Remove unused import copy from publish_toolstate.py)

5 years agoRollup merge of #55578 - regexident:fix/self, r=frewsxcv
kennytm [Thu, 1 Nov 2018 14:56:36 +0000 (22:56 +0800)]
Rollup merge of #55578 - regexident:fix/self, r=frewsxcv

Made doc example of `impl Default for …` use `-> Self` instead of explicit self type

There is no need to state the explicit type of `self`.

5 years agoRollup merge of #55561 - smaeul:test-fixes, r=alexcrichton
kennytm [Thu, 1 Nov 2018 14:56:12 +0000 (22:56 +0800)]
Rollup merge of #55561 - smaeul:test-fixes, r=alexcrichton

Fix double_check tests on big-endian targets

Since the enums get optimized down to 1 byte long, the bits set in the `usize` member don't align with the `enum` values on big-endian machines. Avoid this issue by shrinking the integer member to the
same size as the enums.

5 years agoRollup merge of #55582 - yamaguchi1024:publish_toolstate, r=alexcrichton
kennytm [Thu, 1 Nov 2018 14:55:49 +0000 (22:55 +0800)]
Rollup merge of #55582 - yamaguchi1024:publish_toolstate, r=alexcrichton

Remove unused import copy from publish_toolstate.py

5 years agoRollup merge of #55573 - kennytm:macos-aws, r=alexcrichton
kennytm [Thu, 1 Nov 2018 14:54:16 +0000 (22:54 +0800)]
Rollup merge of #55573 - kennytm:macos-aws, r=alexcrichton

Make sure the `aws` executable is in $PATH on macOS

Fixes #55571

5 years agoRollup merge of #55575 - parched:trap, r=RalfJung
Pietro Albini [Thu, 1 Nov 2018 10:55:32 +0000 (11:55 +0100)]
Rollup merge of #55575 - parched:trap, r=RalfJung

Fix invalid_const_promotion test on some archs

On at least AArch64 `llvm.trap` raises SIGTRAP.

r? @RalfJung

5 years agoRollup merge of #55574 - nnethercote:gather_move-SmallVec, r=michaelwoerister
Pietro Albini [Thu, 1 Nov 2018 10:55:30 +0000 (11:55 +0100)]
Rollup merge of #55574 - nnethercote:gather_move-SmallVec, r=michaelwoerister

Use `SmallVec` within `MoveData`.

This reduces allocation counts significantly in a few benchmarks, reducing instruction counts by up to 2%.

5 years agoRollup merge of #55558 - nnethercote:tweak-MatcherPos-matches, r=petrochenkov
Pietro Albini [Thu, 1 Nov 2018 10:55:29 +0000 (11:55 +0100)]
Rollup merge of #55558 - nnethercote:tweak-MatcherPos-matches, r=petrochenkov

Tweak `MatcherPos::matches`

These changes reduce instruction counts on `sentry-cli-check` incremental builds by up to 2%.

5 years agoRollup merge of #55542 - ljedrz:syntax_alloc_improvements, r=kennytm
Pietro Albini [Thu, 1 Nov 2018 10:55:28 +0000 (11:55 +0100)]
Rollup merge of #55542 - ljedrz:syntax_alloc_improvements, r=kennytm

syntax: improve a few allocations

Add 2 `reserve`s and a `with_capacity` where the final vector size is known.

5 years agoRollup merge of #55536 - ljedrz:don't_collect_suggestions, r=davidtwco
Pietro Albini [Thu, 1 Nov 2018 10:55:26 +0000 (11:55 +0100)]
Rollup merge of #55536 - ljedrz:don't_collect_suggestions, r=davidtwco

Pass suggestions as impl Iterator instead of Vec

This avoids some allocations when throwing errors, making failing faster ^^.

5 years agoRollup merge of #55522 - matthiaskrgr:no_format, r=zackmdavis
Pietro Albini [Thu, 1 Nov 2018 10:55:25 +0000 (11:55 +0100)]
Rollup merge of #55522 - matthiaskrgr:no_format, r=zackmdavis

use String::from() instead of format!() macro to construct Strings.

5 years agoRemove unused import copy from publish_toolstate.py
Yuka Takahashi [Thu, 1 Nov 2018 13:52:00 +0000 (14:52 +0100)]
Remove unused import copy from publish_toolstate.py

5 years agoFixes #46775 -- don't mutate the process's environment in Command::exec
Alex Gaynor [Thu, 25 Oct 2018 19:44:32 +0000 (19:44 +0000)]
Fixes #46775 -- don't mutate the process's environment in Command::exec

Instead, pass the environment to execvpe, so the kernel can apply it directly to the new process. This avoids a use-after-free in the case where exec'ing the new process fails for any reason, as well as a race condition if there are other threads alive during the exec.

5 years agoRollup merge of #55504 - ljedrz:simpler_repeated_elements, r=oli-obk
Pietro Albini [Thu, 1 Nov 2018 10:55:22 +0000 (11:55 +0100)]
Rollup merge of #55504 - ljedrz:simpler_repeated_elements, r=oli-obk

Use vec![x; n] instead of iter::repeat(x).take(n).collect()

It's shorter and possibly easier to optimize.

5 years agoRollup merge of #55469 - pnkfelix:issue-54477-regression-tests, r=nikomatsakis
Pietro Albini [Thu, 1 Nov 2018 10:55:20 +0000 (11:55 +0100)]
Rollup merge of #55469 - pnkfelix:issue-54477-regression-tests, r=nikomatsakis

Regression tests for issue #54477.

At some point someone may want to revisit PR #53564

it would be really good to have regression tests for #54477 before that happens. :)

5 years agoRollup merge of #55280 - vlad20012:add-libproc_macro-to-src-disrt, r=Mark-Simulacrum
Pietro Albini [Thu, 1 Nov 2018 10:55:19 +0000 (11:55 +0100)]
Rollup merge of #55280 - vlad20012:add-libproc_macro-to-src-disrt, r=Mark-Simulacrum

Add libproc_macro to rust-src distribution

Fixes #55279

5 years agoMade doc example of `impl Default for …` use `-> Self` instead of explicit self type
Vincent Esche [Thu, 1 Nov 2018 10:52:44 +0000 (11:52 +0100)]
Made doc example of `impl Default for …` use `-> Self` instead of explicit self type

5 years agoUse `SmallVec` within `MoveData`.
Nicholas Nethercote [Thu, 1 Nov 2018 04:34:36 +0000 (15:34 +1100)]
Use `SmallVec` within `MoveData`.

This reduces allocation counts significantly in a few benchmarks,
reducing instruction counts by up to 2%.

5 years agoMake sure the installed `awscli` is found on macOS.
kennytm [Thu, 1 Nov 2018 07:30:30 +0000 (15:30 +0800)]
Make sure the installed `awscli` is found on macOS.

5 years agoAuto merge of #55548 - alexcrichton:bump, r=Mark-Simulacrum
bors [Thu, 1 Nov 2018 06:26:28 +0000 (06:26 +0000)]
Auto merge of #55548 - alexcrichton:bump, r=Mark-Simulacrum

Bump nightly to 1.32.0

* Also update the bootstrap compiler
* Update cargo to 1.32.0
* Clean out stage0 annotations

5 years agoAuto merge of #55521 - nrc:rls-fix, r=petrochenkov
bors [Thu, 1 Nov 2018 02:41:00 +0000 (02:41 +0000)]
Auto merge of #55521 - nrc:rls-fix, r=petrochenkov

save-analysis: bug fix and optimisation.

The first commit fixes a bug in name resolution and save-analysis (introduced in #54145) and removes an unused parameter. This fixes the RLS tests, which are currently blocking distribution of the RLS. The second commit removes macro uses from save-analysis data, since these are never used, they just take up space.

r? @petrochenkov

5 years agoFix double_check tests on big-endian targets
Samuel Holland [Sun, 16 Sep 2018 18:27:56 +0000 (18:27 +0000)]
Fix double_check tests on big-endian targets

Since the enums get optimized down to 1 byte long, the bits
set in the usize member don't align with the enums on big-endian
machines. Avoid this issue by shrinking the integer member to the
same size as the enums.

5 years agoFix invalid_const_promotion test on some archs
James Duley [Wed, 31 Oct 2018 22:59:53 +0000 (22:59 +0000)]
Fix invalid_const_promotion test on some archs

On at least AArch64 `llvm.trap` raises SIGTRAP.

5 years agoUse `SmallVec` for the inner vectors in `MatcherPos::matches`.
Nicholas Nethercote [Wed, 31 Oct 2018 21:41:57 +0000 (08:41 +1100)]
Use `SmallVec` for the inner vectors in `MatcherPos::matches`.

This avoids some allocations.

5 years agoShare empty `Vec`s more within `MatcherPos::matches`.
Nicholas Nethercote [Wed, 31 Oct 2018 18:35:20 +0000 (05:35 +1100)]
Share empty `Vec`s more within `MatcherPos::matches`.

`create_matches` creates a `Vec<Rc<Vec<NamedMatch>>>`. Even though all the
inner `Vec`s are empty, each one is created separately.

This commit changes `create_matches` so it instead creates one empty inner
`Vec`, and shares it.

The commit also changes `MatcherPos::matches` to a boxed slice, because its
length doesn't change.

5 years agoA couple suggested edits
Jonathan Behrens [Wed, 31 Oct 2018 19:15:20 +0000 (15:15 -0400)]
A couple suggested edits

5 years agoBump nightly to 1.32.0
Alex Crichton [Wed, 31 Oct 2018 18:53:17 +0000 (11:53 -0700)]
Bump nightly to 1.32.0

* Also update the bootstrap compiler
* Update cargo to 1.32.0
* Clean out stage0 annotations

5 years agokill old-style-lub warnings
Niko Matsakis [Mon, 15 Oct 2018 15:55:20 +0000 (11:55 -0400)]
kill old-style-lub warnings

5 years agofix bug in NLL error reporting
Niko Matsakis [Wed, 31 Oct 2018 16:10:49 +0000 (12:10 -0400)]
fix bug in NLL error reporting

Account for incompatible universes and higher-ranked subtyping.

5 years agosyntax: improve a few allocations
ljedrz [Wed, 31 Oct 2018 15:58:51 +0000 (16:58 +0100)]
syntax: improve a few allocations

5 years agoAuto merge of #54806 - parched:park, r=RalfJung
bors [Wed, 31 Oct 2018 13:52:00 +0000 (13:52 +0000)]
Auto merge of #54806 - parched:park, r=RalfJung

thread::unpark: Avoid notifying with mutex locked.

This means when the other thread wakes it can continue right away
instead of having to wait for the mutex.

Also add some comments explaining why the mutex needs to be locked in
the first place.

This is a follow up to https://github.com/rust-lang/rust/pull/54174
I did some tests with relacy [here](https://gist.github.com/parched/b7fb88c97755a81e5cb9f9048a15f7fb) (This PR is InnerV2). If anyone can think of some other test case worth adding let me know.

r? @RalfJung

5 years agoPass suggestions as impl Iterator instead of Vec
ljedrz [Mon, 15 Oct 2018 11:16:05 +0000 (13:16 +0200)]
Pass suggestions as impl Iterator instead of Vec

5 years agoswitch to LLVM 7.0 as the host compiler
Nathan Froyd [Tue, 30 Oct 2018 20:54:34 +0000 (16:54 -0400)]
switch to LLVM 7.0 as the host compiler

This version ought to work better with MSVC 15.9 preview headers.

5 years agoadd an appveyor config for aarch64-pc-windows-msvc
Nathan Froyd [Mon, 1 Oct 2018 14:20:12 +0000 (10:20 -0400)]
add an appveyor config for aarch64-pc-windows-msvc

Fixes #53864.

5 years agoAuto merge of #55304 - alexcrichton:update-credentials, r=kennytm
bors [Wed, 31 Oct 2018 06:42:24 +0000 (06:42 +0000)]
Auto merge of #55304 - alexcrichton:update-credentials, r=kennytm

ci: Move global credentials to web configuration

This commit moves a number of our encrypted credentials stored in
configuration files in this repository to env vars on the web UI. This
will hopefully make it easier to rotate credentials in the future as
well as quickly change them if the need arises. (quicker than landing a
PR that is).

This also updates the travis deployment process to always use the `aws`
command line tool which we're already installing on Linux and should
enable us to avoid all `dpl` gem issues as well as have greater control
over what's going where.

5 years agosave analysis: don't dump macro refs
Nick Cameron [Tue, 30 Oct 2018 22:56:11 +0000 (11:56 +1300)]
save analysis: don't dump macro refs

5 years agoAuto merge of #54004 - tromey:enum-debuginfo, r=tromey
bors [Tue, 30 Oct 2018 23:36:10 +0000 (23:36 +0000)]
Auto merge of #54004 - tromey:enum-debuginfo, r=tromey

Fix DWARF generation for enums

The DWARF generated for Rust enums was always somewhat unusual.
Rather than using DWARF constructs directly, it would emit magic field
names like "RUST$ENCODED$ENUM$0$Name" and "RUST$ENUM$DISR".  Since
PR #45225, though, even this has not worked -- the ad hoc scheme was
not updated to handle the wider variety of niche-filling layout
optimizations now available.

This patch changes the generated DWARF to use the standard tags meant
for this purpose; namely, DW_TAG_variant and DW_TAG_variant_part.

The patch to implement this went in to LLVM 7.  In order to work with
older versions of LLVM, and because LLVM doesn't do anything here for
PDB, the existing code is kept as a fallback mode.

Support for this DWARF is in the Rust lldb and in gdb 8.2.

Closes #32920
Closes #32924
Closes #52762
Closes #53153

5 years agouse String::from() instead of format!() macro to construct Strings.
Matthias Krüger [Tue, 30 Oct 2018 23:10:10 +0000 (00:10 +0100)]
use String::from() instead of format!() macro to construct Strings.

5 years agothread::unpark: Avoid notifying with mutex locked.
James Duley [Fri, 21 Sep 2018 14:13:39 +0000 (14:13 +0000)]
thread::unpark: Avoid notifying with mutex locked.

This means when the other thread wakes it can continue right away
instead of having to wait for the mutex.

Also add some comments explaining why the mutex needs to be locked in
the first place.

5 years agosave-analysis: make sure we save the def for the last segment of a path
Nick Cameron [Tue, 30 Oct 2018 22:05:58 +0000 (11:05 +1300)]
save-analysis: make sure we save the def for the last segment of a path

5 years agoAuto merge of #55303 - alexcrichton:update-libm, r=kennytm
bors [Tue, 30 Oct 2018 20:43:36 +0000 (20:43 +0000)]
Auto merge of #55303 - alexcrichton:update-libm, r=kennytm

Update compiler-builtins submodule

This commit updates our `compiler-builtins` submodule which brings in at
least a few improvements for intrinsics on wasm32

5 years agoUpdate lldb
Tom Tromey [Tue, 2 Oct 2018 16:13:30 +0000 (10:13 -0600)]
Update lldb

Update src/tools/lldb to pick up a needed bug fix in the
DW_TAG_variant_part handling.

5 years agoAdd legacy debuginfo tests
Tom Tromey [Thu, 27 Sep 2018 16:17:00 +0000 (10:17 -0600)]
Add legacy debuginfo tests

The enum debuginfo patch includes a legacy mode that is used when
building against LLVM 5 and LLVM 6.  The main enum debuginfo tests
have been updated to rely on the new approach and a new-enough gdb.
This patch makes a copy of these tests so that the fallback mode will
continue to be tested.

Note that nil-enum.rs is not copied; it seemed not to provide enough
value to bother.

A new header directive is added, "ignore-llvm-version".  I will send a
patch to update the rustc documentation once this lands.

5 years agoUpdate enum debuginfo tests
Tom Tromey [Wed, 26 Sep 2018 18:58:10 +0000 (12:58 -0600)]
Update enum debuginfo tests

Bug #52452 notes some debuginfo test regressions when moving to gdb
8.1.  This series will also cause versions of gdb before 8.2 to fail
when a recent LLVM is used -- DW_TAG_variant_part support was not
added until 8.2.

This patch updates one of the builders to a later version of Ubuntu,
which comes with gdb 8.2.  It updates the relevant tests to require
both a new-enough LLVM and a new-enough gdb; the subsequent patch
arranges to continue testing the fallback mode.

The "gdbg" results are removed from these tests because the tests now
require a rust-enabled gdb.

If you read closely, you'll see that some of the lldb results in this
patch still look a bit strange.  This will be addressed in a
subsequent patch; I believe the fix is to disable the Python
pretty-printers when lldb is rust-enabled.

5 years agoAvoid possible integer overflow in niche value computation
Tom Tromey [Thu, 13 Sep 2018 12:51:17 +0000 (06:51 -0600)]
Avoid possible integer overflow in niche value computation

@eddyb pointed out in review that the niche value computation had a
possible integer overflow problem, fixed here as he suggested.

5 years agoAdd more enum debug info tests
Tom Tromey [Fri, 7 Sep 2018 16:08:59 +0000 (10:08 -0600)]
Add more enum debug info tests

Rename the previous enum debug info test, and add more tests to cover
c-like enums and tagged (ordinary) enums.

5 years agoTighten enum-debug test
Tom Tromey [Fri, 7 Sep 2018 15:42:02 +0000 (09:42 -0600)]
Tighten enum-debug test

Update the new enum-debug to ensure that field "D" does not have a
discrimnant.

5 years agoAddress review comments
Tom Tromey [Fri, 7 Sep 2018 15:29:40 +0000 (09:29 -0600)]
Address review comments

This fixes the issues pointed out in review.

5 years agoFix DWARF generation for enums
Tom Tromey [Wed, 29 Nov 2017 21:42:25 +0000 (14:42 -0700)]
Fix DWARF generation for enums

The DWARF generated for Rust enums was always somewhat unusual.
Rather than using DWARF constructs directly, it would emit magic field
names like "RUST$ENCODED$ENUM$0$Name" and "RUST$ENUM$DISR".  Since
PR #45225, though, even this has not worked -- the ad hoc scheme was
not updated to handle the wider variety of niche-filling layout
optimizations now available.

This patch changes the generated DWARF to use the standard tags meant
for this purpose; namely, DW_TAG_variant and DW_TAG_variant_part.

The patch to implement this went in to LLVM 7.  In order to work with
older versions of LLVM, and because LLVM doesn't do anything here for
PDB, the existing code is kept as a fallback mode.

Support for this DWARF is in the Rust lldb and in gdb 8.2.

Closes #32920
Closes #32924
Closes #52762
Closes #53153

5 years agoUpdate compiler-builtins submodule
Alex Crichton [Wed, 24 Oct 2018 08:09:49 +0000 (01:09 -0700)]
Update compiler-builtins submodule

This commit updates our `compiler-builtins` submodule which brings in at
least a few improvements for intrinsics on wasm32

5 years agoUse vec![x; n] instead of iter::repeat(x).take(n).collect()
ljedrz [Tue, 30 Oct 2018 13:37:26 +0000 (14:37 +0100)]
Use vec![x; n] instead of iter::repeat(x).take(n).collect()

5 years agoAuto merge of #55502 - kennytm:rollup, r=kennytm
bors [Tue, 30 Oct 2018 11:38:31 +0000 (11:38 +0000)]
Auto merge of #55502 - kennytm:rollup, r=kennytm

Rollup of 12 pull requests

Successful merges:

 - #54885 (Don't lint 'unused_parens` on `if (break _) { .. }`)
 - #55205 (Improve a few cases of collecting to an FxHash(Map/Set))
 - #55450 (msp430: remove the whole Atomic* API)
 - #55459 (Add UI test for #49296)
 - #55472 (Use opt.take() instead of mem::replace(opt, None))
 - #55473 (Take advantage of impl Iterator in (transitive/elaborate)_bounds)
 - #55474 (Fix validation false positive)
 - #55476 (Change a flat_map with 0/1-element vecs to a filter_map)
 - #55487 (Adjust Ids of path segments in visibility modifiers)
 - #55493 (Doc fixes)
 - #55494 (borrowck=migrate must look at parents of closures)
 - #55496 (Update clippy)

Failed merges:

r? @ghost

5 years agoRollup merge of #55496 - Manishearth:clippyup, r=oli-obk
kennytm [Tue, 30 Oct 2018 10:55:38 +0000 (18:55 +0800)]
Rollup merge of #55496 - Manishearth:clippyup, r=oli-obk

Update clippy

Pulls in https://github.com/rust-lang-nursery/rust-clippy/pull/3382, should unbreak clippy

r? @oli-obk @phansch

5 years agoRollup merge of #55494 - pnkfelix:issue-55492-borrowck-migrate-must-look-at-parents...
kennytm [Tue, 30 Oct 2018 10:55:37 +0000 (18:55 +0800)]
Rollup merge of #55494 - pnkfelix:issue-55492-borrowck-migrate-must-look-at-parents-of-closures, r=davidtwco

borrowck=migrate must look at parents of closures

This fixes the NLL migration mode (which is the default with edition=2018) to inspect all parents of a closure in addition to the closure itself when looking to see if AST-borrowck issues an error for the given code.

This should be a candidate for beta backport.

Fix #55492

5 years agoRollup merge of #55493 - GuillaumeGomez:doc-fixes, r=@QuietMisdreavus
kennytm [Tue, 30 Oct 2018 10:55:35 +0000 (18:55 +0800)]
Rollup merge of #55493 - GuillaumeGomez:doc-fixes, r=@QuietMisdreavus

Doc fixes

Fixes the bug in source code page where code was below line numbers and fixed this bug too ("Expand description" is shown whereas it shouldn't):

<img width="1440" alt="screenshot 2018-10-29 at 23 11 29" src="https://user-images.githubusercontent.com/3050060/47684136-1105ad80-dbd2-11e8-9e9f-fb7f26b0f5bd.png">

r? @QuietMisdreavus

5 years agoRollup merge of #55487 - nrc:path-fix, r=petrochenkov
kennytm [Tue, 30 Oct 2018 10:55:34 +0000 (18:55 +0800)]
Rollup merge of #55487 - nrc:path-fix, r=petrochenkov

Adjust Ids of path segments in visibility modifiers

Fixes #55376 (nightly regression)

r? @petrochenkov

5 years agoRollup merge of #55476 - ljedrz:flat_map_to_filter_map, r=cramertj
kennytm [Tue, 30 Oct 2018 10:55:33 +0000 (18:55 +0800)]
Rollup merge of #55476 - ljedrz:flat_map_to_filter_map, r=cramertj

Change a flat_map with 0/1-element vecs to a filter_map

No need to use vectors in this case - `Option`s are quite sufficient.

5 years agoRollup merge of #55474 - oli-obk:const_eval_promoted, r=RalfJung
kennytm [Tue, 30 Oct 2018 10:55:32 +0000 (18:55 +0800)]
Rollup merge of #55474 - oli-obk:const_eval_promoted, r=RalfJung

Fix validation false positive

Fixes #55454

r? @RalfJung

5 years agoRollup merge of #55473 - ljedrz:transitive/elaborate_bounds_impl_iterator, r=estebank
kennytm [Tue, 30 Oct 2018 10:55:30 +0000 (18:55 +0800)]
Rollup merge of #55473 - ljedrz:transitive/elaborate_bounds_impl_iterator, r=estebank

Take advantage of impl Iterator in (transitive/elaborate)_bounds

Other than for `debug!`ging purposes, `bounds` are only iterated over, so they don't need to be collected into vectors.

5 years agoRollup merge of #55472 - ljedrz:use_option_take, r=cramertj
kennytm [Tue, 30 Oct 2018 10:55:29 +0000 (18:55 +0800)]
Rollup merge of #55472 - ljedrz:use_option_take, r=cramertj

Use opt.take() instead of mem::replace(opt, None)

It's easier to read.

5 years agoRollup merge of #55459 - memoryruins:issue-49296, r=oli-obk
kennytm [Tue, 30 Oct 2018 10:55:28 +0000 (18:55 +0800)]
Rollup merge of #55459 - memoryruins:issue-49296, r=oli-obk

Add UI test for #49296

Closes #49296

r? @oli-obk

5 years agoRollup merge of #55450 - japaric:msp430, r=alexcrichton
kennytm [Tue, 30 Oct 2018 10:55:27 +0000 (18:55 +0800)]
Rollup merge of #55450 - japaric:msp430, r=alexcrichton

msp430: remove the whole Atomic* API

PR #51953 enabled the Atomic*.{load,store} API on MSP430. Unfortunately,
the LLVM backend doesn't currently support those atomic operations, so this
commit removes the API and leaves instructions on how and when to enable it
in the future.

the second fixes compiling liballoc for msp430

closes #54511
r? @alexcrichton
cc @chernomor @awygle @cr1901 @pftbest

5 years agoRollup merge of #55205 - ljedrz:faster_fxhashmap/set_population, r=estebank
kennytm [Tue, 30 Oct 2018 10:55:26 +0000 (18:55 +0800)]
Rollup merge of #55205 - ljedrz:faster_fxhashmap/set_population, r=estebank

Improve a few cases of collecting to an FxHash(Map/Set)

Either use `collect` or procure specified capacity when possible.

5 years agoRollup merge of #54885 - llogiq:fix-54704, r=nikomatsakis
kennytm [Tue, 30 Oct 2018 10:55:25 +0000 (18:55 +0800)]
Rollup merge of #54885 - llogiq:fix-54704, r=nikomatsakis

Don't lint 'unused_parens` on `if (break _) { .. }`

This fixes #54704

5 years agoFix invalid "expand description" display
Guillaume Gomez [Mon, 29 Oct 2018 22:25:35 +0000 (23:25 +0100)]
Fix invalid "expand description" display

5 years agoUpdate clippy
Manish Goregaokar [Tue, 30 Oct 2018 04:10:25 +0000 (04:10 +0000)]
Update clippy

5 years agoAuto merge of #55221 - matthewjasper:fewer-duplicate-migrate-messages, r=pnkfelix
bors [Tue, 30 Oct 2018 03:57:53 +0000 (03:57 +0000)]
Auto merge of #55221 - matthewjasper:fewer-duplicate-migrate-messages, r=pnkfelix

Don't emit cannot move errors twice in migrate mode

Closes #55154
cc #53004

r? @pnkfelix

5 years agoAuto merge of #55190 - dlavati:51574_rename_codemap_filemap, r=petrochenkov
bors [Tue, 30 Oct 2018 01:02:40 +0000 (01:02 +0000)]
Auto merge of #55190 - dlavati:51574_rename_codemap_filemap, r=petrochenkov

Rename other occs of (Code/File)Map to Source(Map/File) #51574

Additional renamings for #51574.

5 years agoRegression test for issue #54477.
Felix S. Klock II [Mon, 29 Oct 2018 10:45:00 +0000 (11:45 +0100)]
Regression test for issue #54477.

I removed the original file that more completely captured the original
crate's tests, as its source crate
(https://crates.io/crates/collection) is licensed under GPL3, and I
suspect that license is not loose enough for me to put into our repo
under our MIT/Apache licensing.

(Would it be an option to attach the GPL3 licesne to just the one
test? Probably. But do I want to bother with it that that point?
Nope!)

5 years agoUpdate compare-mode=nll stderr files to reflect the fix to #55492.
Felix S. Klock II [Mon, 29 Oct 2018 23:37:38 +0000 (00:37 +0100)]
Update compare-mode=nll stderr files to reflect the fix to #55492.

5 years agoRegression test for issue 55492.
Felix S. Klock II [Mon, 29 Oct 2018 23:25:09 +0000 (00:25 +0100)]
Regression test for issue 55492.

5 years agoborrowck=migrate mode needs to check parent(s) when its given a closure.
Felix S. Klock II [Mon, 29 Oct 2018 23:16:28 +0000 (00:16 +0100)]
borrowck=migrate mode needs to check parent(s) when its given a closure.

5 years agoFix source code pages in rustdoc
Guillaume Gomez [Mon, 29 Oct 2018 21:38:26 +0000 (22:38 +0100)]
Fix source code pages in rustdoc

5 years agoAdd a comment explaining the two checks
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer [Mon, 29 Oct 2018 20:31:22 +0000 (21:31 +0100)]
Add a comment explaining the two checks

5 years agoRename other occs of (Code/File)Map to Source(Map/File) #51574
David Lavati [Mon, 29 Oct 2018 20:26:13 +0000 (21:26 +0100)]
Rename other occs of (Code/File)Map to Source(Map/File) #51574

5 years agoDon't emit cannot move errors twice in migrate mode
Matthew Jasper [Sat, 20 Oct 2018 09:08:36 +0000 (10:08 +0100)]
Don't emit cannot move errors twice in migrate mode

5 years agoAdjust Ids of path segments in visibility modifiers
Nick Cameron [Mon, 29 Oct 2018 08:06:27 +0000 (21:06 +1300)]
Adjust Ids of path segments in visibility modifiers

Fixes #55376

5 years agothe memory_deallocated hook can make good use of knowing the size
Ralf Jung [Mon, 29 Oct 2018 19:40:19 +0000 (20:40 +0100)]
the memory_deallocated hook can make good use of knowing the size

5 years agoprovide mutable borrows when hooking memory write access
Ralf Jung [Mon, 29 Oct 2018 15:34:54 +0000 (16:34 +0100)]
provide mutable borrows when hooking memory write access

5 years agoChange a flat_map with 0/1-element vecs to a filter_map
ljedrz [Mon, 29 Oct 2018 15:28:33 +0000 (16:28 +0100)]
Change a flat_map with 0/1-element vecs to a filter_map

5 years agoFix wrong validation clasisfication of `Option<&T>::Some` values
Oliver Scherer [Mon, 29 Oct 2018 14:22:47 +0000 (15:22 +0100)]
Fix wrong validation clasisfication of `Option<&T>::Some` values

5 years agoTake advantage of impl Iterator in (transitive/elaborate)_bounds
ljedrz [Mon, 29 Oct 2018 13:56:24 +0000 (14:56 +0100)]
Take advantage of impl Iterator in (transitive/elaborate)_bounds

5 years agoAssert that promoteds don't fail to be evaluated for being too generic
Oliver Scherer [Mon, 29 Oct 2018 13:50:30 +0000 (14:50 +0100)]
Assert that promoteds don't fail to be evaluated for being too generic

5 years agoUse opt.take() instead of mem::replace(opt, None)
ljedrz [Mon, 29 Oct 2018 12:48:26 +0000 (13:48 +0100)]
Use opt.take() instead of mem::replace(opt, None)

5 years agodon't lint `unused_parens` on `if (break _)`
Andre Bogus [Mon, 29 Oct 2018 11:41:50 +0000 (12:41 +0100)]
don't lint `unused_parens` on `if (break _)`

5 years agoAuto merge of #55462 - pietroalbini:rollup, r=pietroalbini
bors [Mon, 29 Oct 2018 10:19:17 +0000 (10:19 +0000)]
Auto merge of #55462 - pietroalbini:rollup, r=pietroalbini

Rollup of 9 pull requests

Successful merges:

 - #54965 (update tcp stream documentation)
 - #55269 (fix typos in various places)
 - #55384 (Avoid unnecessary allocations in `float_lit` and `integer_lit`.)
 - #55423 (back out bogus `Ok`-wrapping suggestion on `?` arm type mismatch)
 - #55426 (Make a bunch of trivial methods of NonNull be `#[inline]`)
 - #55438 (Avoid directly catching BaseException in bootstrap configure script)
 - #55439 (Remove unused sys import from generate-deriving-span-tests)
 - #55440 (Remove unreachable code in hasClass function in Rustdoc)
 - #55447 (Fix invalid path in generate-deriving-span-tests.py.)

Failed merges:

r? @ghost

5 years agoRollup merge of #55447 - frewsxcv:frewsxcv-rename, r=Mark-Simulacrum
Pietro Albini [Mon, 29 Oct 2018 08:47:52 +0000 (09:47 +0100)]
Rollup merge of #55447 - frewsxcv:frewsxcv-rename, r=Mark-Simulacrum

Fix invalid path in generate-deriving-span-tests.py.

This script broke after #53196 – the tests were moved.

5 years agoRollup merge of #55440 - xfix:patch-11, r=GuillaumeGomez
Pietro Albini [Mon, 29 Oct 2018 08:47:51 +0000 (09:47 +0100)]
Rollup merge of #55440 - xfix:patch-11, r=GuillaumeGomez

Remove unreachable code in hasClass function in Rustdoc

5 years agoRollup merge of #55439 - xfix:patch-10, r=frewsxcv
Pietro Albini [Mon, 29 Oct 2018 08:47:50 +0000 (09:47 +0100)]
Rollup merge of #55439 - xfix:patch-10, r=frewsxcv

Remove unused sys import from generate-deriving-span-tests

5 years agoRollup merge of #55438 - xfix:patch-9, r=frewsxcv
Pietro Albini [Mon, 29 Oct 2018 08:47:49 +0000 (09:47 +0100)]
Rollup merge of #55438 - xfix:patch-9, r=frewsxcv

Avoid directly catching BaseException in bootstrap configure script

It includes stuff like pressing CTRL+C, which likely isn't intended.