]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoCombine similar tests for const match
Joshua Nelson [Wed, 27 Nov 2019 05:02:04 +0000 (00:02 -0500)]
Combine similar tests for const match

See https://github.com/rust-lang/rust/pull/66788#issuecomment-558799307
for context.

4 years agoAuto merge of #66794 - tmandry:rollup-99qrpr0, r=tmandry
bors [Wed, 27 Nov 2019 00:32:30 +0000 (00:32 +0000)]
Auto merge of #66794 - tmandry:rollup-99qrpr0, r=tmandry

Rollup of 14 pull requests

Successful merges:

 - #66128 (alloc: Add new_zeroed() versions like new_uninit().)
 - #66661 (Add riscv64gc-unknown-linux-gnu target)
 - #66663 (Miri: print leak report even without tracing)
 - #66711 (Add hardware floating point features to aarch64-pc-windows-msvc)
 - #66713 (introduce a target to build the kernel of the unikernel HermitCore)
 - #66717 (tidy: Accommodate rustfmt's preferred layout of stability attributes)
 - #66719 (Store pointer width as u32 on Config)
 - #66720 (Move ErrorReported to rustc_errors)
 - #66737 (Error codes cleanup)
 - #66754 (Various tweaks to diagnostic output)
 - #66763 (Minor edit for documentation-tests.md that increases clarity)
 - #66779 (follow the same function order in the trait)
 - #66786 (Add wildcard test for const_if_match)
 - #66788 (Allow `Unreachable` terminators through `min_const_fn` checks)

Failed merges:

r? @ghost

4 years agoRollup merge of #66788 - ecstatic-morse:const-fn-unreachable, r=Centril
Tyler Mandry [Tue, 26 Nov 2019 23:56:25 +0000 (17:56 -0600)]
Rollup merge of #66788 - ecstatic-morse:const-fn-unreachable, r=Centril

Allow `Unreachable` terminators through `min_const_fn` checks

Resolves #66756.

This allows `Unreachable` terminators through the `min_const_fn` checks if `#![feature(const_if_match)]` is enabled. We could probably just allow them with no feature flag, but it seems okay to be conservative here.

r? @oli-obk

4 years agoRollup merge of #66786 - jyn514:const-if-match-tests, r=Centril
Tyler Mandry [Tue, 26 Nov 2019 23:56:23 +0000 (17:56 -0600)]
Rollup merge of #66786 - jyn514:const-if-match-tests, r=Centril

Add wildcard test for const_if_match

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

Many thanks to @Centril for his help getting me started!

4 years agoRollup merge of #66779 - guanqun:reorder-funcs, r=Dylan-DPC
Tyler Mandry [Tue, 26 Nov 2019 23:56:22 +0000 (17:56 -0600)]
Rollup merge of #66779 - guanqun:reorder-funcs, r=Dylan-DPC

follow the same function order in the trait

With this change, the function order in both traits and implementation matches.

And this fix removes several warnings in IDE.

4 years agoRollup merge of #66763 - Parth:patch-2, r=steveklabnik
Tyler Mandry [Tue, 26 Nov 2019 23:56:20 +0000 (17:56 -0600)]
Rollup merge of #66763 - Parth:patch-2, r=steveklabnik

Minor edit for documentation-tests.md that increases clarity

4 years agoRollup merge of #66754 - estebank:rustdoc-capitalization, r=Dylan-DPC
Tyler Mandry [Tue, 26 Nov 2019 23:56:19 +0000 (17:56 -0600)]
Rollup merge of #66754 - estebank:rustdoc-capitalization, r=Dylan-DPC

Various tweaks to diagnostic output

4 years agoRollup merge of #66737 - GuillaumeGomez:err-codes-cleanup, r=Dylan-DPC
Tyler Mandry [Tue, 26 Nov 2019 23:56:17 +0000 (17:56 -0600)]
Rollup merge of #66737 - GuillaumeGomez:err-codes-cleanup, r=Dylan-DPC

Error codes cleanup

r? @Dylan-DPC

4 years agoRollup merge of #66720 - Mark-Simulacrum:error-reported, r=Centril
Tyler Mandry [Tue, 26 Nov 2019 23:56:16 +0000 (17:56 -0600)]
Rollup merge of #66720 - Mark-Simulacrum:error-reported, r=Centril

Move ErrorReported to rustc_errors

The new location is more consistent with what this type is for, though we don't remove it from the old location (via a re-export) to avoid changing the dozens of use sites (~139 at this time).

4 years agoRollup merge of #66719 - Mark-Simulacrum:int-normalization, r=Centril
Tyler Mandry [Tue, 26 Nov 2019 23:56:15 +0000 (17:56 -0600)]
Rollup merge of #66719 - Mark-Simulacrum:int-normalization, r=Centril

Store pointer width as u32 on Config

This removes the dependency on IntTy, UintTy from Session.

It's not obviously a win, but it seems a bit odd to store the AST IntTy/UintTy in Session, rather we store the pointer width as an integer and add normalization methods to IntTy and UintTy.

4 years agoRollup merge of #66717 - dtolnay:tidy, r=Mark-Simulacrum
Tyler Mandry [Tue, 26 Nov 2019 23:56:13 +0000 (17:56 -0600)]
Rollup merge of #66717 - dtolnay:tidy, r=Mark-Simulacrum

tidy: Accommodate rustfmt's preferred layout of stability attributes

Previously tidy would require that the `feature = "name_of_feature"` part of the stability attribute was on the same line as the `#[stable(` / `#[unstable(` opening part of the attribute, and that `)]` was on the same line as the last key-value pair.

That didn't work with rustfmt's preferred layout of long attributes, which is like:

```rust
#[unstable(
    feature = "c_variadic",
    reason = "the `c_variadic` feature has not been properly tested on \
              all supported platforms",
    issue = "44930"
)]
```

4 years agoRollup merge of #66713 - hermitcore:hermit, r=alexcrichton
Tyler Mandry [Tue, 26 Nov 2019 23:56:11 +0000 (17:56 -0600)]
Rollup merge of #66713 - hermitcore:hermit, r=alexcrichton

introduce a target to build the kernel of the unikernel HermitCore

We are developing the unikernel HermitCore, where the kernel is written in Rust and is already supported by the Rust Standard Library. To compile the kernel with the new build flag "-Z build-std", we introduce a new target, which avoids the usage of SSE & AVX within the kernel.

4 years agoRollup merge of #66711 - mattico:aarch-msvc-fp, r=nagisa
Tyler Mandry [Tue, 26 Nov 2019 23:56:10 +0000 (17:56 -0600)]
Rollup merge of #66711 - mattico:aarch-msvc-fp, r=nagisa

Add hardware floating point features to aarch64-pc-windows-msvc

Fixes #66701

4 years agoRollup merge of #66663 - RalfJung:miri-leaks, r=oli-obk
Tyler Mandry [Tue, 26 Nov 2019 23:56:08 +0000 (17:56 -0600)]
Rollup merge of #66663 - RalfJung:miri-leaks, r=oli-obk

Miri: print leak report even without tracing

Currently, the rustup-installed Miri has no way to actually print a leak report (as `trace!` is compiled out). Make it print that per default instead when there is a leak.

r? @oli-obk

4 years agoRollup merge of #66661 - msizanoen1:riscv-gnu, r=alexcrichton
Tyler Mandry [Tue, 26 Nov 2019 23:56:07 +0000 (17:56 -0600)]
Rollup merge of #66661 - msizanoen1:riscv-gnu, r=alexcrichton

Add riscv64gc-unknown-linux-gnu target

This PR add the target, but doesn't build std on CI yet.
I have a port for `libc` crate and std which I will upstream soon after this target is added.

r? @alexcrichton

4 years agoRollup merge of #66128 - emilio:new-zeroed, r=SimonSapin
Tyler Mandry [Tue, 26 Nov 2019 23:56:05 +0000 (17:56 -0600)]
Rollup merge of #66128 - emilio:new-zeroed, r=SimonSapin

alloc: Add new_zeroed() versions like new_uninit().

MaybeUninit has both uninit() and zeroed(), it seems reasonable to have the same
surface on Box/Rc/Arc.

Needs tests.

cc #63291

4 years agoAuto merge of #66646 - RalfJung:unwind_to_block, r=oli-obk
bors [Tue, 26 Nov 2019 20:38:47 +0000 (20:38 +0000)]
Auto merge of #66646 - RalfJung:unwind_to_block, r=oli-obk

refactor goto_block and also add unwind_to_block

r? @oli-obk

4 years agoRemove test for #66758
Dylan MacKenzie [Tue, 26 Nov 2019 20:13:15 +0000 (12:13 -0800)]
Remove test for #66758

4 years agoMove ErrorReported to rustc_errors
Mark Rousskov [Sun, 24 Nov 2019 21:59:56 +0000 (16:59 -0500)]
Move ErrorReported to rustc_errors

4 years agoAdd regression test for #66756
Dylan MacKenzie [Tue, 26 Nov 2019 19:37:16 +0000 (11:37 -0800)]
Add regression test for #66756

4 years agoAllow `Unreachable` terminators behind `const_if_match`
Dylan MacKenzie [Tue, 26 Nov 2019 19:36:53 +0000 (11:36 -0800)]
Allow `Unreachable` terminators behind `const_if_match`

4 years agoTest multiple variants
Joshua Nelson [Tue, 26 Nov 2019 17:37:55 +0000 (12:37 -0500)]
Test multiple variants

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
4 years agoAuto merge of #66776 - Mark-Simulacrum:revert-try-breakage, r=Mark-Simulacrum
bors [Tue, 26 Nov 2019 16:03:50 +0000 (16:03 +0000)]
Auto merge of #66776 - Mark-Simulacrum:revert-try-breakage, r=Mark-Simulacrum

Revert "DO NOT MERGE: enable windows try builder"

This reverts commit 90a37bce44d145715eeac9f1f2f34433fc813ef0.

4 years agofollow the same function order in the trait
Guanqun Lu [Tue, 26 Nov 2019 14:55:01 +0000 (22:55 +0800)]
follow the same function order in the trait

This removes several warnings in IDE.

4 years agoRevert "DO NOT MERGE: enable windows try builder"
Mark Rousskov [Tue, 26 Nov 2019 13:06:13 +0000 (08:06 -0500)]
Revert "DO NOT MERGE: enable windows try builder"

This reverts commit 90a37bce44d145715eeac9f1f2f34433fc813ef0.

4 years agoAuto merge of #66631 - michaelwoerister:additional-pgo-tests, r=alexcrichton
bors [Tue, 26 Nov 2019 12:35:39 +0000 (12:35 +0000)]
Auto merge of #66631 - michaelwoerister:additional-pgo-tests, r=alexcrichton

Add additional regression tests for PGO

This PR adds regression tests for making sure that
- instrumentation records the right counts for branches taken and functions called, and that
- the indirect call promotion pass actually is able to promote indirect calls.

r? @alexcrichton

4 years agoPGO: Make branch-weights regression test more robust.
Michael Woerister [Tue, 26 Nov 2019 09:34:48 +0000 (10:34 +0100)]
PGO: Make branch-weights regression test more robust.

4 years agoAuto merge of #66561 - TimoFreiberg:trait-name-report, r=estebank
bors [Tue, 26 Nov 2019 05:07:02 +0000 (05:07 +0000)]
Auto merge of #66561 - TimoFreiberg:trait-name-report, r=estebank

Add version mismatch help message for unimplemented trait

Improves issue #22750

The error reporting for E0277 (the trait `X` is not implemented for `Foo`)
now checks whether `Foo` implements a trait with the same path as `X`,
which probably means that the programmer wanted to actually use only one
version of the trait `X` instead of the two.

Still open:
* the same diagnostic should be added for [the trait method case](https://github.com/rust-lang/rust/issues/22750#issuecomment-372077056)
* Showing the real crate versions would be nice, but rustc currently doesn't have that information [according to Esteban](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/diagnostics.20for.20crate.20version.20mismatch/near/180572989)

4 years agoAuto merge of #66522 - tmiasko:sanitize-flags, r=alexcrichton
bors [Tue, 26 Nov 2019 01:54:53 +0000 (01:54 +0000)]
Auto merge of #66522 - tmiasko:sanitize-flags, r=alexcrichton

Add support for sanitizer recover and tracking origins of uninitialized memory

* Add support for sanitizer recovery `-Zsanitizer-recover=...` (equivalent to `-fsanitize-recover` in clang).
* Add support for tracking origins of uninitialized memory in MemorySanitizer `-Zsanitizer-memory-track-origins` (equivalent to `-fsanitize-memory-track-origins` in clang).

4 years agoAdd wildcard test for const_if_match
Joshua Nelson [Tue, 26 Nov 2019 00:44:35 +0000 (19:44 -0500)]
Add wildcard test for const_if_match

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

4 years agoUpdate documentation-tests.md
Parth Mehrotra [Tue, 26 Nov 2019 00:34:32 +0000 (19:34 -0500)]
Update documentation-tests.md

4 years agoAuto merge of #66178 - Aaron1011:fix/opaque-normalize, r=varkor
bors [Mon, 25 Nov 2019 22:45:50 +0000 (22:45 +0000)]
Auto merge of #66178 - Aaron1011:fix/opaque-normalize, r=varkor

Fix opaque types resulting from projections in function signature

When we normalize the types in a function signature, we may end up
resolving a projection to an opaque type (e.g. `Self::MyType` when
we have `type MyType = impl SomeTrait`). When the projection is
resolved, we will instantiate the generic parameters into fresh
inference variables.

While we do want to normalize projections to opaque types, we don't want
to replace the explicit generic parameters (e.g. `T` in `impl
MyTrait<T>`) with inference variables. We want the opaque type in the
function signature to be eligible to be a defining use of that opaque
type - adding inference variables prevents this, since the opaque type
substs now appears to refer to some specific type, rather than a generic
type.

To resolve this issue, we inspect the opaque types in the function
signature after normalization. Any inference variables in the substs are
replaced with the corresponding generic parameter in the identity substs
(e.g. `T` in `impl MyTrait<T>`). Note that normalization is the only way
that we can end up with inference variables in opaque substs in a
function signature - users have no way of getting inference variables
into a function signature.

Note that all of this refers to the opaque type (ty::Opaque) and its
subst - *not* to the underlying type.

Fixes #59342

4 years agomake sure we handle all transmute invocations, including diverging ones
Ralf Jung [Mon, 25 Nov 2019 21:37:31 +0000 (22:37 +0100)]
make sure we handle all transmute invocations, including diverging ones

4 years agoVarious cleanups
Esteban Küber [Mon, 25 Nov 2019 20:37:07 +0000 (12:37 -0800)]
Various cleanups

4 years agoTweak removed feature error
Esteban Küber [Mon, 25 Nov 2019 20:36:26 +0000 (12:36 -0800)]
Tweak removed feature error

4 years agoTweak bad `continue` error
Esteban Küber [Mon, 25 Nov 2019 20:35:30 +0000 (12:35 -0800)]
Tweak bad `continue` error

4 years agoTweak duplicate matcher binding error
Esteban Küber [Mon, 25 Nov 2019 20:34:56 +0000 (12:34 -0800)]
Tweak duplicate matcher binding error

4 years agoTweak duplicate fmt arg error
Esteban Küber [Mon, 25 Nov 2019 20:34:16 +0000 (12:34 -0800)]
Tweak duplicate fmt arg error

4 years agoTweak move error due to non-Copy
Esteban Küber [Mon, 25 Nov 2019 20:32:57 +0000 (12:32 -0800)]
Tweak move error due to non-Copy

4 years agoTweak multiple allocators error
Esteban Küber [Mon, 25 Nov 2019 20:27:50 +0000 (12:27 -0800)]
Tweak multiple allocators error

4 years agomiri: couple ret place and ret block together (they both exist or both don't)
Ralf Jung [Mon, 25 Nov 2019 21:00:58 +0000 (22:00 +0100)]
miri: couple ret place and ret block together (they both exist or both don't)

4 years agoFix capitalization when mentioning different crate versions in E0308
Esteban Küber [Mon, 25 Nov 2019 20:26:32 +0000 (12:26 -0800)]
Fix capitalization when mentioning different crate versions in E0308

4 years agoAuto merge of #66739 - pietroalbini:rollup-2t2pd4a, r=pietroalbini
bors [Mon, 25 Nov 2019 19:37:54 +0000 (19:37 +0000)]
Auto merge of #66739 - pietroalbini:rollup-2t2pd4a, r=pietroalbini

Rollup of 7 pull requests

Successful merges:

 - #65613 (Preserve whitespace inside one-backtick codeblocks)
 - #66512 (Add unix::process::CommandExt::arg0)
 - #66569 (GitHub Actions: preparations, part 1)
 - #66678 (Remove useless line for error index generation)
 - #66684 (Drive-by cleanup in region naming)
 - #66694 (Add some comments to panic runtime)
 - #66698 (tidy: Remove unused import)

Failed merges:

r? @ghost

4 years agoAuto merge of #66748 - ehuss:update-cargo-books, r=alexcrichton
bors [Mon, 25 Nov 2019 16:23:08 +0000 (16:23 +0000)]
Auto merge of #66748 - ehuss:update-cargo-books, r=alexcrichton

Update cargo, rls, books.

## nomicon

1 commits in 58e36e0e08dec5a379ac568827c058e25990d6cd..041c46e692a2592853aeca132c8dfe8eb5a79a9e
2019-10-30 08:14:24 -0500 to 2019-11-20 16:46:45 +0100
- Update unsafe-code-guidelines link (rust-lang-nursery/nomicon#175)

## cargo

15 commits in 8280633db680dec5bfe1de25156d1a1d53e6d190..750cb1482e4d0e74822cded7ab8b3c677ed8b041
2019-11-11 23:17:05 +0000 to 2019-11-23 23:06:36 +0000
- Some random comments and docstrings. (rust-lang/cargo#7625)
- Add value OUT_DIR to build-script-executed JSON message (rust-lang/cargo#7622)
- Update documentation for custom target dependencies. (rust-lang/cargo#7623)
- Document private items for binary crates by default (rust-lang/cargo#7593)
- Extend documentation on security concerns of crate names in a registry. (rust-lang/cargo#7616)
- Stabilize install-upgrade. (rust-lang/cargo#7560)
- Turn the new lock file format on by default (rust-lang/cargo#7579)
- bump im-rc version (rust-lang/cargo#7609)
- Ignore file lock errors if unsupported, on Windows (rust-lang/cargo#7602)
- Add hack for fwdansi change. (rust-lang/cargo#7607)
- Document Cargo's JSON output. (rust-lang/cargo#7595)
- Remove "cargo login" from user input when asking for login token. (rust-lang/cargo#7588)
- Fix all Clippy suggestions (but not add it to CI 🙃) (rust-lang/cargo#7574)
- Add kind/platform info to `cargo metadata` (rust-lang/cargo#7132)
- Update core-foundation requirement from 0.6.0 to 0.7.0 (rust-lang/cargo#7585)

## reference

2 commits in 45558c464fb458affbcdcb34323946da45c8a117..9e843aeb4df083522c7277179bbaa25d0507731c
2019-11-08 14:47:35 +0100 to 2019-11-24 17:44:04 +0100
- Minor never type additions. (rust-lang-nursery/reference#723)
- Update associated-items.md.  "it"-&gt;is (rust-lang-nursery/reference#721)

## book

3 commits in e79dd62aa63396714278d484d91d48826737f47f..81ebaa2a3f88d4d106516c489682e64cacba4f60
2019-10-30 07:33:12 -0500 to 2019-11-15 08:30:04 -0800
- small fix ch04-03 & code block typo ch07-02 (rust-lang/book#2138)
- Adapt content of Chapter 16.3 in order to be consistent with improved compiler message (rust-lang/book#1779)
- [Rust 1.35] Remove FnBox and use builtin impl FnOnce for Box&lt;FnOnce()&gt; instead. (rust-lang/book#1906)

## rls

3 commits in 5db91c7b94ca81eead6b25bcf6196b869a44ece0..9ec2b8cb57c87517bcb506ac302eae339ffa2025
2019-10-30 16:04:39 +0100 to 2019-11-24 23:16:11 +0100
- Fix test for latest nightly. (rust-lang-nursery/rls#1595)
- doc: contributing: Remove outdated LSP extension (rust-lang-nursery/rls#1594)
- Update cargo. (rust-lang-nursery/rls#1591)

## rust-by-example

1 commits in dcee312c66267eb5a2f6f1561354003950e29105..4835e025826729827a94fdeb7cb85fed288d08bb
2019-10-31 11:26:53 -0300 to 2019-11-14 09:20:43 -0300
- crates: fix suggested value for --crate-type flag (rust-lang/rust-by-example#1292)

## edition-guide

1 commits in f553fb26c60c4623ea88a1cfe731eafe0643ce34..6601cab4666596494a569f94aa63b7b3230e9769
2019-10-30 08:27:42 -0500 to 2019-11-22 12:08:58 -0500
- Remove final nursery reference

4 years agoUpdate cargo, rls, books.
Eric Huss [Mon, 25 Nov 2019 16:14:07 +0000 (08:14 -0800)]
Update cargo, rls, books.

4 years agomove ABI check out to cover all calls
Ralf Jung [Mon, 25 Nov 2019 15:25:10 +0000 (16:25 +0100)]
move ABI check out to cover all calls

4 years agounify call_intrinsic handling of intruction pointer with other machine hooks
Ralf Jung [Mon, 25 Nov 2019 15:23:44 +0000 (16:23 +0100)]
unify call_intrinsic handling of intruction pointer with other machine hooks

4 years agorefactor goto_block and also add unwind_to_block
Ralf Jung [Fri, 22 Nov 2019 21:17:15 +0000 (22:17 +0100)]
refactor goto_block and also add unwind_to_block

4 years agoClean up E0070 long explanation
Guillaume Gomez [Mon, 25 Nov 2019 12:53:55 +0000 (13:53 +0100)]
Clean up E0070 long explanation

4 years agoClean up E0069 long explanation
Guillaume Gomez [Mon, 25 Nov 2019 12:50:25 +0000 (13:50 +0100)]
Clean up E0069 long explanation

4 years agoClean up E0067 long explanation
Guillaume Gomez [Mon, 25 Nov 2019 12:49:32 +0000 (13:49 +0100)]
Clean up E0067 long explanation

4 years agoRollup merge of #66698 - petrochenkov:tidywarn, r=Mark-Simulacrum
Pietro Albini [Mon, 25 Nov 2019 14:05:28 +0000 (15:05 +0100)]
Rollup merge of #66698 - petrochenkov:tidywarn, r=Mark-Simulacrum

tidy: Remove unused import

It produces annoying warnings on `x.py` runs.

4 years agoRollup merge of #66694 - RalfJung:panic-comments, r=Dylan-DPC
Pietro Albini [Mon, 25 Nov 2019 14:05:26 +0000 (15:05 +0100)]
Rollup merge of #66694 - RalfJung:panic-comments, r=Dylan-DPC

Add some comments to panic runtime

4 years agoRollup merge of #66684 - mark-i-m:error-reporting-cleanup, r=davidtwco
Pietro Albini [Mon, 25 Nov 2019 14:05:25 +0000 (15:05 +0100)]
Rollup merge of #66684 - mark-i-m:error-reporting-cleanup, r=davidtwco

Drive-by cleanup in region naming

4 years agoRollup merge of #66678 - GuillaumeGomez:remove-useless-error-index-line, r=Dylan-DPC
Pietro Albini [Mon, 25 Nov 2019 14:05:23 +0000 (15:05 +0100)]
Rollup merge of #66678 - GuillaumeGomez:remove-useless-error-index-line, r=Dylan-DPC

Remove useless line for error index generation

As you can see here: https://github.com/rust-lang/rust/blob/master/src/librustc_error_codes/error_codes.rs#L10, this replacement is now completely useless.

r? @Dylan-DPC

4 years agoRollup merge of #66569 - pietroalbini:gha-1, r=alexcrichton
Pietro Albini [Mon, 25 Nov 2019 14:05:21 +0000 (15:05 +0100)]
Rollup merge of #66569 - pietroalbini:gha-1, r=alexcrichton

GitHub Actions: preparations, part 1

This PR adds the first batch of commits in preparation for GitHub Actions:

* Added GitHub Actions support in `src/ci/shared.sh` and bootstrap.
* Addded a `setup-environment.sh` script which guesses and sets the `DEPLOY`, `DEPLOY_ALT` and `IMAGE` environment variables automatically, to reduce the verbosity of the CI configuration.

This PR does **not** yet add any builders on GitHub Actions.

r? @alexcrichton

4 years agoRollup merge of #66512 - jsgf:process-argv0, r=Dylan-DPC
Pietro Albini [Mon, 25 Nov 2019 14:05:19 +0000 (15:05 +0100)]
Rollup merge of #66512 - jsgf:process-argv0, r=Dylan-DPC

Add unix::process::CommandExt::arg0

This allows argv[0] to be overridden on the executable's command-line. This also makes the program
executed independent of argv[0].

Does Fuchsia have the same semantics? I'm assuming so.

Addresses: #66510

4 years agoRollup merge of #65613 - Mark-Simulacrum:rustdoc-preserve-ws, r=GuillaumeGomez
Pietro Albini [Mon, 25 Nov 2019 14:05:11 +0000 (15:05 +0100)]
Rollup merge of #65613 - Mark-Simulacrum:rustdoc-preserve-ws, r=GuillaumeGomez

Preserve whitespace inside one-backtick codeblocks

Previously this was only done inside short docblocks (e.g., summary
lines), but we should also do so in general.

Fixes #65555

4 years agoAuto merge of #66682 - estebank:fn-type-err, r=davidtwco
bors [Mon, 25 Nov 2019 12:54:42 +0000 (12:54 +0000)]
Auto merge of #66682 - estebank:fn-type-err, r=davidtwco

Highlight parts of fn in type errors

When a type error arises between two fn items, fn pointers or tuples,
highlight only the differing parts of each.

Examples:

<img width="699" alt="" src="https://user-images.githubusercontent.com/1606434/69487597-ab561600-0e11-11ea-9b4e-d4fd9e91d5dc.png">
<img width="528" alt="" src="https://user-images.githubusercontent.com/1606434/69487207-9033d800-0e0a-11ea-93e3-8c4d002411a5.png">
<img width="468" alt="" src="https://user-images.githubusercontent.com/1606434/69487208-9033d800-0e0a-11ea-92e3-2b2cee120335.png">
<img width="775" alt="" src="https://user-images.githubusercontent.com/1606434/69487209-9033d800-0e0a-11ea-9e68-7f6ed5c8cb08.png">

4 years agoClean up E0063 long explanation
Guillaume Gomez [Mon, 25 Nov 2019 12:32:11 +0000 (13:32 +0100)]
Clean up E0063 long explanation

4 years agoClean up E0062 long explanation
Guillaume Gomez [Mon, 25 Nov 2019 12:31:05 +0000 (13:31 +0100)]
Clean up E0062 long explanation

4 years agoAuto merge of #66279 - cjgillot:hashstable, r=Zoxc
bors [Mon, 25 Nov 2019 09:28:59 +0000 (09:28 +0000)]
Auto merge of #66279 - cjgillot:hashstable, r=Zoxc

Use proc-macro to derive HashStable everywhere

Hello,

A second proc-macro is added to derive HashStable for crates librustc depends on.
This proc-macro `HashStable_Generic` (to bikeshed) allows to decouple code and strip much of librustc's boilerplate.

Still, two implementations `Span` and `TokenKind` require to be placed in librustc.
The latter only depends on the `bug` macro. Advise welcome on how to sever that link.
A trait `StableHasingContextLike` has been introduced at each crate root,
in order to handle those implementations which require librustc's very `StableHashingContext`.

This overall effort allowed to remove the `impl_stable_hash_for` macro.

Each commit passes the `x.py check`.
I still have to double check there was no change in the implementation.

4 years agoAuto merge of #66669 - petrochenkov:tup2attr, r=matthewjasper
bors [Mon, 25 Nov 2019 05:41:27 +0000 (05:41 +0000)]
Auto merge of #66669 - petrochenkov:tup2attr, r=matthewjasper

Fix some issues with attributes on unnamed fields

Fixes https://github.com/rust-lang/rust/issues/66487
Fixes https://github.com/rust-lang/rust/issues/66555

4 years agoFix some rustdoc error capitalization
Esteban Küber [Mon, 25 Nov 2019 02:42:22 +0000 (18:42 -0800)]
Fix some rustdoc error capitalization

4 years agoAuto merge of #66671 - matthewjasper:ast-address-of, r=Centril
bors [Mon, 25 Nov 2019 01:20:38 +0000 (01:20 +0000)]
Auto merge of #66671 - matthewjasper:ast-address-of, r=Centril

Ast address-of

This is the parts of #64588 that don't affect MIR. If an address-of expression makes it to MIR lowering we error and lower to the best currently expressible approximation to limit further errors.

r? @Centril

4 years agodisable redzone
Stefan Lankes [Sun, 24 Nov 2019 22:40:32 +0000 (23:40 +0100)]
disable redzone

4 years agoAuto merge of #66540 - nnethercote:SmallVec-Candidate-match_pairs, r=matthewjasper
bors [Sun, 24 Nov 2019 21:39:09 +0000 (21:39 +0000)]
Auto merge of #66540 - nnethercote:SmallVec-Candidate-match_pairs, r=matthewjasper

Use a `SmallVec` for `Candidate::match_pairs`.

This is a small win for `encoding`.

r? @matthewjasper

4 years agouse nicer code style to pass tidy check
Stefan Lankes [Sun, 24 Nov 2019 21:36:50 +0000 (22:36 +0100)]
use nicer code style to pass tidy check

4 years agoStore ptr_width as u32 on Config
Mark Rousskov [Sun, 24 Nov 2019 21:25:20 +0000 (16:25 -0500)]
Store ptr_width as u32 on Config

This removes the dependency on IntTy, UintTy from Session.

4 years agotidy: Accommodate rustfmt's preferred layout of stability attributes
David Tolnay [Sun, 24 Nov 2019 20:44:49 +0000 (12:44 -0800)]
tidy: Accommodate rustfmt's preferred layout of stability attributes

Previously tidy would require that the `feature = "name_of_feature"`
part of the stability attribute was on the same line as the `#[stable(`
/ `#[unstable(` opening part of the attribute, and that `)]` was on the
same line as the last key-value pair.

That didn't work with rustfmt's preferred layout of long attributes,
which is like:

    #[unstable(
        feature = "c_variadic",
        reason = "the `c_variadic` feature has not been properly tested on \
                  all supported platforms",
        issue = "44930"
    )]

4 years agointroduce a target to build the kernel HermitCore
Stefan Lankes [Sun, 24 Nov 2019 20:05:32 +0000 (21:05 +0100)]
introduce a target to build the kernel HermitCore

- the target avoids the usage of SSE & AVX within the kernel

4 years agoAdd hardware floating point features to aarch64-pc-windows-msvc
Matt Ickstadt [Sun, 24 Nov 2019 19:39:03 +0000 (13:39 -0600)]
Add hardware floating point features to aarch64-pc-windows-msvc

4 years agoUpdate for ConstKind refactor
Aaron Hill [Mon, 18 Nov 2019 19:58:29 +0000 (14:58 -0500)]
Update for ConstKind refactor

4 years agoAdd example and extra documentation
Aaron Hill [Mon, 18 Nov 2019 19:46:16 +0000 (14:46 -0500)]
Add example and extra documentation

4 years agoFix missing character
Aaron Hill [Mon, 18 Nov 2019 19:37:56 +0000 (14:37 -0500)]
Fix missing character

Co-Authored-By: varkor <github@varkor.com>
4 years agobug!() on const inference variable in opaque type
Aaron Hill [Mon, 11 Nov 2019 20:01:53 +0000 (15:01 -0500)]
bug!() on const inference variable in opaque type

Add some tests to verify that this case is never hit

4 years agoAlso fix lifetimes and consts in opaque types
Aaron Hill [Mon, 11 Nov 2019 18:31:46 +0000 (13:31 -0500)]
Also fix lifetimes and consts in opaque types

4 years agoImprove error message when opaque type is not fully constrained
Aaron Hill [Fri, 8 Nov 2019 03:40:19 +0000 (22:40 -0500)]
Improve error message when opaque type is not fully constrained

4 years agoFix opaque types resulting from projections in function signature
Aaron Hill [Thu, 7 Nov 2019 02:26:40 +0000 (21:26 -0500)]
Fix opaque types resulting from projections in function signature

When we normalize the types in a function signature, we may end up
resolving a projection to an opaque type (e.g. `Self::MyType` when
we have `type MyType = impl SomeTrait`). When the projection is
resolved, we will instantiate the generic parameters into fresh
inference variables.

While we do want to normalize projections to opaque types, we don't want
to replace the explicit generic parameters (e.g. `T` in `impl
MyTrait<T>`) with inference variables. We want the opaque type in the
function signature to be eligible to be a defining use of that opaque
type - adding inference variables prevents this, since the opaque type
substs now appears to refer to some specific type, rather than a generic
type.

To resolve this issue, we inspect the opaque types in the function
signature after normalization. Any inference variables in the substs are
replaced with the corresponding generic parameter in the identity substs
(e.g. `T` in `impl MyTrait<T>`). Note that normalization is the only way
that we can end up with inference variables in opaque substs in a
function signature - users have no way of getting inference variables
into a function signature.

Note that all of this refers to the opaque type (ty::Opaque) and its
subst - *not* to the underlying type.

Fixes #59342

4 years agoAuto merge of #66647 - petrochenkov:nosynt, r=Centril
bors [Sun, 24 Nov 2019 18:16:43 +0000 (18:16 +0000)]
Auto merge of #66647 - petrochenkov:nosynt, r=Centril

rustc_plugin: Remove support for syntactic plugins

This part of the plugin interface was successfully replaced by token-based procedural macros in theory and in practice.

cc https://github.com/rust-lang/rust/issues/29597
cc https://github.com/rust-lang/rust/pull/64675
r? @Centril

4 years agoAdd tests for raw_ref_op
Matthew Jasper [Sat, 23 Nov 2019 14:22:30 +0000 (14:22 +0000)]
Add tests for raw_ref_op

4 years agoParse and feature gate raw address of expressions
Matthew Jasper [Sat, 23 Nov 2019 14:22:00 +0000 (14:22 +0000)]
Parse and feature gate raw address of expressions

4 years agoAdd raw address of expressions to the AST and HIR
Matthew Jasper [Sat, 23 Nov 2019 14:15:49 +0000 (14:15 +0000)]
Add raw address of expressions to the AST and HIR

4 years agofixup! Lowercase diagnostic message label
Timo Freiberg [Sun, 24 Nov 2019 12:01:24 +0000 (13:01 +0100)]
fixup! Lowercase diagnostic message label

4 years agofixup! Add negative tests where the diagnostic message would be wrong
Timo Freiberg [Sun, 24 Nov 2019 12:01:13 +0000 (13:01 +0100)]
fixup! Add negative tests where the diagnostic message would be wrong

4 years agoAdd version mismatch help message for unimplemented trait
Timo Freiberg [Sun, 3 Nov 2019 22:06:48 +0000 (23:06 +0100)]
Add version mismatch help message for unimplemented trait

Issue #22750
The error reporting for E0277 (the trait `X` is not implemented for `Foo`)
now checks whether `Foo` implements a trait with the same path as `X`,
which probably means that the programmer wanted to actually use only one
version of the trait `X` instead of the two.

4 years agoAuto merge of #66592 - estebank:raw-raw-ah-ah-ah, r=cramertj
bors [Sun, 24 Nov 2019 14:08:08 +0000 (14:08 +0000)]
Auto merge of #66592 - estebank:raw-raw-ah-ah-ah, r=cramertj

Rework raw ident suggestions

Use heuristics to determine whethersuggesting raw identifiers is
appropriate.

Account for raw identifiers when printing a path in a `use` suggestion.

Fix #66126.

4 years agotidy: Remove unused import
Vadim Petrochenkov [Sun, 24 Nov 2019 13:09:55 +0000 (16:09 +0300)]
tidy: Remove unused import

4 years agomake comment compile
Ralf Jung [Sun, 24 Nov 2019 12:15:22 +0000 (13:15 +0100)]
make comment compile

4 years agoexpand type info on __rust_start_panic
Ralf Jung [Sun, 24 Nov 2019 12:13:33 +0000 (13:13 +0100)]
expand type info on __rust_start_panic

4 years agoAuto merge of #66393 - ssomers:hash_benches, r=dtolnay
bors [Sun, 24 Nov 2019 10:52:12 +0000 (10:52 +0000)]
Auto merge of #66393 - ssomers:hash_benches, r=dtolnay

introduce benchmarks of HashSet operations

To avoid goofs such as corrected by #66280, I added benchmarks of binary HashSet operations.

Due to the fact x.py keeps recompiling the whole shebang (or at least a big part of it) whenever you touch the test code, and because piling up all tests in one file does not strike me as future proof, I tried moving the hash benches to the separate place they are for liballoc/collections/btree. But it turns out that, in a cleaned checkout, x.py still recompiles the whole shebang whenever you touch the test code (PS or when you add or delete any irrelevant file). So I'm not going to add more tests, and I doubt others will, and these tests have proven their point already, so this PR is kind of pointless

4 years agopanicking comments
Ralf Jung [Sun, 24 Nov 2019 10:26:07 +0000 (11:26 +0100)]
panicking comments

4 years agorustc_plugin: Remove support for syntactic plugins
Vadim Petrochenkov [Fri, 22 Nov 2019 20:06:56 +0000 (23:06 +0300)]
rustc_plugin: Remove support for syntactic plugins

4 years agoexpand: Fully preserve visibilities on unnamed fields with attributes
Vadim Petrochenkov [Sat, 23 Nov 2019 13:54:24 +0000 (16:54 +0300)]
expand: Fully preserve visibilities on unnamed fields with attributes

4 years agodef_collector: Do not forget to save indices of fields with multiple attributes
Vadim Petrochenkov [Sat, 23 Nov 2019 11:16:38 +0000 (14:16 +0300)]
def_collector: Do not forget to save indices of fields with multiple attributes

4 years agoAuto merge of #66322 - lzutao:consistent-result-map_or_else, r=dtolnay
bors [Sun, 24 Nov 2019 07:37:01 +0000 (07:37 +0000)]
Auto merge of #66322 - lzutao:consistent-result-map_or_else, r=dtolnay

Stabilize Result::map_or_else

Stabilized this API:
```rust
impl<T, E> Result<T, E> {
    pub fn map_or_else<U, D: FnOnce(E) -> U, F: FnOnce(T) -> U>(self, default: D, f: F) -> U {
        match self {
            Ok(t) => f(t),
            Err(e) => default(e),
        }
    }
}
```

Closes #53268
r? @SimonSapin

4 years agoreview comments: remove unnecessary `&str` to `String` conversions
Esteban Küber [Sun, 24 Nov 2019 02:36:33 +0000 (18:36 -0800)]
review comments: remove unnecessary `&str` to `String` conversions

4 years agoAuto merge of #66686 - Centril:rollup-07slyoo, r=Centril
bors [Sun, 24 Nov 2019 02:17:29 +0000 (02:17 +0000)]
Auto merge of #66686 - Centril:rollup-07slyoo, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #64856 (Scope format! temporaries)
 - #66411 (mem::forget docs: mention ManuallyDrop)
 - #66594 (Fix cycle when debug-printing opaque types)
 - #66641 (parser: recover on nested ADTs as enum variants)
 - #66659 (make `./x.py bench` again)

Failed merges:

r? @ghost

4 years agoRollup merge of #66659 - Centril:fix-bench, r=Mark-Simulacrum
Mazdak Farrokhzad [Sun, 24 Nov 2019 02:17:03 +0000 (03:17 +0100)]
Rollup merge of #66659 - Centril:fix-bench, r=Mark-Simulacrum

make `./x.py bench` again

Fixes #54016

4 years agoRollup merge of #66641 - VirrageS:master, r=Centril
Mazdak Farrokhzad [Sun, 24 Nov 2019 02:17:02 +0000 (03:17 +0100)]
Rollup merge of #66641 - VirrageS:master, r=Centril

parser: recover on nested ADTs as enum variants

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