]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agodocumentation for AtomicPtr CAS operations
Arno Haase [Tue, 10 Sep 2019 12:18:16 +0000 (14:18 +0200)]
documentation for AtomicPtr CAS operations

4 years agorustc_mir: buffer -Zdump-mir output instead of pestering the kernel constantly.
Eduard-Mihai Burtescu [Tue, 10 Sep 2019 10:43:54 +0000 (13:43 +0300)]
rustc_mir: buffer -Zdump-mir output instead of pestering the kernel constantly.

4 years agolowering: extend temporary lifetimes around await
David Wood [Sun, 8 Sep 2019 20:22:51 +0000 (21:22 +0100)]
lowering: extend temporary lifetimes around await

This commit changes the HIR lowering around `await` so that temporary
lifetimes are extended. Previously, await was lowered as:

```rust
{
    let mut pinned = future;
    loop {
        match ::std::future::poll_with_tls_context(unsafe {
            <::std::pin::Pin>::new_unchecked(&mut pinned)
        }) {
            ::std::task::Poll::Ready(result) => break result,
            ::std::task::Poll::Pending => {}
        }
        yield ();
    }
}
```

With this commit, await is lowered as:

```rust
match future {
    mut pinned => loop {
        match ::std::future::poll_with_tls_context(unsafe {
            <::std::pin::Pin>::new_unchecked(&mut pinned)
        }) {
            ::std::task::Poll::Ready(result) => break result,
            ::std::task::Poll::Pending => {}
        }
        yield ();
    }
}
```

However, this change has the following side-effects:

- All temporaries in future will be considered to live across a
  yield for the purpose of auto-traits.
- Borrowed temporaries in future are likely to be considered to be live
  across the yield for the purpose of the generator transform.

Signed-off-by: David Wood <david@davidtw.co>
4 years agoAuto merge of #64329 - Mark-Simulacrum:rustdoc-log, r=GuillaumeGomez
bors [Tue, 10 Sep 2019 08:31:53 +0000 (08:31 +0000)]
Auto merge of #64329 - Mark-Simulacrum:rustdoc-log, r=GuillaumeGomez

Switch rustdoc logging to RUSTDOC_LOG

This better aligns with Cargo (CARGO_LOG) and rustc (RUSTC_LOG).

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

r? @GuillaumeGomez

4 years agoAdd i686-unknown-uefi target
Jiewen Yao [Thu, 29 Aug 2019 03:44:37 +0000 (11:44 +0800)]
Add i686-unknown-uefi target

This adds a new rustc target-configuration called 'i686-unknown_uefi'.
This is similar to existing x86_64-unknown_uefi target.

The i686-unknown-uefi target can be used to build Intel Architecture
32bit UEFI application. The ABI defined in UEFI environment (aka IA32)
is similar to cdecl.

We choose i686-unknown-uefi-gnu instead of i686-unknown-uefi to avoid
the intrinsics generated by LLVM. The detail of root-cause and solution
analysis is added as comment in the code.
For x86_64-unknown-uefi, we cannot use -gnu, because the ABI between
MSVC and GNU is totally different, and UEFI chooses ABI similar to MSVC.
For i686-unknown-uefi, the UEFI chooses cdecl ABI, which is same as
MSVC and GNU. According to LLVM code, the only differences between MSVC
and GNU are fmodf(f32), longjmp() and TLS, which have no impact to UEFI.
As such, using i686-unknown-uefi-gnu is the simplest way to pass the build.

Adding the undefined symbols, such as _aulldiv() to rust compiler-builtins
is out of scope. But it may be considered later.

The scope of this patch is limited to support target-configuration.

No standard library support is added in this patch. Such work can be
done in future enhancement.

Cc: Josh Triplett <josh.triplett@intel.com>
Reviewed-by: Josh Triplett <josh.triplett@intel.com>
4 years agoAuto merge of #64333 - Centril:rollup-llhhr82, r=Centril
bors [Tue, 10 Sep 2019 04:30:32 +0000 (04:30 +0000)]
Auto merge of #64333 - Centril:rollup-llhhr82, r=Centril

Rollup of 4 pull requests

Successful merges:

 - #64307 (Update clippy)
 - #64308 (Update miri submodule)
 - #64318 (update reference)
 - #64323 (Always show backtrace on Fuchsia)

Failed merges:

r? @ghost

4 years agoRollup merge of #64323 - cramertj:fuchsia-rust-backtrace-noop, r=alexcrichton
Mazdak Farrokhzad [Tue, 10 Sep 2019 04:29:50 +0000 (06:29 +0200)]
Rollup merge of #64323 - cramertj:fuchsia-rust-backtrace-noop, r=alexcrichton

Always show backtrace on Fuchsia

r? @alexcrichton

cc @jakeehrlich

4 years agoRollup merge of #64318 - RalfJung:reference, r=ehuss
Mazdak Farrokhzad [Tue, 10 Sep 2019 04:29:49 +0000 (06:29 +0200)]
Rollup merge of #64318 - RalfJung:reference, r=ehuss

update reference

r? @Centril

4 years agoRollup merge of #64308 - oli-obk:miri, r=oli-obk
Mazdak Farrokhzad [Tue, 10 Sep 2019 04:29:47 +0000 (06:29 +0200)]
Rollup merge of #64308 - oli-obk:miri, r=oli-obk

Update miri submodule

fixes #64244

4 years agoRollup merge of #64307 - lzutao:clippy-up, r=oli-obk
Mazdak Farrokhzad [Tue, 10 Sep 2019 04:29:46 +0000 (06:29 +0200)]
Rollup merge of #64307 - lzutao:clippy-up, r=oli-obk

Update clippy

Closes #64215

r? @Manishearth
cc @oli-obk

4 years agoChanged instant is earlier to instant is later
hman523 [Tue, 10 Sep 2019 02:19:01 +0000 (21:19 -0500)]
Changed instant is earlier to instant is later

4 years agotest/c-variadic: Fix patterns on powerpc64
Samuel Holland [Tue, 3 Sep 2019 03:09:15 +0000 (22:09 -0500)]
test/c-variadic: Fix patterns on powerpc64

On architectures such as powerpc64 that use extend_integer_width_to in
their C ABI processing, integer parameters shorter than the native
register width will be annotated with the ArgAttribute::SExt or
ArgAttribute::ZExt attribute, and that attribute will be included in the
generated LLVM IR.

In this test, all relevant parameters are `i32`, which will get the
`signext` annotation on the relevant 64-bit architectures. Match both
the annotated and non-annotated case, but enforce that the annotation is
applied consistently.

4 years agoClarify E0507 to note Fn/FnMut relationship to borrowing
Mark Rousskov [Tue, 10 Sep 2019 01:34:24 +0000 (21:34 -0400)]
Clarify E0507 to note Fn/FnMut relationship to borrowing

4 years agoSwitch rustdoc logging to RUSTDOC_LOG
Mark Rousskov [Tue, 10 Sep 2019 01:25:49 +0000 (21:25 -0400)]
Switch rustdoc logging to RUSTDOC_LOG

This better aligns with Cargo (CARGO_LOG) and rustc (RUSTC_LOG).

4 years agoUpdate added backticks around a function call
hman523 [Tue, 10 Sep 2019 01:09:17 +0000 (20:09 -0500)]
Update added backticks around a function call

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
4 years agoAuto merge of #64321 - Centril:rollup-jsj5tpl, r=Centril
bors [Tue, 10 Sep 2019 00:34:30 +0000 (00:34 +0000)]
Auto merge of #64321 - Centril:rollup-jsj5tpl, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #63806 (Upgrade rand to 0.7)
 - #64054 (Always emit unresolved import errors and hide unused import lint)
 - #64279 (Bump RLS and Rustfmt submodules to use rustc-ap-* v583)
 - #64317 (Update LLVM submodule)
 - #64320 (Update version of `rustc-std-workspace-*` crates)

Failed merges:

r? @ghost

4 years agoFixed documentation within c_str::from_ptr
hman523 [Mon, 9 Sep 2019 23:50:11 +0000 (18:50 -0500)]
Fixed documentation within c_str::from_ptr

4 years agoAlways show backtrace on Fuchsia
Taylor Cramer [Mon, 9 Sep 2019 20:40:11 +0000 (13:40 -0700)]
Always show backtrace on Fuchsia

4 years agoUse slice patterns to match projection base
Santiago Pastorino [Sun, 25 Aug 2019 00:53:20 +0000 (20:53 -0400)]
Use slice patterns to match projection base

4 years agoMake move_path_children_matching closure take a PlaceElem instead of a slice
Santiago Pastorino [Sat, 24 Aug 2019 23:49:08 +0000 (19:49 -0400)]
Make move_path_children_matching closure take a PlaceElem instead of a slice

4 years agoUse rposition to find the position of an elem
Santiago Pastorino [Sat, 24 Aug 2019 23:04:32 +0000 (16:04 -0700)]
Use rposition to find the position of an elem

4 years agoConvert Place's projection to a boxed slice
Santiago Pastorino [Mon, 29 Jul 2019 22:07:28 +0000 (00:07 +0200)]
Convert Place's projection to a boxed slice

4 years agoRollup merge of #64320 - alexcrichton:update-patch, r=RalfJung
Mazdak Farrokhzad [Mon, 9 Sep 2019 20:18:14 +0000 (22:18 +0200)]
Rollup merge of #64320 - alexcrichton:update-patch, r=RalfJung

Update version of `rustc-std-workspace-*` crates

This commit updates the version of the `rustc-std-workspace-*` crates
in-tree which are used in `[patch]`. This will guarantee that Cargo will
select these versions even if minor updates are published to crates.io
because otherwise a newer version on crates.io would be preferred which
misses the point of `[patch]`!

4 years agoRollup merge of #64317 - nikic:bump-llvm-3, r=alexcrichton
Mazdak Farrokhzad [Mon, 9 Sep 2019 20:18:12 +0000 (22:18 +0200)]
Rollup merge of #64317 - nikic:bump-llvm-3, r=alexcrichton

Update LLVM submodule

Updates the LLVM submodule to current LLVM 9 HEAD.

Fixes #63918.
Fixes #63791.

r? @alexcrichton

4 years agoRollup merge of #64279 - Xanewok:bump-rustc-ap, r=tmandry
Mazdak Farrokhzad [Mon, 9 Sep 2019 20:18:11 +0000 (22:18 +0200)]
Rollup merge of #64279 - Xanewok:bump-rustc-ap, r=tmandry

Bump RLS and Rustfmt submodules to use rustc-ap-* v583

Closes #64180
Closes #64179

r? @topecongiro

4 years agoRollup merge of #64054 - estebank:unused-import-is-to-eager, r=petrochenkov
Mazdak Farrokhzad [Mon, 9 Sep 2019 20:18:10 +0000 (22:18 +0200)]
Rollup merge of #64054 - estebank:unused-import-is-to-eager, r=petrochenkov

Always emit unresolved import errors and hide unused import lint

Fix https://github.com/rust-lang/rust/issues/63724.

r? @petrochenkov

4 years agoRollup merge of #63806 - mati865:rand, r=alexcrichton
Mazdak Farrokhzad [Mon, 9 Sep 2019 20:18:08 +0000 (22:18 +0200)]
Rollup merge of #63806 - mati865:rand, r=alexcrichton

Upgrade rand to 0.7

Also upgrades `getrandom` to avoid bug encountered by https://github.com/rust-lang/rust/pull/61393 which bumps libc to `0.2.62`.

4 years agoAdded some context on SGX. Lists Darwin separately.
Christian [Mon, 9 Sep 2019 20:10:53 +0000 (22:10 +0200)]
Added some context on SGX. Lists Darwin separately.

4 years agoUpdate version of `rustc-std-workspace-*` crates
Alex Crichton [Mon, 9 Sep 2019 20:01:05 +0000 (13:01 -0700)]
Update version of `rustc-std-workspace-*` crates

This commit updates the version of the `rustc-std-workspace-*` crates
in-tree which are used in `[patch]`. This will guarantee that Cargo will
select these versions even if minor updates are published to crates.io
because otherwise a newer version on crates.io would be preferred which
misses the point of `[patch]`!

4 years agoupdate reference
Ralf Jung [Mon, 9 Sep 2019 18:48:57 +0000 (20:48 +0200)]
update reference

4 years agoUpdate LLVM submodule
Nikita Popov [Mon, 9 Sep 2019 18:32:03 +0000 (20:32 +0200)]
Update LLVM submodule

4 years agoAuto merge of #64313 - Centril:rollup-7w8b67g, r=Centril
bors [Mon, 9 Sep 2019 16:33:43 +0000 (16:33 +0000)]
Auto merge of #64313 - Centril:rollup-7w8b67g, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #63468 (Resolve attributes in several places)
 - #64121 (Override `StepBy::{try_fold, try_rfold}`)
 - #64278 (check git in bootstrap.py)
 - #64306 (Fix typo in config.toml.example)
 - #64312 (Unify escape usage)

Failed merges:

r? @ghost

4 years agocargo update -p rustfmt-nightly
Igor Matuszewski [Sun, 8 Sep 2019 08:28:11 +0000 (10:28 +0200)]
cargo update -p rustfmt-nightly

4 years agoBump RLS and Rustfmt submodules
Igor Matuszewski [Sun, 8 Sep 2019 08:28:01 +0000 (10:28 +0200)]
Bump RLS and Rustfmt submodules

4 years agolldb: avoid mixing "Hit breakpoint" message with other output.
Eduard-Mihai Burtescu [Mon, 9 Sep 2019 14:37:38 +0000 (17:37 +0300)]
lldb: avoid mixing "Hit breakpoint" message with other output.

4 years agoRollup merge of #64312 - GuillaumeGomez:rustdoc-better-esc-handling, r=Mark-Simulacrum
Mazdak Farrokhzad [Mon, 9 Sep 2019 15:42:29 +0000 (17:42 +0200)]
Rollup merge of #64312 - GuillaumeGomez:rustdoc-better-esc-handling, r=Mark-Simulacrum

Unify escape usage

Fixes #63443.

I chose to keep the search text when pressing escape so when we focus on the search bar, we got the results again without needing to load them again. I also unified a bit a few things (maybe I should have done it in another commit, sorry...).

r? @Mark-Simulacrum

4 years agoRollup merge of #64306 - lukas-code:patch-1, r=jonas-schievink
Mazdak Farrokhzad [Mon, 9 Sep 2019 15:42:27 +0000 (17:42 +0200)]
Rollup merge of #64306 - lukas-code:patch-1, r=jonas-schievink

Fix typo in config.toml.example

4 years agoRollup merge of #64278 - guanqun:check-git, r=Mark-Simulacrum
Mazdak Farrokhzad [Mon, 9 Sep 2019 15:42:26 +0000 (17:42 +0200)]
Rollup merge of #64278 - guanqun:check-git, r=Mark-Simulacrum

check git in bootstrap.py

4 years agoRollup merge of #64121 - timvermeulen:iter_step_by_internal, r=scottmcm
Mazdak Farrokhzad [Mon, 9 Sep 2019 15:42:24 +0000 (17:42 +0200)]
Rollup merge of #64121 - timvermeulen:iter_step_by_internal, r=scottmcm

Override `StepBy::{try_fold, try_rfold}`

Previous PR: https://github.com/rust-lang/rust/pull/51435

The previous PR was closed in favor of https://github.com/rust-lang/rust/pull/51601, which was later reverted. I don't think these implementations will make it harder to specialize `StepBy<Range<_>>` later, so we should be able to land this without any consequences.

This should fix https://github.com/rust-lang/rust/issues/57517 – in my benchmarks `iter` and `iter.step_by(1)` now perform equally well, provided internal iteration is used.

4 years agoRollup merge of #63468 - c410-f3r:attrs, r=petrochenkov
Mazdak Farrokhzad [Mon, 9 Sep 2019 15:42:23 +0000 (17:42 +0200)]
Rollup merge of #63468 - c410-f3r:attrs, r=petrochenkov

Resolve attributes in several places

Resolve attributes for Arm, Field, FieldPat, GenericParam, Param, StructField and Variant.

This PR is based on @petrochenkov work located at https://github.com/petrochenkov/rust/commit/83fdb8d598c1a871d40b21faed64ee698b74f814.

4 years agostd: Add a `backtrace` module
Alex Crichton [Wed, 4 Sep 2019 20:00:14 +0000 (13:00 -0700)]
std: Add a `backtrace` module

This commit adds a `backtrace` module to the standard library, as
designed in [RFC 2504]. The `Backtrace` type is intentionally very
conservative, effectively only allowing capturing it and printing it.

Additionally this commit also adds a `backtrace` method to the `Error`
trait which defaults to returning `None`, as specified in [RFC 2504].
More information about the design here can be found in [RFC 2504] and in
the [tracking issue].

Implementation-wise this is all based on the `backtrace` crate and very
closely mirrors the `backtrace::Backtrace` type on crates.io. Otherwise
it's pretty standard in how it handles everything internally.

[RFC 2504]: https://github.com/rust-lang/rfcs/blob/master/text/2504-fix-error.md
[tracking issue]: https://github.com/rust-lang/rust/issues/53487

cc #53487

4 years agopacify tidy.
Mazdak Farrokhzad [Mon, 9 Sep 2019 15:05:41 +0000 (17:05 +0200)]
pacify tidy.

4 years agoUnify escape usage
Guillaume Gomez [Mon, 9 Sep 2019 15:04:28 +0000 (17:04 +0200)]
Unify escape usage

4 years agocheck_match: use pluralisee!
Mazdak Farrokhzad [Mon, 9 Sep 2019 14:52:58 +0000 (16:52 +0200)]
check_match: use pluralisee!

4 years agocheck_match: unify check_irrefutable & check_exhaustive more.
Mazdak Farrokhzad [Mon, 9 Sep 2019 14:44:06 +0000 (16:44 +0200)]
check_match: unify check_irrefutable & check_exhaustive more.

4 years agojoined_uncovered_patterns: use slice pats & eta-reduce.
Mazdak Farrokhzad [Mon, 9 Sep 2019 00:05:54 +0000 (02:05 +0200)]
joined_uncovered_patterns: use slice pats & eta-reduce.

4 years agocheck_match: extract joined_uncovered_patterns.
Mazdak Farrokhzad [Sun, 8 Sep 2019 23:59:22 +0000 (01:59 +0200)]
check_match: extract joined_uncovered_patterns.

4 years agotypeck: use .peel_refs() more.
Mazdak Farrokhzad [Sun, 8 Sep 2019 23:22:03 +0000 (01:22 +0200)]
typeck: use .peel_refs() more.

4 years agocheck_match: refactor + improve non-exhaustive diag for default binding modes.
Mazdak Farrokhzad [Sat, 7 Sep 2019 22:55:38 +0000 (00:55 +0200)]
check_match: refactor + improve non-exhaustive diag for default binding modes.

4 years agocheck git in bootstrap.py when trying to update submodule
Guanqun Lu [Wed, 4 Sep 2019 15:49:30 +0000 (23:49 +0800)]
check git in bootstrap.py when trying to update submodule

4 years agoUpdate miri submodule
Oliver Scherer [Mon, 9 Sep 2019 11:01:46 +0000 (13:01 +0200)]
Update miri submodule

4 years agoUpdate clippy
Lzu Tao [Mon, 9 Sep 2019 12:50:29 +0000 (12:50 +0000)]
Update clippy

4 years agoAuto merge of #63118 - Centril:stabilize-bind-by-move, r=matthewjasper
bors [Mon, 9 Sep 2019 12:46:59 +0000 (12:46 +0000)]
Auto merge of #63118 - Centril:stabilize-bind-by-move, r=matthewjasper

Stabilize `bind_by_move_pattern_guards` in Rust 1.39.0

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

After stabilizing `#![feature(bind_by_move_pattern_guards)]`, you can now use bind-by-move bindings in patterns and take references to those bindings in `if` guards of `match` expressions. For example, the following now becomes legal:

```rust
fn main() {
    let array: Box<[u8; 4]> = Box::new([1, 2, 3, 4]);

    match array {
        nums
//      ---- `nums` is bound by move.
            if nums.iter().sum::<u8>() == 10
//                 ^------ `.iter()` implicitly takes a reference to `nums`.
        => {
            drop(nums);
//          --------- Legal as `nums` was bound by move and so we have ownership.
        }
        _ => unreachable!(),
    }
}
```

r? @matthewjasper

4 years agoResolve attributes in several places
Caio [Mon, 9 Sep 2019 12:26:25 +0000 (09:26 -0300)]
Resolve attributes in several places

Arm, Field, FieldPat, GenericParam, Param, StructField and Variant

4 years agoFix typo in config.toml.example
Lukas [Mon, 9 Sep 2019 12:18:07 +0000 (12:18 +0000)]
Fix typo in config.toml.example

4 years agoAuto merge of #64237 - estebank:tweak-method-not-found, r=Centril
bors [Mon, 9 Sep 2019 08:39:59 +0000 (08:39 +0000)]
Auto merge of #64237 - estebank:tweak-method-not-found, r=Centril

Give method not found a primary span label

4 years agoAuto merge of #64195 - mark-i-m:update-rustc-guide-1, r=ehuss
bors [Mon, 9 Sep 2019 04:44:18 +0000 (04:44 +0000)]
Auto merge of #64195 - mark-i-m:update-rustc-guide-1, r=ehuss

Update rustc-guide

r? @ehuss

4 years agoShrink `ObligationCauseCode` by boxing `IfExpression`.
Nicholas Nethercote [Mon, 9 Sep 2019 02:40:54 +0000 (12:40 +1000)]
Shrink `ObligationCauseCode` by boxing `IfExpression`.

The reduction in `memcpy` calls outweighs the cost of the extra
allocations, for a net performance win.

4 years agoShrink `ObligationCauseCode` by boxing `MatchExpressionArm`.
Nicholas Nethercote [Fri, 6 Sep 2019 06:55:19 +0000 (16:55 +1000)]
Shrink `ObligationCauseCode` by boxing `MatchExpressionArm`.

The reduction in `memcpy` calls greatly outweighs the cost of the extra
allocations, for a net performance win.

4 years agoAdd some assertions on obligation type sizes.
Nicholas Nethercote [Mon, 9 Sep 2019 04:06:14 +0000 (14:06 +1000)]
Add some assertions on obligation type sizes.

These are types that get memcpy'd a lot.

4 years agoGive method not found a primary span label
Esteban Küber [Fri, 6 Sep 2019 19:00:07 +0000 (12:00 -0700)]
Give method not found a primary span label

4 years agoupdate guide
mark [Fri, 6 Sep 2019 21:01:46 +0000 (16:01 -0500)]
update guide

4 years agoupdate rustc-guide
Mark Mansi [Thu, 5 Sep 2019 22:03:12 +0000 (17:03 -0500)]
update rustc-guide

4 years agoAuto merge of #64108 - estebank:issue-36836, r=Centril
bors [Mon, 9 Sep 2019 00:58:38 +0000 (00:58 +0000)]
Auto merge of #64108 - estebank:issue-36836, r=Centril

Do not complain about unconstrained params when Self is Ty Error

Fix #36836.

4 years agoRemove two unnecessary `clone()` calls.
Nicholas Nethercote [Sun, 8 Sep 2019 22:25:54 +0000 (08:25 +1000)]
Remove two unnecessary `clone()` calls.

4 years agoUse `sym::{all,any,main,not}` more.
Nicholas Nethercote [Wed, 4 Sep 2019 20:43:03 +0000 (06:43 +1000)]
Use `sym::{all,any,main,not}` more.

4 years agoAuto merge of #64293 - Centril:rollup-blnhxwl, r=Centril
bors [Sun, 8 Sep 2019 20:51:22 +0000 (20:51 +0000)]
Auto merge of #64293 - Centril:rollup-blnhxwl, r=Centril

Rollup of 4 pull requests

Successful merges:

 - #64078 (compiletest: disable -Aunused for run-pass tests)
 - #64263 (Replace "feature gated" wording with "unstable".)
 - #64280 (Factor out pluralisation into syntax::errors)
 - #64288 (use 'get_toml' instead of regular expression)

Failed merges:

r? @ghost

4 years agoRollup merge of #64288 - guanqun:use-get-toml, r=Mark-Simulacrum
Mazdak Farrokhzad [Sun, 8 Sep 2019 20:34:26 +0000 (22:34 +0200)]
Rollup merge of #64288 - guanqun:use-get-toml, r=Mark-Simulacrum

use 'get_toml' instead of regular expression

4 years agoRollup merge of #64280 - V1shvesh:master, r=Centril
Mazdak Farrokhzad [Sun, 8 Sep 2019 20:34:24 +0000 (22:34 +0200)]
Rollup merge of #64280 - V1shvesh:master, r=Centril

Factor out pluralisation into syntax::errors

Fixes #64238.

4 years agoRollup merge of #64263 - crlf0710:improve_wording, r=petrochenkov
Mazdak Farrokhzad [Sun, 8 Sep 2019 20:34:23 +0000 (22:34 +0200)]
Rollup merge of #64263 - crlf0710:improve_wording, r=petrochenkov

Replace "feature gated" wording with "unstable".

4 years agoRollup merge of #64078 - Mark-Simulacrum:compiletest-lint-unused, r=petrochenkov
Mazdak Farrokhzad [Sun, 8 Sep 2019 20:34:22 +0000 (22:34 +0200)]
Rollup merge of #64078 - Mark-Simulacrum:compiletest-lint-unused, r=petrochenkov

compiletest: disable -Aunused for run-pass tests

Disabled the flag, but that led to quite a bit of fall out -- I think most of it is benign but I've not investigated thoroughly.

r? @petrochenkov

4 years agoAlways emit unresolved import errors and hide unused import lint
Esteban Küber [Sun, 1 Sep 2019 07:01:25 +0000 (00:01 -0700)]
Always emit unresolved import errors and hide unused import lint

4 years agoDedent macro definition
V1shvesh [Sun, 8 Sep 2019 17:31:43 +0000 (23:01 +0530)]
Dedent macro definition

4 years agoRemove extra trailing newline
V1shvesh [Sun, 8 Sep 2019 17:28:28 +0000 (22:58 +0530)]
Remove extra trailing newline

4 years agoAuto merge of #63994 - Centril:refactor-qualify-consts, r=spastorino,oli-obk
bors [Sun, 8 Sep 2019 16:49:39 +0000 (16:49 +0000)]
Auto merge of #63994 - Centril:refactor-qualify-consts, r=spastorino,oli-obk

Refactor the `MirPass for QualifyAndPromoteConstants`

This is an accumulation of drive-by commits while working on `Vec::new` as a stable `const fn`.
The PR is probably easiest read commit-by-commit.

r? @oli-obk

cc @eddyb @ecstatic-morse -- your two PRs https://github.com/rust-lang/rust/pull/63812 and https://github.com/rust-lang/rust/pull/63860 respectively will conflict with this a tiny bit but it should be trivial to reintegrate your changes atop of this.

4 years agouse 'get_toml' instead of regular expression
Guanqun Lu [Sun, 8 Sep 2019 08:26:06 +0000 (16:26 +0800)]
use 'get_toml' instead of regular expression

4 years agoUpdate test stderr with results of enabling unused lints
Mark Rousskov [Sun, 1 Sep 2019 21:30:19 +0000 (17:30 -0400)]
Update test stderr with results of enabling unused lints

4 years agoAuto merge of #64281 - Centril:rollup-inyqjf8, r=Centril
bors [Sun, 8 Sep 2019 13:02:54 +0000 (13:02 +0000)]
Auto merge of #64281 - Centril:rollup-inyqjf8, r=Centril

Rollup of 4 pull requests

Successful merges:

 - #62205 (Add Iterator comparison methods that take a comparison function)
 - #64152 (Use backtrace formatting from the backtrace crate)
 - #64265 (resolve: Mark more erroneous imports as used)
 - #64267 (rustdoc: fix diagnostic with mixed code block styles)

Failed merges:

r? @ghost

4 years agoRollup merge of #64267 - ehuss:rustdoc-fix-mixed-code-block, r=GuillaumeGomez
Mazdak Farrokhzad [Sun, 8 Sep 2019 10:11:59 +0000 (12:11 +0200)]
Rollup merge of #64267 - ehuss:rustdoc-fix-mixed-code-block, r=GuillaumeGomez

rustdoc: fix diagnostic with mixed code block styles

This fixes a relatively obscure issue where the diagnostic (emitted [here](https://github.com/rust-lang/rust/blame/ef54f57c5b9d894a38179d09b00610c1b337b086/src/librustdoc/passes/check_code_block_syntax.rs#L69)) would get confused since the "is_fenced" flag wasn't reset properly.

4 years agoRollup merge of #64265 - petrochenkov:useerr, r=estebank
Mazdak Farrokhzad [Sun, 8 Sep 2019 10:11:57 +0000 (12:11 +0200)]
Rollup merge of #64265 - petrochenkov:useerr, r=estebank

resolve: Mark more erroneous imports as used

Fixes https://github.com/rust-lang/rust/issues/63724
r? @estebank

4 years agoRollup merge of #64152 - cramertj:update-backtrace, r=alexcrichton
Mazdak Farrokhzad [Sun, 8 Sep 2019 10:11:56 +0000 (12:11 +0200)]
Rollup merge of #64152 - cramertj:update-backtrace, r=alexcrichton

Use backtrace formatting from the backtrace crate

r? @alexcrichton

4 years agoRollup merge of #62205 - timvermeulen:iter_order_by, r=KodrAus
Mazdak Farrokhzad [Sun, 8 Sep 2019 10:11:55 +0000 (12:11 +0200)]
Rollup merge of #62205 - timvermeulen:iter_order_by, r=KodrAus

Add Iterator comparison methods that take a comparison function

This PR adds `Iterator::{cmp_by, partial_cmp_by, eq_by, ne_by, lt_by, le_by, gt_by, ge_by}`. We already have `Iterator::{cmp, partial_cmp, ...}` which are less general (but not any simpler) than the ones I'm proposing here.

I'm submitting this PR now because #61505 has been merged, so this change should not have a noticeable effect on the `Iterator` docs page size.

The diff is quite messy, here's what I changed:
- The logic of `cmp` / `partial_cmp` / `eq` is moved to `cmp_by` / `partial_cmp_by` / `eq_by` respectively, changing `x.cmp(&y)` to `cmp(&x, &y)` in the `cmp` method where `cmp` is the given comparison function (and similar for `partial_cmp_by` and `eq_by`).
- `ne_by` / `lt_by` / `le_by` / `gt_by` / `ge_by` are each implemented in terms of one of the three methods above.
- The existing comparison methods are each forwarded to their `_by` counterpart, passing one of `Ord::cmp` / `PartialOrd::partial_cmp` / `PartialEq::eq` as the comparison function.

The corresponding `_by_key` methods aren't included because they're not as fundamental as the `_by` methods and can easily be implemented in terms of them. Is that reasonable, or would adding the `_by_key` methods be desirable for the sake of completeness?

I didn't add any tests – I couldn't think of any that weren't already covered by our existing tests. Let me know if there's a particular test that would be useful to add.

4 years agoRefactor Pluralisation
V1shvesh [Sun, 8 Sep 2019 09:30:08 +0000 (15:00 +0530)]
Refactor Pluralisation

Modify files performing pluralisation checks to incorporate the
dedicated macro located in `syntax::errors`.

4 years agoAdd pluralise macro
V1shvesh [Sun, 8 Sep 2019 09:27:03 +0000 (14:57 +0530)]
Add pluralise macro

Adress issue #64238. Create a macro to be used for pluralisation check
throughout rustc codebase.

4 years agoFix cross-compilation to macOS
Aleksi Juvani [Sat, 7 Sep 2019 18:02:27 +0000 (21:02 +0300)]
Fix cross-compilation to macOS

4 years agoAuto merge of #64096 - GuillaumeGomez:theme-regex-fix, r=Mark-Simulacrum
bors [Sun, 8 Sep 2019 06:06:39 +0000 (06:06 +0000)]
Auto merge of #64096 - GuillaumeGomez:theme-regex-fix, r=Mark-Simulacrum

Fix regex replacement in theme detection

Fixes #64061.

This is sadly a lot of bad luck: after making the changes and re-build the docs, I just forgot to force reload the page. Hence having the old (working) version with two replacements instead of the failing regex. Sorry again about that...

cc @fenhl
r? @Mark-Simulacrum

4 years agoAuto merge of #64044 - Mark-Simulacrum:rustdoc-clean-2, r=GuillaumeGomez
bors [Sun, 8 Sep 2019 02:12:24 +0000 (02:12 +0000)]
Auto merge of #64044 - Mark-Simulacrum:rustdoc-clean-2, r=GuillaumeGomez

Rustdoc: formatting to buffers

This should be reviewed commit-by-commit.

I've not attempted to fully flesh out what the end state of this PR could look like yet as I wanted to get it up for some early feedback (I already think this has some wins, too, so we could land it as-is).

The primary idea with `Buffer` is that it internally tracks whether we're printing to HTML or text, and the goal is that eventually instead of branch on `fmt.alternate()` anywhere, we'd call a helper like `buf.nbsp()` which would either return `&nbsp;` or ` ` depending on the target we're printing to. Obviously, that's not included in this PR, in part because it was already getting quite big.

4 years agoImprove wording.
Charles Lew [Sun, 8 Sep 2019 01:34:24 +0000 (09:34 +0800)]
Improve wording.

4 years agobind-by-move: add E0008 commented out to error_codes.rs
Mazdak Farrokhzad [Thu, 5 Sep 2019 17:37:38 +0000 (19:37 +0200)]
bind-by-move: add E0008 commented out to error_codes.rs

4 years agobootstrap -> boostrap_stdarch_ignore_this
Mazdak Farrokhzad [Tue, 20 Aug 2019 03:03:58 +0000 (05:03 +0200)]
bootstrap -> boostrap_stdarch_ignore_this

4 years agoTests: No longer emitting 0008, E0301, E0302.
Mazdak Farrokhzad [Tue, 30 Jul 2019 03:56:02 +0000 (05:56 +0200)]
Tests: No longer emitting 0008, E0301, E0302.

4 years agoUpdate tests wrt. bind_by_by_move_pattern_guards stabilization.
Mazdak Farrokhzad [Mon, 29 Jul 2019 23:25:30 +0000 (01:25 +0200)]
Update tests wrt. bind_by_by_move_pattern_guards stabilization.

4 years agoMove to buffers throughout print_item
Mark Rousskov [Sat, 31 Aug 2019 19:47:55 +0000 (15:47 -0400)]
Move to buffers throughout print_item

4 years agoItem to function
Mark Rousskov [Sat, 31 Aug 2019 17:29:31 +0000 (13:29 -0400)]
Item to function

4 years agoAllTypes to function
Mark Rousskov [Sat, 31 Aug 2019 16:31:55 +0000 (12:31 -0400)]
AllTypes to function

4 years agoSettings to function
Mark Rousskov [Sat, 31 Aug 2019 16:27:27 +0000 (12:27 -0400)]
Settings to function

4 years agoMove Source to Buffer
Mark Rousskov [Sat, 31 Aug 2019 16:20:56 +0000 (12:20 -0400)]
Move Source to Buffer

4 years agolayout::render takes Print instead of fmt::Display
Mark Rousskov [Sat, 31 Aug 2019 16:18:25 +0000 (12:18 -0400)]
layout::render takes Print instead of fmt::Display

4 years agoDe-indent all fmt::Display impls for later replacement to functions
Mark Rousskov [Sat, 31 Aug 2019 15:34:37 +0000 (11:34 -0400)]
De-indent all fmt::Display impls for later replacement to functions

4 years agoDelete Sidebar struct in favor of FnOnce impl
Mark Rousskov [Sat, 31 Aug 2019 15:32:47 +0000 (11:32 -0400)]
Delete Sidebar struct in favor of FnOnce impl