Commit Graph

91881 Commits

Author SHA1 Message Date
kennytm
7c009a4df7
Rollup merge of #59231 - matklad:copied, r=Centril
Stabilize Option::copied

closes https://github.com/rust-lang/rust/issues/57126
2019-03-16 22:42:00 +08:00
kennytm
40d277e3b7
Rollup merge of #58959 - asomers:issue_58907, r=Mark-Simulacrum
Add release notes for PR #56243

Fixes #58907
2019-03-16 22:41:27 +08:00
kennytm
7f81a299bc
Rollup merge of #59221 - czipperz:as_ref_documentation, r=Centril
Option and Result: Add references to documentation of as_ref and as_mut

This makes the documentation more consistent with that of `Pin::as_ref` which converts "from `&Pin<Pointer<T>>` to `Pin<&t>`".

This generally makes it clearer that the reference is going inside the option.
2019-03-16 22:41:05 +08:00
kennytm
f3360435c3
Rollup merge of #59212 - mati865:musl_toolchain, r=alexcrichton
Add x86_64 musl host to the manifest

@alexcrichton r?

Probably too late for https://github.com/rust-lang/rust/pull/59207
2019-03-16 22:41:03 +08:00
kennytm
6779b7f30e
Rollup merge of #59208 - kenta7777:reduce-code-repetition, r=oli-obk
Reduce a Code Repetition Related to Bit Operation

This PR is related to [#49937](https://github.com/rust-lang/rust/issues/49937).
Should I do more commits about [`FIXME(49937)`](https://github.com/rust-lang/rust/search?q=FIXME%2849937%29&unscoped_q=FIXME%2849937%29) in this PR?
2019-03-16 22:41:00 +08:00
kennytm
6d4b7fa0cf
Rollup merge of #59206 - sntdevco:master, r=dtolnay
Improved test output
2019-03-16 22:40:57 +08:00
kennytm
2e1104fd93
Rollup merge of #59204 - o01eg:diag-rustdoc, r=alexcrichton
Output diagnostic information for rustdoc

Use the information same as rustc.
2019-03-16 22:40:54 +08:00
kennytm
524a7afcf2
Rollup merge of #59201 - lambda:remove-repr-simd-isize-usize-restriction, r=alexcrichton
Remove restriction on isize/usize in repr(simd)

As discussed in #55078, there's no known reason for this restriction.

It's unlikely that repr(simd) will be stabilized in its current form, but
might as well remove some restrictions on it.

This removes the branch in `is_machine` which returns false for these types.
`is_machine` is only used for the repr(simd) type validation check.
2019-03-16 22:40:49 +08:00
kennytm
0b2c3484f9
Rollup merge of #59185 - lukaslueg:patch-2, r=cramertj
No old chestnuts in iter::repeat docs

The current language may be amusing, yet is just imprecise and most especially difficult to understand for someone who speaks English as a foreign language.
2019-03-16 22:40:46 +08:00
kennytm
10fe829b60
Rollup merge of #59180 - taiki-e:try_blocks, r=scottmcm
Use try blocks in rustc_codegen_ssa

r? @scottmcm
2019-03-16 22:40:43 +08:00
kennytm
08959313be
Rollup merge of #59175 - Zoxc:fix-process-test, r=alexcrichton
Don't run test launching `echo` since that doesn't exist on Windows
2019-03-16 22:40:39 +08:00
kennytm
6ffcf97be5
Rollup merge of #59173 - emilio:llvm-suffix, r=Mark-Simulacrum
bootstrap: Default to a sensible llvm-suffix.

I used version-channel-sha, hopefully that should work.

I checked that bootstrap builds, but I cannot check anything else since the llvm
build process is started from cargo, and thus calls clang, and thus I hit the
same bug I hope to fix with this change.

Hopefully fixes #59034.
2019-03-16 22:40:36 +08:00
kennytm
8601c79aff
Rollup merge of #59169 - tmandry:allow-features-flag, r=cramertj
Add `-Z allow_features=...` flag

Adds a compiler option to allow only whitelisted features.

For projects on nightly that want to prevent feature-creep (and maybe, someday, move off of nightly). Not being able to enforce this has been a problem on Fuchsia and at other big companies.

This doesn't support filtering edition feature flags, but someone is welcome to add that if they need it.
2019-03-16 22:40:33 +08:00
kennytm
25e4366b4c
Rollup merge of #59158 - Manishearth:fix-minification, r=GuillaumeGomez
Revert "Don't generate minification variable if minification disabled"

Reverts #58643

Fixes #59157

https://github.com/rust-lang/rust/pull/58643 made us stop generating minification variables when minification is disabled, however they may still be needed for parent crates that were generated with minification (this will always be the case for libstd and libcore)

r? @QuietMisdreavus @GuillaumeGomez
2019-03-16 22:40:30 +08:00
kennytm
ce9efb1822
Rollup merge of #59156 - davidtwco:issue-55809, r=nikomatsakis
[wg-async-await] Add regression test for #55809.

Fixes #55809.

This PR adds a regression test for #55809 which checks that a
overflow does not occur when evaluating a requirement for async
functions and `&mut` arguments in some specific circumstances.
2019-03-16 22:40:26 +08:00
kennytm
6241fb55ba
Rollup merge of #59152 - smmalis37:range_contains, r=SimonSapin
Stabilize Range*::contains.

Closes https://github.com/rust-lang/rust/issues/32311. There's also a bit of rustfmt on range.rs thrown in for good measure (I forgot to turn off format-on-save in VSCode).
2019-03-16 22:40:23 +08:00
kennytm
d84e063506
Rollup merge of #59147 - jethrogb:jb/time-tests, r=sfackler
Make std time tests more robust for platform differences

Previously, `time::tests::since_epoch` and `time::tests::system_time_math` would fail if the platform represents a SystemTime as unix epoch + `u64` nanoseconds.

r? @sfackler
2019-03-16 22:40:19 +08:00
kennytm
bbe5f3d08b
Rollup merge of #59146 - estebank:suggest-return-lt, r=varkor
Suggest return lifetime when there's only one named lifetime

Fix #29094.
2019-03-16 22:40:15 +08:00
kennytm
3bf4398ed2
Rollup merge of #59139 - oli-obk:unions_are_a_good_thing, r=RalfJung
Unregress using scalar unions in constants.

fixes https://github.com/rust-lang/rust/issues/59126

r? @RalfJung

I also made a bunch of these invariants panic instead of report an error.
2019-03-16 22:40:10 +08:00
kennytm
464478fbbb
Rollup merge of #59118 - seanmonstar:alias-where-self-ice, r=alexreg
rustc: fix ICE when trait alias has bare Self

Fixes https://github.com/rust-lang/rust/issues/59029
2019-03-16 22:40:07 +08:00
kennytm
c6569ecb76
Rollup merge of #59102 - newpavlov:duration_float, r=alexcrichton
Consistent naming for duration_float methods and additional f32 methods

`duration_float` tracking issue: #54361

New list of methods:
- `as_secs_f64(&self) -> f64`
- `as_secs_f32(&self) -> f32`
- `from_secs_f64(secs: f64) -> Duration`
- `from_secs_f32(secs: f32) -> Duration`
- `mul_f64(self, rhs: f64) -> Duration`
- `mul_f32(self, rhs: f32) -> Duration`
- `div_f64(self, rhs: f64) -> Duration`
- `div_f32(self, rhs: f64) -> Duration`
- `div_duration_f64(self, rhs: Duration) -> f64`
- `div_duration_f32(self, rhs: Duration) -> f32`

With [`num_traits::Float`](https://docs.rs/num-traits/0.2.6/num_traits/float/trait.Float.html) we could've reduced number of methods by factor of two, but unfortunately it's not part of `std`.
2019-03-16 22:40:02 +08:00
kennytm
d1744728a0
Rollup merge of #59082 - alexreg:cosmetic-2-doc-comments, r=Centril
A few improvements to comments in user-facing crates

Not too many this time, and all concern comments (almost all doc comments) in user-facing crates (libstd, libcore, liballoc).

r? @steveklabnik
2019-03-16 22:39:56 +08:00
kennytm
6fbd55385d
Rollup merge of #59079 - euclio:macro-semi, r=estebank
add suggestions to invalid macro item error

r? @estebank
2019-03-16 22:39:49 +08:00
kennytm
0e57b7230d
Rollup merge of #59072 - RalfJung:miri-alloc-tests, r=kennytm
we can now skip should_panic tests with the libtest harness
2019-03-16 22:39:44 +08:00
kennytm
76749844da
Rollup merge of #59037 - Manishearth:intra-doc-false, r=QuietMisdreavus
Avoid some common false positives in intra doc link checking

The empty string case is never going to be a link. The numeric case may be a link, but if it were it would have resolved locally. It's more likely the makeshift markdown footnote notation (`[0]`, etc)

r? @QuietMisdreavus
2019-03-16 22:39:39 +08:00
kennytm
db93c9b179
Rollup merge of #59036 - dlrobertson:fix_59021, r=estebank
Fix ICE in MIR pretty printing

A `Def::Variant` should be considered as a function in mir pretty
printing. Each variant has a constructor that we must print.

Given the following enum definition:

```rust
pub enum TestMe {
    X(usize),
}
```

We will need to generate a constructor for the variant `X` with a
signature that looks something like the following:

```
fn TestMe::X(_1: usize) -> TestMe;
```

Fixes: #59021
2019-03-16 22:39:36 +08:00
kennytm
9d74503726
Rollup merge of #59025 - aoikonomopoulos:issue-57924, r=varkor
Fix generic argument lookup for Self

Rewrite the SelfCtor early and use the replacement Def when
calculating the path_segs.

Note that this also changes which def is seen by the code that
computes user_self_ty and is_alias_variant_ctor; I don't see a
immediate issue with that, but I'm not 100% clear on the
implications.

Fixes #57924

r? @eddyb
2019-03-16 22:39:29 +08:00
kennytm
d3f30c30ea
Rollup merge of #59009 - sfackler:fix-sgx-vectors, r=alexcrichton
Fix SGX implementations of read/write_vectored.
2019-03-16 22:39:15 +08:00
Vadim Petrochenkov
47ee538a28 resolve: Account for new importable entities 2019-03-16 16:08:05 +03:00
Tomas Koutsky
f4742f46fe Add def getting methods to librustc/ty/context 2019-03-16 13:14:06 +01:00
Linus Unnebäck
81d5fb5c6f
Add UdpSocket peer_addr implementation for Wasm 2019-03-16 11:20:11 +00:00
Linus Unnebäck
214110bb4c
Add UdpSocket peer_addr implementation for L4Re 2019-03-16 11:20:11 +00:00
Linus Unnebäck
7e73cd48c4
Fix test names regarding ip version 2019-03-16 11:13:32 +00:00
Linus Unnebäck
7f7cfaee6a
Add test for UdpSocket peer_addr 2019-03-16 11:13:32 +00:00
Linus Unnebäck
24e3fa079c
Document UdpSocket peer_addr NotConnected error 2019-03-16 11:13:32 +00:00
Linus Unnebäck
bf473e3c15
Mark UdpSocket peer_addr unstable w/ tracking issue 2019-03-16 11:13:32 +00:00
Linus Unnebäck
a7bd36c9e8
Add peer_addr function to UdpSocket 2019-03-16 11:13:32 +00:00
Aleksey Kladov
08f264d576 Stabilize Option::copied
closes https://github.com/rust-lang/rust/issues/57126
2019-03-16 14:11:23 +03:00
bjorn3
0e0488fa53 Fix formatting 2019-03-16 10:54:38 +01:00
bjorn3
fff2f6ab94 Fix test 2019-03-16 10:54:38 +01:00
bjorn3
50f67de35e Remove rustc_driver tests 2019-03-16 10:54:38 +01:00
bjorn3
1c7d368ebe [bootstrap] Remove llvm.enabled config 2019-03-16 10:54:38 +01:00
bjorn3
ca2ff089f3 Remove MetadataOnlyCodegenBackend 2019-03-16 10:54:38 +01:00
kennytm
e2fdf625e9
Rollup merge of #58976 - phil-opp:patch-2, r=alexcrichton
Default to integrated `rust-lld` linker for UEFI targets

The `x86_64-unknown-uefi` target was added in https://github.com/rust-lang/rust/pull/56769 with the linker defaulting to `lld-link`. This means that a system linker with that name is required for linking.

I think defaulting to `rust-lld`, which is shipped with Rust, is a better default for the following reasons:

- Most systems don't have `lld-link` installed, so it forces users to install it first.
- The naming of LLD executables is not standarized, so users often need to create an additional symlink before things work. For example, on Ubuntu `apt install lld` leads to an executable named `lld-link-6.0`.
- We already default to `rust-lld` for [many targets](https://github.com/rust-lang/rust/search?utf8=%E2%9C%93&q=rust-lld&type=), including embedded and WASM targets, so doing the same for UEFI crates seems consistent to me. (It even seems like `x86_64-unknown-uefi` is the [only target](https://github.com/rust-lang/rust/search?q=lld-link&unscoped_q=lld-link) that uses `lld-link`.)

cc @dvdhrm who added the target and @kkk669 who [proposed to use `rust-lld`](https://github.com/rust-lang/rust/pull/56769#issuecomment-461119648).
2019-03-16 14:56:25 +08:00
kennytm
152ed3717b
Rollup merge of #58949 - jethrogb:jb/sgx-thread-id, r=joshtriplett
SGX target: Expose thread id function in os module

In order to call `std::os::fortanix_sgx::usercalls::send`, you need the thread id. This exposes it through another function in `std::os::fortanix_sgx`.

I looked at how other platforms do this. On Windows and `cfg(unix)` you can get the OS handle from a `thread::JoinHandle`, but that's not sufficient, I need it for a `thread::Thread`. In the future, this functionality could be added to `thread::Thread` and this platform can follow suit.

r? @joshtriplett
2019-03-16 14:56:23 +08:00
kennytm
9859b818c8
Rollup merge of #58941 - wzssyqa:master, r=alexcrichton
MIPS: add r6 support

MIPS r6 is quite different with the previous version.
It use some new target triples:
  mipsisa32r6-unknown-linux-gnu
  mipsisa32r6el-unknown-linux-gnu
  mipsisa64r6-unknown-linux-gnuabi64
  mipsisa64r6el-unknown-linux-gnuabi64

This patch has been tested with Debian Port for mips64r6el,
and the support of these triples also is included in llvm:
  https://reviews.llvm.org/rGe58c45a695f39004710b6ce940d489fee800dbd3
2019-03-16 14:56:21 +08:00
kennytm
5e232b3b13
Rollup merge of #58938 - dlrobertson:fix_58280, r=joshtriplett
core: ensure VaList passes improper_ctypes lint

Ensure the `core::ffi::VaList` structure passes the `improper_ctypes` lint.

Fixes: #58280
2019-03-16 14:56:19 +08:00
kennytm
382dfeab85
Rollup merge of #58933 - SimonSapin:alloc-prelude-v1, r=Amanieu
Move alloc::prelude::* to alloc::prelude::v1, make alloc a subset of std

This was one of the unresolved questions of https://github.com/rust-lang/rfcs/pull/2480. As the RFC says this is maybe not useful in the sense that we are unlikely to ever have a second version, but making the crate a true subset makes one less issue to think about if we stabilize it and later want to merge standard library crates and have Cargo feature flags to enable or disable parts of the `std` crate.

See also discussion in https://github.com/rust-lang/rust/pull/58175.

Also rename the feature gate and point to a dedicated tracking issue: https://github.com/rust-lang/rust/issues/58935
2019-03-16 14:56:18 +08:00
kennytm
ccbf754e35
Rollup merge of #58901 - ebarnard:just-copying, r=sfackler
Change `std::fs::copy` to use `copyfile` on MacOS and iOS

`copyfile` on MacOS is similar to `CopyFileEx` on Windows. It supports copying resource forks, extended attributes, and file ACLs, none of which are copied by the current generic unix implementation.

The API is available from MacOS 10.7 and iOS 4.3 (and possibly earlier but I haven't checked).

Closes #58895.
2019-03-16 14:56:16 +08:00
kennytm
d869a7b16f
Rollup merge of #58873 - GuillaumeGomez:fix-auto-hide-method-doc, r=QuietMisdreavus
Fix "Auto-hide item methods documentation" setting

Fixes #58825.

r? @QuietMisdreavus
2019-03-16 14:56:14 +08:00