]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoAdd a bunch more tests.
David Wood [Sat, 4 May 2019 11:07:04 +0000 (12:07 +0100)]
Add a bunch more tests.

5 years agoMove uninhabited tests into subdirectory.
David Wood [Sat, 4 May 2019 10:08:57 +0000 (11:08 +0100)]
Move uninhabited tests into subdirectory.

This commit just tries to tidy up a little.

5 years agoFix uninhabitedness of non-exhaustive enums.
David Wood [Sat, 4 May 2019 10:03:06 +0000 (11:03 +0100)]
Fix uninhabitedness of non-exhaustive enums.

This commit ensures that non-exhaustive enums are considered inhabited
when used in extern crates.

5 years agoFix inhabitedness of non-exhaustive variants.
David Wood [Sat, 4 May 2019 00:17:26 +0000 (01:17 +0100)]
Fix inhabitedness of non-exhaustive variants.

This commit ensures that non-exhaustive variants are considered
inhabited when used in extern crates.

5 years agoAdd uninhabitedness tests w/ `#[non_exhaustive]`.
David Wood [Sat, 4 May 2019 00:15:26 +0000 (01:15 +0100)]
Add uninhabitedness tests w/ `#[non_exhaustive]`.

This commit adds tests checking that uninhabited non-exhaustive types
are considered inhabited when used in another crate.

5 years agoAuto merge of #60684 - jethrogb:jb/sgx-test, r=joshtriplett
bors [Fri, 10 May 2019 09:56:56 +0000 (09:56 +0000)]
Auto merge of #60684 - jethrogb:jb/sgx-test, r=joshtriplett

Fix cfg(test) build on SGX

Introduced in #60657

r? @joshtriplett

5 years agoAuto merge of #60585 - sunfishcode:wasm32-wasi, r=alexcrichton
bors [Fri, 10 May 2019 07:02:38 +0000 (07:02 +0000)]
Auto merge of #60585 - sunfishcode:wasm32-wasi, r=alexcrichton

Omit the vendor component in the WASI triple

This renames wasm32-unknown-wasi to wasm32-wasi, omitting the vendor
component. This follows aarch64-linux-android, x86_64-fuchsia, and others in
omitting the vendor field, which has the advantage of aligning with the
[multiarch tuple](https://wiki.debian.org/Multiarch/Tuples), and of being
less noisy.

r? @alexcrichton

5 years agoAuto merge of #60451 - rasendubi:binaryheap-min-heap, r=scottmcm
bors [Fri, 10 May 2019 04:10:36 +0000 (04:10 +0000)]
Auto merge of #60451 - rasendubi:binaryheap-min-heap, r=scottmcm

BinaryHeap: add min-heap example

Fixes #58174.

5 years agoAuto merge of #60683 - Centril:rollup-p05qh5d, r=Centril
bors [Fri, 10 May 2019 00:51:14 +0000 (00:51 +0000)]
Auto merge of #60683 - Centril:rollup-p05qh5d, r=Centril

Rollup of 8 pull requests

Successful merges:

 - #59348 (Clean up and add tests for slice drop shims)
 - #60188 (Identify when a stmt could have been parsed as an expr)
 - #60234 (std: Derive `Default` for `io::Cursor`)
 - #60618 (Comment ext::tt::transcribe)
 - #60648 (Skip codegen for one UI test with long file path)
 - #60671 (remove unneeded `extern crate`s from build tools)
 - #60675 (Remove the old await! macro)
 - #60676 (Fix async desugaring providing wrong input to procedural macros.)

Failed merges:

r? @ghost

5 years agoFix cfg(test) build on SGX
Jethro Beekman [Thu, 9 May 2019 22:00:06 +0000 (15:00 -0700)]
Fix cfg(test) build on SGX

5 years agoRollup merge of #60676 - davidtwco:issue-60674, r=cramertj
Mazdak Farrokhzad [Thu, 9 May 2019 21:56:18 +0000 (23:56 +0200)]
Rollup merge of #60676 - davidtwco:issue-60674, r=cramertj

Fix async desugaring providing wrong input to procedural macros.

Fixes #60674.

This PR fixes a minor oversight introduced by #60535 where unused `mut` binding modes were removed from the arguments to an `async fn` (as they were added to the statement that we insert into the closure body). However, this meant that the input to procedural macros was incorrect. This removes that and instead fixes the `unused_mut` error that it avoided.

r? @cramertj
cc @taiki-e

5 years agoRollup merge of #60675 - cramertj:no-await-macro, r=nikomatsakis,Centril
Mazdak Farrokhzad [Thu, 9 May 2019 21:56:17 +0000 (23:56 +0200)]
Rollup merge of #60675 - cramertj:no-await-macro, r=nikomatsakis,Centril

Remove the old await! macro

This doesn't work anymore, and its continued presence is cause for confusion. `yield` can no longer be used to return `Pending` from an `async` body.

cc https://github.com/rust-lang/rust/issues/60660
cc @taiki-e
cc https://github.com/tokio-rs/tokio/pull/1080

5 years agoRollup merge of #60671 - euclio:extern-crate, r=Centril
Mazdak Farrokhzad [Thu, 9 May 2019 21:56:16 +0000 (23:56 +0200)]
Rollup merge of #60671 - euclio:extern-crate, r=Centril

remove unneeded `extern crate`s from build tools

5 years agoRollup merge of #60648 - petrochenkov:shorten2, r=Dylan-DPC
Mazdak Farrokhzad [Thu, 9 May 2019 21:56:14 +0000 (23:56 +0200)]
Rollup merge of #60648 - petrochenkov:shorten2, r=Dylan-DPC

Skip codegen for one UI test with long file path

The path to this test is so long that object files produced by it hit some path length limit on Windows and linker cannot find them.
The workaround here is to skip codegen and avoid producing object files, this test doesn't need them anyway.

5 years agoRollup merge of #60618 - mark-i-m:transcribe, r=petrochenkov
Mazdak Farrokhzad [Thu, 9 May 2019 21:56:13 +0000 (23:56 +0200)]
Rollup merge of #60618 - mark-i-m:transcribe, r=petrochenkov

Comment ext::tt::transcribe

Also did a bit of minor cleanup (remove unidiomatic use of `Add` and an unneeded `clone`). No functionality changes.

r? @petrochenkov

5 years agoRollup merge of #60234 - tesaguri:cursor-default, r=Amanieu
Mazdak Farrokhzad [Thu, 9 May 2019 21:56:11 +0000 (23:56 +0200)]
Rollup merge of #60234 - tesaguri:cursor-default, r=Amanieu

std: Derive `Default` for `io::Cursor`

I think this change is quite obvious, so made it insta-stable, but I won't insist on that.

5 years agoRollup merge of #60188 - estebank:recover-block, r=varkor
Mazdak Farrokhzad [Thu, 9 May 2019 21:56:09 +0000 (23:56 +0200)]
Rollup merge of #60188 - estebank:recover-block, r=varkor

Identify when a stmt could have been parsed as an expr

There are some expressions that can be parsed as a statement without
a trailing semicolon depending on the context, which can lead to
confusing errors due to the same looking code being accepted in some
places and not others. Identify these cases and suggest enclosing in
parenthesis making the parse non-ambiguous without changing the
accepted grammar.

Fix #54186, cc #54482, fix #59975, fix #47287.

5 years agoRollup merge of #59348 - matthewjasper:cleanup-drop-shims, r=arielb1
Mazdak Farrokhzad [Thu, 9 May 2019 21:56:08 +0000 (23:56 +0200)]
Rollup merge of #59348 - matthewjasper:cleanup-drop-shims, r=arielb1

Clean up and add tests for slice drop shims

Adds a test for the MIR generated by `real_drop_in_place::<[T]>`. Also slightly reduces the number of statements and locals used in the shim.

r? @RalfJung

5 years agoAuto merge of #60665 - pietroalbini:upgrade-ci-images, r=alexcrichton
bors [Thu, 9 May 2019 21:50:46 +0000 (21:50 +0000)]
Auto merge of #60665 - pietroalbini:upgrade-ci-images, r=alexcrichton

Upgrade non-LTS Ubuntu images in CI

This PR bumps `dist-various-2` to 18.04 LTS and both `x86_64-gnu` and `x86_64-gnu-debug` to 19.04.

Another change is the switch to [rust-lang/mirror-google-fuchsia-zircon](https://github.com/rust-lang/mirror-google-fuchsia-zircon) as the Zircon repository, used during Fuchsia tests: the original repository ([fuchsia.googlesource.com/zircon](https://fuchsia.googlesource.com/zircon)) is now behind a login wall and it doesn't contain anything at all.

r? @alexcrichton
cc @cramertj -- what's happening on the Fuchsia side?

5 years agoAuto merge of #60672 - Centril:rollup-fhcx463, r=Centril
bors [Thu, 9 May 2019 18:43:00 +0000 (18:43 +0000)]
Auto merge of #60672 - Centril:rollup-fhcx463, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #60601 (Add a `cast` method to raw pointers.)
 - #60638 (pin: make the to-module link more visible)
 - #60647 (cleanup: Remove `DefIndexAddressSpace`)
 - #60656 (Inline some Cursor calls for slices)
 - #60657 (Stabilize and re-export core::array in std)

Failed merges:

r? @ghost

5 years agoOmit the vendor component in the WASI triple
Dan Gohman [Wed, 1 May 2019 02:37:25 +0000 (19:37 -0700)]
Omit the vendor component in the WASI triple

This renames wasm32-unknown-wasi to wasm32-wasi, omitting the vendor
component. This follows aarch64-linux-android, x86_64-fuchsia, and others in
omitting the vendor field, which has the advantage of aligning with the
[multiarch tuple](https://wiki.debian.org/Multiarch/Tuples), and of being
less noisy.

5 years agoAdd FIXME about `construct_async_arguments`.
David Wood [Thu, 9 May 2019 18:14:39 +0000 (19:14 +0100)]
Add FIXME about `construct_async_arguments`.

This is unrelated to the rest of this PR but it made sense to add a
FIXME explaining that the function shouldn't really be in the parser.

5 years agoDo not modify mutability of simple bindings.
David Wood [Thu, 9 May 2019 18:10:27 +0000 (19:10 +0100)]
Do not modify mutability of simple bindings.

This commit removes the modification of the mutability of simple
bindings. While the mutability isn't used, it is important that it is
kept so that the input to procedural macros matches what the user wrote.
This commit also modifies the span of the binding mode so that it is
considered a compiler desugaring and won't be linted against for being
unused..

5 years agoRemove the old await! macro
Taylor Cramer [Thu, 9 May 2019 17:49:39 +0000 (10:49 -0700)]
Remove the old await! macro

This doesn't work anymore, and its continued
presence is cause for confusion.

5 years agoAdd regression test for #60674.
David Wood [Thu, 9 May 2019 17:13:21 +0000 (18:13 +0100)]
Add regression test for #60674.

This commit adds a regression test (with current broken behaviour) that
tests that `mut` patterns are not lost when provided as input to a proc macro.

5 years agoRollup merge of #60657 - JohnTitor:stabilize-array, r=SimonSapin
Mazdak Farrokhzad [Thu, 9 May 2019 16:34:58 +0000 (18:34 +0200)]
Rollup merge of #60657 - JohnTitor:stabilize-array, r=SimonSapin

Stabilize and re-export core::array in std

Fixes #60014

5 years agoRollup merge of #60656 - petertodd:2019-inline-cursor-over-slice, r=sfackler
Mazdak Farrokhzad [Thu, 9 May 2019 16:34:56 +0000 (18:34 +0200)]
Rollup merge of #60656 - petertodd:2019-inline-cursor-over-slice, r=sfackler

Inline some Cursor calls for slices

(Partially) brings back https://github.com/rust-lang/rust/pull/33921

I've noticed in some serialization code I was writing that writes to slices produce much, much, worse code than you'd expect even with optimizations turned on. For example, you'd expect something like this to be zero cost:

```
use std::io::{self, Cursor, Write};

pub fn serialize((a, b): (u64, u64)) -> [u8;8+8] {
    let mut r = [0u8;16];
    {
        let mut w = Cursor::new(&mut r[..]);

        w.write(&a.to_le_bytes()).unwrap();
        w.write(&b.to_le_bytes()).unwrap();
    }
    r
}
```

...but it compiles down to [dozens of instructions](https://rust.godbolt.org/z/bdwDzb) because the `slice_write()` calls aren't inlined, which in turn means `unwrap()` can't be optimized away, and so on.

To be clear, this pull-req isn't sufficient by itself: if we want to go down that path we also need to add `#[inline]`'s to the default implementations for functions like `write_all()` in the `Write` trait and so on, or implement them separately in the `Cursor` impls. But I figured I'd start a conversation about what tradeoffs we're expecting here.

5 years agoRollup merge of #60647 - petrochenkov:nospace, r=michaelwoerister
Mazdak Farrokhzad [Thu, 9 May 2019 16:34:55 +0000 (18:34 +0200)]
Rollup merge of #60647 - petrochenkov:nospace, r=michaelwoerister

cleanup: Remove `DefIndexAddressSpace`

The scheme with two address spaces for `DefIndex` was needed in the past, but apparently not needed anymore (after removing `DefId`s from locals and `HirId`-ification).

5 years agoRollup merge of #60638 - RalfJung:pin, r=sanxiyn
Mazdak Farrokhzad [Thu, 9 May 2019 16:34:53 +0000 (18:34 +0200)]
Rollup merge of #60638 - RalfJung:pin, r=sanxiyn

pin: make the to-module link more visible

Cc @gnzlbg

5 years agoRollup merge of #60601 - SimonSapin:cast, r=Kimundi
Mazdak Farrokhzad [Thu, 9 May 2019 16:34:51 +0000 (18:34 +0200)]
Rollup merge of #60601 - SimonSapin:cast, r=Kimundi

Add a `cast` method to raw pointers.

This is similar to `NonNull::cast`.

Compared to the `as` operator (which has a wide range of meanings depending on the input and output types), a call to this method:

* Can only go from a raw pointer to a raw pointer
* Cannot change the pointer’s `const`ness

… even when the pointed types are inferred based on context.

5 years agoremove unneeded `extern crate`s from build tools
Andy Russell [Thu, 9 May 2019 16:03:13 +0000 (12:03 -0400)]
remove unneeded `extern crate`s from build tools

5 years agoAuto merge of #60668 - Zoxc:hir-map-vec, r=matthewjasper
bors [Thu, 9 May 2019 12:42:16 +0000 (12:42 +0000)]
Auto merge of #60668 - Zoxc:hir-map-vec, r=matthewjasper

Fix typo

5 years agoFix typo
John Kåre Alsaker [Thu, 9 May 2019 11:56:14 +0000 (13:56 +0200)]
Fix typo

5 years agoci: bump ubuntu 18.10 images to 19.04
Pietro Albini [Thu, 9 May 2019 09:51:01 +0000 (11:51 +0200)]
ci: bump ubuntu 18.10 images to 19.04

5 years agoci: use our own mirror for fuchsia's zircon repository
Pietro Albini [Thu, 9 May 2019 09:32:41 +0000 (11:32 +0200)]
ci: use our own mirror for fuchsia's zircon repository

The canonical repository on fuchsia.googlesource.com is not accessible
anymore, neither for anonymous access nor logged in access. This commit
switches our CI to fetch the repository from our own mirror.

5 years agoci: update dist-various-2 to ubuntu 18.04
Pietro Albini [Thu, 9 May 2019 09:17:03 +0000 (11:17 +0200)]
ci: update dist-various-2 to ubuntu 18.04

5 years agoStabilize and re-export core::array
Yuki OKUSHI [Thu, 9 May 2019 02:58:39 +0000 (11:58 +0900)]
Stabilize and re-export core::array

5 years agoInline some Cursor calls for slices
Peter Todd [Thu, 9 May 2019 02:38:58 +0000 (22:38 -0400)]
Inline some Cursor calls for slices

(Partially) brings back https://github.com/rust-lang/rust/pull/33921

5 years agoAuto merge of #60651 - Centril:rollup-zoamjfk, r=Centril
bors [Wed, 8 May 2019 22:59:23 +0000 (22:59 +0000)]
Auto merge of #60651 - Centril:rollup-zoamjfk, r=Centril

Rollup of 8 pull requests

Successful merges:

 - #59979 (to_xe_bytes for isize and usize returns an array of different size)
 - #60491 (std: Update compiler-builtins crate)
 - #60550 (Add tests for concrete const types)
 - #60572 (Add test for #59972)
 - #60627 (test for #50518)
 - #60634 (Document + Cleanup lang_items.rs)
 - #60641 (Instead of ICEing on incorrect pattern, use delay_span_bug)
 - #60644 (Use `delay_span_bug` for "Failed to unify obligation")

Failed merges:

r? @ghost

5 years agoRollup merge of #60644 - estebank:abolish-ice, r=varkor
Mazdak Farrokhzad [Wed, 8 May 2019 22:58:32 +0000 (00:58 +0200)]
Rollup merge of #60644 - estebank:abolish-ice, r=varkor

Use `delay_span_bug` for "Failed to unify obligation"

Fix #60283.

5 years agoRollup merge of #60641 - estebank:defer-ice, r=oli-obk
Mazdak Farrokhzad [Wed, 8 May 2019 22:58:31 +0000 (00:58 +0200)]
Rollup merge of #60641 - estebank:defer-ice, r=oli-obk

Instead of ICEing on incorrect pattern, use delay_span_bug

Fix #60635.

5 years agoRollup merge of #60634 - Centril:lang-items-docs, r=oli-obk
Mazdak Farrokhzad [Wed, 8 May 2019 22:58:29 +0000 (00:58 +0200)]
Rollup merge of #60634 - Centril:lang-items-docs, r=oli-obk

Document + Cleanup lang_items.rs

Byproduct of work on https://github.com/rust-lang/rust/issues/60607.

r? @oli-obk

5 years agoRollup merge of #60627 - matklad:test, r=estebank
Mazdak Farrokhzad [Wed, 8 May 2019 22:58:28 +0000 (00:58 +0200)]
Rollup merge of #60627 - matklad:test, r=estebank

test for #50518

It was fixed somewhere between 1.28.0 and 1.31.1

closes #50518

r? @estebank

Where's the best place to add this test? I *think* we want "compile-pass" for this test (no need to run a binary, and not running saves us a millisecond of process creation) , but there's no compile-pass anymore.

Should this be UI test with empty stdout, stderr and zero return code?

5 years agoRollup merge of #60572 - tmandry:issue-59972, r=RalfJung,oli-obk
Mazdak Farrokhzad [Wed, 8 May 2019 22:58:26 +0000 (00:58 +0200)]
Rollup merge of #60572 - tmandry:issue-59972, r=RalfJung,oli-obk

Add test for #59972

This PR adds a test for #59972, which was fixed in #59897.

Closes #59972.

r? @eddyb

5 years agoRollup merge of #60550 - skinny121:concrete_const_tests, r=varkor
Mazdak Farrokhzad [Wed, 8 May 2019 22:58:25 +0000 (00:58 +0200)]
Rollup merge of #60550 - skinny121:concrete_const_tests, r=varkor

Add tests for concrete const types

In response to the request for help in https://github.com/rust-lang/rust/issues/44580#issuecomment-488819344, I have added several ui tests around the use of concrete const types, i.e. A<2>.

r? @varkor

5 years agoRollup merge of #60491 - alexcrichton:update-cb, r=nikomatsakis
Mazdak Farrokhzad [Wed, 8 May 2019 22:58:23 +0000 (00:58 +0200)]
Rollup merge of #60491 - alexcrichton:update-cb, r=nikomatsakis

std: Update compiler-builtins crate

Pulls in a fix for ensuring that wasm targets have code in
compiler-builtins for `ldexp` which LLVM can generate references to.

5 years agoRollup merge of #59979 - stepancheg:num-size, r=ehuss
Mazdak Farrokhzad [Wed, 8 May 2019 22:58:22 +0000 (00:58 +0200)]
Rollup merge of #59979 - stepancheg:num-size, r=ehuss

to_xe_bytes for isize and usize returns an array of different size

... on different platforms.

Official rustdoc of
[`usize::to_le_bytes`](https://doc.rust-lang.org/std/primitive.usize.html#method.to_le_bytes)
displays signature

```
pub fn to_ne_bytes(self) -> [u8; 8]
```

which might be misleading: this function returns 4 bytes on 32-bit
systems.

With this commit applied rustdoc for `isize` and `usize` is this:
<img width="740" alt="2019-04-15_0020" src="https://user-images.githubusercontent.com/28969/56100765-9f69b380-5f14-11e9-974c-daa25edaa881.png">

5 years agoSkip codegen for one UI test with long file path
Vadim Petrochenkov [Wed, 8 May 2019 22:06:03 +0000 (01:06 +0300)]
Skip codegen for one UI test with long file path

5 years agocleanup: Remove `DefIndexAddressSpace`
Vadim Petrochenkov [Wed, 8 May 2019 19:07:12 +0000 (22:07 +0300)]
cleanup: Remove `DefIndexAddressSpace`

5 years agoUse `delay_span_bug` for "Failed to unify obligation"
Esteban Küber [Wed, 8 May 2019 18:42:47 +0000 (11:42 -0700)]
Use `delay_span_bug` for "Failed to unify obligation"

5 years agoAuto merge of #60402 - michaelwoerister:update-profiler-rt-build, r=alexcrichton
bors [Wed, 8 May 2019 18:38:14 +0000 (18:38 +0000)]
Auto merge of #60402 - michaelwoerister:update-profiler-rt-build, r=alexcrichton

libprofiler_builtins: Set compilation flags more correctly for C code.

In particular, set `COMPILER_RT_HAS_FCNTL_LCK` and `COMPILER_RT_HAS_ATOMICS` as appropriate. This should get rid of the various runtime warnings when executing instrumented binaries.

The build script is using a heuristic here that hopefully is sufficient for the time being.

r? @alexcrichton

Fixes #59531.

5 years agofix incorrect assert
Mark Mansi [Wed, 8 May 2019 18:34:23 +0000 (13:34 -0500)]
fix incorrect assert

5 years agoInstead of ICEing on incorrect pattern, use delay_span_bug
Esteban Küber [Wed, 8 May 2019 17:23:55 +0000 (10:23 -0700)]
Instead of ICEing on incorrect pattern, use delay_span_bug

5 years agoAuto merge of #60626 - matthiaskrgr:submodule_upd, r=oli-obk
bors [Wed, 8 May 2019 15:28:14 +0000 (15:28 +0000)]
Auto merge of #60626 - matthiaskrgr:submodule_upd, r=oli-obk

submodules: update clippy from fc96aa03 to 341c96af

Fixes clippy toolstate

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

Changes:
````
rustup https://github.com/rust-lang/rust/pull/60586
Add test for #771.
Clean up while_loop tests
````

r? @Manishearth

5 years agopin: make the to-module link more visible
Ralf Jung [Wed, 8 May 2019 15:20:43 +0000 (17:20 +0200)]
pin: make the to-module link more visible

5 years agoAppVeyor: Update clang-cl from 7.0.0 to 8.0.0
Michael Woerister [Wed, 8 May 2019 15:05:02 +0000 (17:05 +0200)]
AppVeyor: Update clang-cl from 7.0.0 to 8.0.0

5 years agolibprofiler_builtins: Set compilation flags more correctly for C code.
Michael Woerister [Tue, 30 Apr 2019 08:46:21 +0000 (10:46 +0200)]
libprofiler_builtins: Set compilation flags more correctly for C code.

In particular, set COMPILER_RT_HAS_FCNTL_LCK and COMPILER_RT_HAS_ATOMICS
as appropriate.

5 years agostd: Update compiler-builtins crate
Alex Crichton [Thu, 2 May 2019 22:24:40 +0000 (15:24 -0700)]
std: Update compiler-builtins crate

Pulls in a fix for ensuring that wasm targets have code in
compiler-builtins for `ldexp` which LLVM can generate references to.

5 years agoDocument + Cleanup lang_items.rs
Mazdak Farrokhzad [Wed, 8 May 2019 01:05:32 +0000 (03:05 +0200)]
Document + Cleanup lang_items.rs

5 years agoAuto merge of #60246 - Zoxc:hir-map-vec, r=eddyb
bors [Wed, 8 May 2019 12:29:57 +0000 (12:29 +0000)]
Auto merge of #60246 - Zoxc:hir-map-vec, r=eddyb

Optimize HIR map

Builds on https://github.com/rust-lang/rust/pull/59042

cc @ljedrz
r? @eddyb

5 years agoRename HirMap to HirEntryMap and add some comments
John Kåre Alsaker [Wed, 8 May 2019 12:27:40 +0000 (14:27 +0200)]
Rename HirMap to HirEntryMap and add some comments

5 years agotest for #50518
Aleksey Kladov [Wed, 8 May 2019 06:56:26 +0000 (09:56 +0300)]
test for #50518

It was fixed somewhere between 1.28.0 and 1.31.1

closes #50518

5 years agoOptimize HIR map
John Kåre Alsaker [Wed, 24 Apr 2019 19:02:17 +0000 (21:02 +0200)]
Optimize HIR map

5 years agoAdd tests for concrete const types
ben [Sat, 4 May 2019 20:41:39 +0000 (08:41 +1200)]
Add tests for concrete const types

5 years agoAuto merge of #60378 - froydnj:apple-target-modifications, r=michaelwoerister
bors [Wed, 8 May 2019 08:26:48 +0000 (08:26 +0000)]
Auto merge of #60378 - froydnj:apple-target-modifications, r=michaelwoerister

conditionally modify darwin targets to macosx targets with versions

We need this behavior so that Rust LLVM IR objects match the target triple for Clang LLVM IR objects.  This matching then convinces the linker that yes, you really can do cross-language LTO with objects from different compilers.

The newly-added tests seem to pass locally on x86_64-unknown-linux-gnu.  I haven't done a full test run or tried the new compiler in an cross-language LTO setup yet.

5 years agosubmodules: update clippy from fc96aa03 to 341c96af
Matthias Krüger [Wed, 8 May 2019 06:19:29 +0000 (08:19 +0200)]
submodules: update clippy from fc96aa03 to 341c96af

Changes:
````
rustup https://github.com/rust-lang/rust/pull/60586
Add test for #771.
Clean up while_loop tests
````

5 years agolots of comments + minor cleanup
Mark Mansi [Mon, 6 May 2019 21:16:23 +0000 (16:16 -0500)]
lots of comments + minor cleanup

5 years agoavoid extra copy
Mark Mansi [Mon, 6 May 2019 21:31:59 +0000 (16:31 -0500)]
avoid extra copy

5 years agoAuto merge of #60586 - cramertj:await, r=oli-obk
bors [Tue, 7 May 2019 22:33:12 +0000 (22:33 +0000)]
Auto merge of #60586 - cramertj:await, r=oli-obk

Implement built-in await syntax

Adds support for .await under the existing async_await feature gate.
Moves macro-like await! syntax to the await_macro feature gate.
Removes support for `await` as a non-keyword under the `async_await`
feature.

This new syntax is not final, but is the consensus solution proposed by the lang team, as explained in https://boats.gitlab.io/blog/post/await-decision/

Fix https://github.com/rust-lang/rust/issues/51719
Fix https://github.com/rust-lang/rust/issues/51751
Fix https://github.com/rust-lang/rust/issues/60016

5 years agoImplement built-in await syntax
Taylor Cramer [Thu, 18 Apr 2019 19:55:23 +0000 (12:55 -0700)]
Implement built-in await syntax

Adds support for .await under the existing async_await feature gate.
Moves macro-like await! syntax to the await_macro feature gate.
Removes support for `await` as a non-keyword under the `async_await`
feature.

5 years agoAuto merge of #60612 - Centril:rollup-61drhqt, r=Centril
bors [Tue, 7 May 2019 19:39:52 +0000 (19:39 +0000)]
Auto merge of #60612 - Centril:rollup-61drhqt, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #60489 (Remove hamburger button from source code page)
 - #60535 (Correct handling of arguments in async fn)
 - #60579 (Rename `ParamTy::idx` to `ParamTy::index`)
 - #60583 (Fix parsing issue with negative literals as const generic arguments)
 - #60609 (Be a bit more explicit asserting over the vec rather than the len)

Failed merges:

r? @ghost

5 years agoRollup merge of #60609 - spastorino:be-explicit-on-mem-replace-doc, r=Centril
Mazdak Farrokhzad [Tue, 7 May 2019 17:30:11 +0000 (19:30 +0200)]
Rollup merge of #60609 - spastorino:be-explicit-on-mem-replace-doc, r=Centril

Be a bit more explicit asserting over the vec rather than the len

5 years agoRollup merge of #60583 - varkor:const-generics-emplace, r=petrochenkov
Mazdak Farrokhzad [Tue, 7 May 2019 17:30:09 +0000 (19:30 +0200)]
Rollup merge of #60583 - varkor:const-generics-emplace, r=petrochenkov

Fix parsing issue with negative literals as const generic arguments

5 years agoRollup merge of #60579 - varkor:typaram-index, r=eddyb
Mazdak Farrokhzad [Tue, 7 May 2019 17:30:07 +0000 (19:30 +0200)]
Rollup merge of #60579 - varkor:typaram-index, r=eddyb

Rename `ParamTy::idx` to `ParamTy::index`

This makes it consistent with `ParamConst` and `EarlyBoundRegion`.

5 years agoRollup merge of #60535 - taiki-e:async-fn-arguments, r=cramertj
Mazdak Farrokhzad [Tue, 7 May 2019 17:30:06 +0000 (19:30 +0200)]
Rollup merge of #60535 - taiki-e:async-fn-arguments, r=cramertj

Correct handling of arguments in async fn

Fixes #60509
Fixes #60566

r? @cramertj or @davidtwco

5 years agoRollup merge of #60489 - GuillaumeGomez:remove-hamburger, r=QuietMisdreavus
Mazdak Farrokhzad [Tue, 7 May 2019 17:30:05 +0000 (19:30 +0200)]
Rollup merge of #60489 - GuillaumeGomez:remove-hamburger, r=QuietMisdreavus

Remove hamburger button from source code page

Fixes #60483.

Screenshot:

<img width="575" alt="Screenshot 2019-05-03 at 00 12 51" src="https://user-images.githubusercontent.com/3050060/57110298-61ec8f00-6d38-11e9-85fd-d13be94b9c52.png">

cc @rust-lang/rustdoc

5 years agoAuto merge of #60277 - estebank:relate-ice, r=varkor
bors [Tue, 7 May 2019 16:45:14 +0000 (16:45 +0000)]
Auto merge of #60277 - estebank:relate-ice, r=varkor

Don't ICE when relating const type args

Fix #60263.

r? @varkor

5 years agoBe a bit more explicit asserting over the vec rather than the len
Santiago Pastorino [Tue, 7 May 2019 16:31:12 +0000 (13:31 -0300)]
Be a bit more explicit asserting over the vec rather than the len

5 years agochoose a more specific LLVM target on OS X when necessary
Nathan Froyd [Thu, 25 Apr 2019 20:04:37 +0000 (16:04 -0400)]
choose a more specific LLVM target on OS X when necessary

This behavior matches clang's behavior, and makes cross-language LTO
possible.

Fixes #60235.

5 years agoadd negative tests for OS X LLVM target changes
Nathan Froyd [Mon, 29 Apr 2019 20:57:29 +0000 (16:57 -0400)]
add negative tests for OS X LLVM target changes

5 years agoAuto merge of #60592 - davidtwco:generator-signature-deduction, r=eddyb
bors [Tue, 7 May 2019 13:49:36 +0000 (13:49 +0000)]
Auto merge of #60592 - davidtwco:generator-signature-deduction, r=eddyb

Deduce signature of generator on type mismatch

Contributes towards #54326.

r? @eddyb

5 years agoAdd a `cast` method to raw pointers.
Simon Sapin [Tue, 7 May 2019 11:32:07 +0000 (13:32 +0200)]
Add a `cast` method to raw pointers.

This is similar to `NonNull::cast`.

Compared to the `as` operator (which has a wide range of meanings
depending on the input and output types), a call to this method:

* Can only go from a raw pointer to a raw pointer
* Cannot change the pointer’s `const`ness

… even when the pointed types are inferred based on context.

5 years agoAuto merge of #60573 - Zoxc:dep-stream-prefix-2, r=michaelwoerister
bors [Tue, 7 May 2019 10:48:16 +0000 (10:48 +0000)]
Auto merge of #60573 - Zoxc:dep-stream-prefix-2, r=michaelwoerister

Only hash dep node indices of deps of anon tasks

Another change split out from https://github.com/rust-lang/rust/pull/60035.

r? @michaelwoerister

5 years agoTrust signature over return expr for generators.
David Wood [Mon, 6 May 2019 21:56:47 +0000 (22:56 +0100)]
Trust signature over return expr for generators.

This commit extends the logic used to determine what the expected
signature of a closure is so that it can also determine the expected
signature of a generator. This improves a diagnostic where the fn
signature was blamed instead of the generator body. It doesn't fix
fix the diagnostic for `async fn`.

5 years agoAuto merge of #60596 - ehuss:update-cargo, r=alexcrichton
bors [Tue, 7 May 2019 05:53:18 +0000 (05:53 +0000)]
Auto merge of #60596 - ehuss:update-cargo, r=alexcrichton

Update cargo

12 commits in beb8fcb5248dc2e6aa488af9613216d5ccb31c6a..759b6161a328db1d4863139e90875308ecd25a75
2019-04-30 23:58:00 +0000 to 2019-05-06 20:47:49 +0000
- Small things (rust-lang/cargo#6910)
- Fix skipping over invalid registry packages (rust-lang/cargo#6912)
- Fixes rust-lang/cargo#6874 (rust-lang/cargo#6905)
- doc: Format examples of version to ease reading (rust-lang/cargo#6907)
- fix more typos (codespell) (rust-lang/cargo#6903)
- Parse less JSON on null builds (rust-lang/cargo#6880)
- chore: Update opener to 0.4 (rust-lang/cargo#6902)
- Update documentation for auto-discovery. (rust-lang/cargo#6898)
- Update some doc links. (rust-lang/cargo#6897)
- Default Cargo.toml template provide help for completing the metadata (rust-lang/cargo#6881)
- Run 'cargo fmt --all' (rust-lang/cargo#6896)
- Refactor command definition (rust-lang/cargo#6894)

5 years agoAuto merge of #60464 - eddyb:not-overly-specific-pipelining, r=alexcrichton
bors [Tue, 7 May 2019 02:58:40 +0000 (02:58 +0000)]
Auto merge of #60464 - eddyb:not-overly-specific-pipelining, r=alexcrichton

rustc: rename -Z emit-directives to -Z emit-artifact-notifications and simplify the output.

This is my take on #60006 / #60419 (see https://github.com/rust-lang/rust/pull/60006#discussion_r275983732).
I'm not too attached the "notifications" part, it's pretty much bikeshed material.
**EDIT**: for "artifact", @matklad pointed out Cargo already uses it (in https://github.com/rust-lang/rust/pull/60464#issuecomment-488576998)

The first two commits are fixes that could be landed independently, especially the `compiletest` one, which removes the need for any of the normalization added in #60006 to land the test.

The last commit enables the emission for all outputs, which was my main suggestion for #60006, mostly to show that it's minimal and not really a "scope creep" (as suggested in https://github.com/rust-lang/rust/pull/60006#discussion_r279964081).

cc @alexcrichton @nnethercote

5 years agocompiletest: uniformly normalize paths, so they all work on all platforms.
Eduard-Mihai Burtescu [Tue, 7 May 2019 01:49:26 +0000 (04:49 +0300)]
compiletest: uniformly normalize paths, so they all work on all platforms.

5 years agoAdd test for #59972
Tyler Mandry [Mon, 6 May 2019 00:23:47 +0000 (17:23 -0700)]
Add test for #59972

5 years agorustc_codegen_ssa: emit artifact notifications for the main link product too.
Eduard-Mihai Burtescu [Thu, 2 May 2019 02:49:57 +0000 (05:49 +0300)]
rustc_codegen_ssa: emit artifact notifications for the main link product too.

5 years agorustc: rename -Z emit-directives to -Z emit-artifact-notifications and simplify the...
Eduard-Mihai Burtescu [Thu, 2 May 2019 02:06:33 +0000 (05:06 +0300)]
rustc: rename -Z emit-directives to -Z emit-artifact-notifications and simplify the output.

5 years agocompiletest: only use `make_exe_name` for tests that end up being executed.
Eduard-Mihai Burtescu [Thu, 2 May 2019 02:06:08 +0000 (05:06 +0300)]
compiletest: only use `make_exe_name` for tests that end up being executed.

5 years agoUpdate cargo
Eric Huss [Tue, 7 May 2019 01:19:21 +0000 (18:19 -0700)]
Update cargo

5 years agoAuto merge of #60531 - Centril:sort-features, r=oli-obk
bors [Tue, 7 May 2019 00:06:36 +0000 (00:06 +0000)]
Auto merge of #60531 - Centril:sort-features, r=oli-obk

Enforce sorting of accepted and removed features

Fixes https://github.com/rust-lang/rust/issues/60361 with mechanism introduced in https://github.com/rust-lang/rust/pull/60373.

r? @oli-obk

5 years agoserialize: add missing Encodable impl for Path.
Eduard-Mihai Burtescu [Thu, 2 May 2019 02:05:58 +0000 (05:05 +0300)]
serialize: add missing Encodable impl for Path.

5 years agoreview comments: fix typo and add comments
Esteban Küber [Mon, 6 May 2019 23:00:21 +0000 (16:00 -0700)]
review comments: fix typo and add comments

5 years agoAdd test for current behaviour.
David Wood [Mon, 6 May 2019 19:45:47 +0000 (20:45 +0100)]
Add test for current behaviour.

This commit adds a test for the current behaviour of signature deduction
of generators when there is a type mismatch between the return type of
the function body and the signature.

5 years agoAuto merge of #60526 - alexcrichton:wasm-main-symbols, r=oli-obk
bors [Mon, 6 May 2019 20:54:30 +0000 (20:54 +0000)]
Auto merge of #60526 - alexcrichton:wasm-main-symbols, r=oli-obk

rustc: Always handle exported symbols on the wasm target

Currently when linking an artifact rustc will only conditionally call
the `Linker::export_symbols` function, but this causes issues on some
targets, like WebAssembly, where it means that executable outputs will
not have the same symbols exported that cdylib outputs have. This commit
sinks the conditional call to `export_symbols` inside the various
implementations of the function that still need it, and otherwise the
wasm linker is configured to always pass through symbol visibility
lists.

5 years agorustfmt
Mark Mansi [Mon, 6 May 2019 18:42:15 +0000 (13:42 -0500)]
rustfmt

5 years agoAuto merge of #53645 - varkor:const-generics-redux, r=eddyb
bors [Mon, 6 May 2019 16:43:25 +0000 (16:43 +0000)]
Auto merge of #53645 - varkor:const-generics-redux, r=eddyb

The Genesis of Generic Germination

*Long had its coming been foretold: a collaborative effort with @yodaldevoid, set in motion by @jplatte, to beget a new Kind: one of a very different Sort to those that come before it. Amidst promises of ineffable powers previously thought unobtainable, few dared believe that the prophecies were true. But as they gazed upon that which claimed to be the Beginning, a few gentle sparks of hope fluttered deep within. It was not Time yet. But it was a Sign. And maybe, for some, that was enough.*

There's a long way to go, but we're at the point where we would benefit from GitHub's reviewing capabilities.

r? @eddyb

5 years agoRemove resolved FIXME
varkor [Mon, 6 May 2019 16:00:34 +0000 (17:00 +0100)]
Remove resolved FIXME