]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoRollup merge of #66735 - SOF3:feature/str_strip, r=KodrAus
Mazdak Farrokhzad [Mon, 16 Dec 2019 04:23:33 +0000 (05:23 +0100)]
Rollup merge of #66735 - SOF3:feature/str_strip, r=KodrAus

Add str::strip_prefix and str::strip_suffix

Introduces a counterpart for `Path::strip_prefix` on `str`.

This was also discussed in https://internals.rust-lang.org/t/pre-pr-path-strip-prefix-counterpart-in-str/11364/.

4 years agoRollup merge of #66570 - lzutao:stabilize-result-map_or, r=Dylan-DPC
Mazdak Farrokhzad [Mon, 16 Dec 2019 04:23:30 +0000 (05:23 +0100)]
Rollup merge of #66570 - lzutao:stabilize-result-map_or, r=Dylan-DPC

stabilize Result::map_or

r? @SimonSapin
Closes #66293

4 years agoRollup merge of #65778 - bdonlan:stable_weak_count, r=dtolnay
Mazdak Farrokhzad [Mon, 16 Dec 2019 04:23:26 +0000 (05:23 +0100)]
Rollup merge of #65778 - bdonlan:stable_weak_count, r=dtolnay

Stabilize `std::{rc,sync}::Weak::{weak_count, strong_count}`

* Original PR: #56696
* Tracking issue: #57977

Closes: #57977
Supporting comments:

> Although these were added for testing, it is occasionally useful to have a way to probe optimistically for whether a weak pointer has become dangling, without actually taking the overhead of manipulating atomics. Are there any plans to stabilize this?

_Originally posted by @bdonlan in https://github.com/rust-lang/rust/issues/57977#issuecomment-516970921_

> Having this stabilized would help. Currently, the only way to check if a weak pointer has become dangling is to call `upgrade`, which is by far expensive.

_Originally posted by @glebpom in https://github.com/rust-lang/rust/issues/57977#issuecomment-526934709_

Not sure if stabilizing these warrants a full RFC, so throwing this out here as a start for now.

Note: per CONTRIBUTING.md, I ran the tidy checks, but they seem to be failing on unchanged files (primarily in `src/stdsimd`).

4 years agoFix JS error when loading page with search
Guillaume Gomez [Sun, 15 Dec 2019 20:27:25 +0000 (21:27 +0100)]
Fix JS error when loading page with search

4 years agoRemove now-redundant range check on u128 -> f32 casts
Robin Kruppe [Sun, 15 Dec 2019 17:17:00 +0000 (18:17 +0100)]
Remove now-redundant range check on u128 -> f32 casts

This code was added to avoid UB in LLVM 6 and earlier, but we no longer support those LLVM versions.
Since https://reviews.llvm.org/D47807 (released in LLVM 7), uitofp does exactly what we need.

Closes #51872

4 years agocleanup with push_fake_read
Mazdak Farrokhzad [Sun, 15 Dec 2019 15:11:01 +0000 (16:11 +0100)]
cleanup with push_fake_read

4 years agoReplace prints in fmt docs with asserts
Elichai Turkel [Thu, 12 Dec 2019 14:03:40 +0000 (16:03 +0200)]
Replace prints in fmt docs with asserts

4 years agoFix repetition in matches/mod.rs
Mazdak Farrokhzad [Sun, 15 Dec 2019 14:40:47 +0000 (15:40 +0100)]
Fix repetition in matches/mod.rs

4 years agomake transparent enums more ordinary
Mazdak Farrokhzad [Sun, 15 Dec 2019 14:11:34 +0000 (15:11 +0100)]
make transparent enums more ordinary

4 years agouse Self alias in place of macros
Lzu Tao [Sun, 15 Dec 2019 06:07:46 +0000 (06:07 +0000)]
use Self alias in place of macros

4 years agomake htons const fn
Lzu Tao [Sun, 15 Dec 2019 12:47:40 +0000 (12:47 +0000)]
make htons const fn

4 years agoimprove hir::PatKind::Slice docs
Mazdak Farrokhzad [Sun, 15 Dec 2019 12:16:29 +0000 (13:16 +0100)]
improve hir::PatKind::Slice docs

4 years agodocument check_pat_slice
Mazdak Farrokhzad [Sun, 15 Dec 2019 12:16:01 +0000 (13:16 +0100)]
document check_pat_slice

4 years agocomment -> doc comment
Mazdak Farrokhzad [Sun, 15 Dec 2019 12:13:52 +0000 (13:13 +0100)]
comment -> doc comment

4 years agofix doc comment
lcnr/Bastian Kauschke [Sun, 15 Dec 2019 11:59:02 +0000 (12:59 +0100)]
fix doc comment

4 years agoSet tracking issue for str_strip
SOFe [Sun, 15 Dec 2019 09:07:57 +0000 (17:07 +0800)]
Set tracking issue for str_strip

4 years agoAuto merge of #67310 - Centril:rollup-22jiyow, r=Centril
bors [Sun, 15 Dec 2019 07:17:06 +0000 (07:17 +0000)]
Auto merge of #67310 - Centril:rollup-22jiyow, r=Centril

Rollup of 6 pull requests

Successful merges:

 - #67255 (Remove i686-unknown-dragonfly target)
 - #67267 (Fix signature of `__wasilibc_find_relpath`)
 - #67282 (Fix example code of OpenOptions::open)
 - #67289 (Do not ICE on unnamed future)
 - #67300 (Restore original implementation of Vec::retain)
 - #67305 (Doc typo)

Failed merges:

r? @ghost

4 years agoRollup merge of #67305 - kappa:patch-1, r=jonas-schievink
Mazdak Farrokhzad [Sun, 15 Dec 2019 04:57:28 +0000 (05:57 +0100)]
Rollup merge of #67305 - kappa:patch-1, r=jonas-schievink

Doc typo

4 years agoRollup merge of #67300 - aloucks:issue-65970, r=rkruppe
Mazdak Farrokhzad [Sun, 15 Dec 2019 04:57:27 +0000 (05:57 +0100)]
Rollup merge of #67300 - aloucks:issue-65970, r=rkruppe

Restore original implementation of Vec::retain

This PR reverts #48065, which aimed to optimize `Vec::retain` by making use of `Vec::drain_filter`. Unfortunately at that time, `drain_filter` was unsound.

The soundness hole in `Vec::drain_filter` was fixed in #61224 by guaranteeing that cleanup logic runs via a nested `Drop`, even in the event of a panic. Implementing this nested drop affects codegen (apparently?) and results in slower code.

Fixes #65970

4 years agoRollup merge of #67289 - estebank:unnamed-closure, r=Centril
Mazdak Farrokhzad [Sun, 15 Dec 2019 04:57:25 +0000 (05:57 +0100)]
Rollup merge of #67289 - estebank:unnamed-closure, r=Centril

Do not ICE on unnamed future

Fix #67252.

4 years agoRollup merge of #67282 - pjw91:patch-1, r=Dylan-DPC
Mazdak Farrokhzad [Sun, 15 Dec 2019 04:57:24 +0000 (05:57 +0100)]
Rollup merge of #67282 - pjw91:patch-1, r=Dylan-DPC

Fix example code of OpenOptions::open

The example didn't set the access mode flag, which resulted in an `Err(InvalidInput)`.

r? @steveklabnik

4 years agoRollup merge of #67267 - alexcrichton:update-wasi-libc, r=Dylan-DPC
Mazdak Farrokhzad [Sun, 15 Dec 2019 04:57:22 +0000 (05:57 +0100)]
Rollup merge of #67267 - alexcrichton:update-wasi-libc, r=Dylan-DPC

Fix signature of `__wasilibc_find_relpath`

Looks like this function changed upstream, so it needs to be adjusted
for when used by libstd.

4 years agoRollup merge of #67255 - tuxillo:remove-i686-unknown-dragonfly, r=alexcrichton
Mazdak Farrokhzad [Sun, 15 Dec 2019 04:57:21 +0000 (05:57 +0100)]
Rollup merge of #67255 - tuxillo:remove-i686-unknown-dragonfly, r=alexcrichton

Remove i686-unknown-dragonfly target

DragonFly BSD removed support for i386 a while ago. It only supports x86_64 right now.

4 years agoBump Weak::strong_count/weak_count stabilizations from 1.40 to 1.41
David Tolnay [Sun, 15 Dec 2019 03:26:25 +0000 (19:26 -0800)]
Bump Weak::strong_count/weak_count stabilizations from 1.40 to 1.41

4 years agoDelete flaky test net::tcp::tests::fast_rebind
David Tolnay [Sun, 15 Dec 2019 02:43:54 +0000 (18:43 -0800)]
Delete flaky test net::tcp::tests::fast_rebind

4 years agoAuto merge of #67216 - ecstatic-morse:const-loop, r=oli-obk
bors [Sun, 15 Dec 2019 01:28:28 +0000 (01:28 +0000)]
Auto merge of #67216 - ecstatic-morse:const-loop, r=oli-obk

Enable `loop` and `while` in constants behind a feature flag

This PR is an initial implementation of #52000. It adds a `const_loop` feature gate, which allows `while` and `loop` expressions through both HIR and MIR const-checkers if enabled. `for` expressions remain forbidden by the HIR const-checker, since they desugar to a call to `IntoIterator::into_iter`, which will be rejected anyways.

`while` loops also require [`#![feature(const_if_match)]`](https://github.com/rust-lang/rust/pull/66507), since they have a conditional built into them. The diagnostics from the HIR const checker will suggest this to the user.

r? @oli-obk
cc @rust-lang/wg-const-eval

4 years agoDoc typo
Alex Kapranoff [Sun, 15 Dec 2019 01:12:40 +0000 (17:12 -0800)]
Doc typo

4 years agoDo not ICE on unnamed future
Esteban Küber [Fri, 13 Dec 2019 23:27:55 +0000 (15:27 -0800)]
Do not ICE on unnamed future

4 years agoAuto merge of #67224 - nikomatsakis:revert-stabilization-of-never-type, r=centril
bors [Sat, 14 Dec 2019 22:02:59 +0000 (22:02 +0000)]
Auto merge of #67224 - nikomatsakis:revert-stabilization-of-never-type, r=centril

Revert stabilization of never type

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

I decided to keep the separate `never-type-fallback` feature gate, but tried to otherwise revert https://github.com/rust-lang/rust/pull/65355. Seemed pretty clean.

( cc @Centril, author of #65355, you may want to check this over briefly )

4 years agoupdate reference
Niko Matsakis [Sat, 14 Dec 2019 20:41:36 +0000 (15:41 -0500)]
update reference

4 years agoupdate clippy to the rustc-pr-67224 branch
Niko Matsakis [Sat, 14 Dec 2019 13:55:49 +0000 (08:55 -0500)]
update clippy to the rustc-pr-67224 branch

Actually to commit <69f99e74ac2266dff4b5adc7c59b35236f0abef1>.

4 years agoRestore original implementation of Vec::retain
Aaron Loucks [Sat, 14 Dec 2019 17:38:45 +0000 (12:38 -0500)]
Restore original implementation of Vec::retain

This PR reverts #48065, which aimed to optimize `Vec::retain` by
making use of `Vec::drain_filter`. Unfortunately at that time,
`drain_filter` was unsound.

The soundness hole in `Vec::drain_filter` was fixed in #61224 by
guaranteeing that cleanup logic runs via a nested `Drop`, even in
the event of a panic. Implementing this nested drop affects codegen
(apparently?) and results in slower code.

Fixes #65970

4 years ago[WIP] fix tests after rebase
Niko Matsakis [Sat, 14 Dec 2019 13:17:09 +0000 (08:17 -0500)]
[WIP] fix tests after rebase

4 years agoadd `#![feature(never_type)]` to tests as needed
Niko Matsakis [Wed, 11 Dec 2019 16:46:56 +0000 (11:46 -0500)]
add `#![feature(never_type)]` to tests as needed

4 years agoAdd regression test for #66757
Niko Matsakis [Wed, 11 Dec 2019 15:09:40 +0000 (10:09 -0500)]
Add regression test for #66757

4 years agoRevert "Stabilize the `never_type`, written `!`."
Niko Matsakis [Wed, 11 Dec 2019 14:55:29 +0000 (09:55 -0500)]
Revert "Stabilize the `never_type`, written `!`."

This reverts commit 15c30ddd69d6cc3fffe6d304c6dc968a5ed046f1.

4 years agoRevert "Remove `#![feature(never_type)]` from tests."
Niko Matsakis [Wed, 11 Dec 2019 14:51:28 +0000 (09:51 -0500)]
Revert "Remove `#![feature(never_type)]` from tests."

This reverts commit 8f6197f39f7d468dfc5b2bd41dae4769992a2f83.

4 years agoRevert "Redefine `core::convert::Infallible` as `!`."
Niko Matsakis [Wed, 11 Dec 2019 14:49:29 +0000 (09:49 -0500)]
Revert "Redefine `core::convert::Infallible` as `!`."

This reverts commit 089229a1935fa9795cfdefa518c8f8c3beb66db8.

4 years agoAuto merge of #67136 - oli-obk:const_stability, r=Centril
bors [Sat, 14 Dec 2019 10:21:32 +0000 (10:21 +0000)]
Auto merge of #67136 - oli-obk:const_stability, r=Centril

Require stable/unstable annotations for the constness of all stable fns with a const modifier

r? @RalfJung @Centril

Every `#[stable]` const fn now needs either a `#[rustc_const_unstable]` attribute or a `#[rustc_const_stable]` attribute. You can't silently stabilize the constness of a function anymore.

4 years agoIndicate origin of where type parameter for uninferred types
Ohad Ravid [Fri, 13 Dec 2019 18:54:18 +0000 (19:54 +0100)]
Indicate origin of where type parameter for uninferred types

4 years agoAuto merge of #67084 - Pagten:feature/print-msg-from-elf-entrypoint, r=Amanieu
bors [Sat, 14 Dec 2019 04:08:50 +0000 (04:08 +0000)]
Auto merge of #67084 - Pagten:feature/print-msg-from-elf-entrypoint, r=Amanieu

SGX: Change ELF entrypoint

This fixes [rust-sgx issue #148](https://github.com/fortanix/rust-sgx/issues/148).

A new entry point is created for the ELF file generated by `rustc`, separate from the enclave entry point. When the ELF file is executed as a Linux binary, the error message below is written to stderr.

> Error: This file is an SGX enclave which cannot be executed as a standard Linux binary.
> See the installation guide at https://edp.fortanix.com/docs/installation/guide/ on how to use 'cargo run' or follow the steps at https://edp.fortanix.com/docs/tasks/deployment/ for manual deployment.

When the ELF file is converted to an SGXS using `elf2sgxs`, the old entry point is still set as the enclave entry point. In a future pull request in the rust-sgx repository, `elf2sgxs` will be modified to remove the code in the ELF entry point, since this code is not needed in the enclave.

4 years agoAuto merge of #65951 - estebank:type-inference-error, r=nikomatsakis
bors [Fri, 13 Dec 2019 22:56:27 +0000 (22:56 +0000)]
Auto merge of #65951 - estebank:type-inference-error, r=nikomatsakis

Point at method call when type annotations are needed

- Point at method call instead of whole expression when type annotations are needed.
- Suggest use of turbofish on function and methods.

Fix #49391, fix #46333, fix #48089. CC #58517, #63502, #63082.

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

r? @nikomatsakis

4 years agoFix the configure.py TOML field for a couple LLVM options
Josh Stone [Fri, 13 Dec 2019 22:00:47 +0000 (14:00 -0800)]
Fix the configure.py TOML field for a couple LLVM options

The actual fields in `config.toml.example` have dashes, not underscores.

4 years agoUpdate tokio crates to latest versions
Mateusz Mikuła [Wed, 4 Dec 2019 17:40:16 +0000 (18:40 +0100)]
Update tokio crates to latest versions

4 years agoAuto merge of #67284 - Centril:rollup-ghiukob, r=Centril
bors [Fri, 13 Dec 2019 19:39:20 +0000 (19:39 +0000)]
Auto merge of #67284 - Centril:rollup-ghiukob, r=Centril

Rollup of 7 pull requests

Successful merges:

 - #67026 (Improve diagnostics and code for exhaustiveness of empty matches)
 - #67235 (VecDeque: drop remaining items on destructor panic)
 - #67254 (dont ICE in case of invalid drop fn)
 - #67256 (Reduce allocs for validation errors)
 - #67274 (be explicit that mem::uninitialized is the same as MaybeUninit::uninit().assume_init())
 - #67278 (`coerce_inner`: use initial `expected_ty`)
 - #67280 (docs: std::convert::From: Fix typo)

Failed merges:

r? @ghost

4 years agoRollup merge of #67280 - shalzz:patch-1, r=jonas-schievink
Mazdak Farrokhzad [Fri, 13 Dec 2019 19:35:37 +0000 (20:35 +0100)]
Rollup merge of #67280 - shalzz:patch-1, r=jonas-schievink

docs: std::convert::From: Fix typo

Fix a minor typo

4 years agoRollup merge of #67278 - Centril:67273, r=oli-obk
Mazdak Farrokhzad [Fri, 13 Dec 2019 19:35:36 +0000 (20:35 +0100)]
Rollup merge of #67278 - Centril:67273, r=oli-obk

`coerce_inner`: use initial `expected_ty`

Fixes #67273.
Follow-up to #59439.

r? @oli-obk

4 years agoRollup merge of #67274 - RalfJung:uninit, r=Centril
Mazdak Farrokhzad [Fri, 13 Dec 2019 19:35:34 +0000 (20:35 +0100)]
Rollup merge of #67274 - RalfJung:uninit, r=Centril

be explicit that mem::uninitialized is the same as MaybeUninit::uninit().assume_init()

Cc @Centril @nikomatsakis

4 years agoRollup merge of #67256 - RalfJung:reduce-allocs, r=oli-obk
Mazdak Farrokhzad [Fri, 13 Dec 2019 19:35:33 +0000 (20:35 +0100)]
Rollup merge of #67256 - RalfJung:reduce-allocs, r=oli-obk

Reduce allocs for validation errors

This probably doesn't really matter, but I just felt like I had to do this...

r? @oli-obk

4 years agoRollup merge of #67254 - RalfJung:vtable-ice, r=oli-obk
Mazdak Farrokhzad [Fri, 13 Dec 2019 19:35:31 +0000 (20:35 +0100)]
Rollup merge of #67254 - RalfJung:vtable-ice, r=oli-obk

dont ICE in case of invalid drop fn

Fixes https://github.com/rust-lang/miri/issues/1112

r? @oli-obk

4 years agoRollup merge of #67235 - jonas-schievink:vecdeque-leak, r=KodrAus
Mazdak Farrokhzad [Fri, 13 Dec 2019 19:35:30 +0000 (20:35 +0100)]
Rollup merge of #67235 - jonas-schievink:vecdeque-leak, r=KodrAus

VecDeque: drop remaining items on destructor panic

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

4 years agoRollup merge of #67026 - Nadrieril:improve-usefulness-empty, r=varkor,Centril,estebank
Mazdak Farrokhzad [Fri, 13 Dec 2019 19:35:28 +0000 (20:35 +0100)]
Rollup merge of #67026 - Nadrieril:improve-usefulness-empty, r=varkor,Centril,estebank

Improve diagnostics and code for exhaustiveness of empty matches

There was a completely separate check and diagnostics for the case of an empty match. This led to slightly different error messages and duplicated code.
This improves code reuse and generally clarifies what happens for empty matches. This also clarifies the action of the `exhaustive_patterns` feature, and ensures that this feature doesn't change diagnostics in places it doesn't need to.

4 years agoFix incorrect example code of OpenOptions::open
Patrick Wang [Fri, 13 Dec 2019 19:12:50 +0000 (03:12 +0800)]
Fix incorrect example code of OpenOptions::open

4 years agoCorrectly mark things as `min_const_fn`
Dylan MacKenzie [Fri, 13 Dec 2019 18:44:38 +0000 (10:44 -0800)]
Correctly mark things as `min_const_fn`

4 years agoDocument `Features::enabled`
ecstatic-morse [Thu, 12 Dec 2019 19:10:21 +0000 (11:10 -0800)]
Document `Features::enabled`

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
4 years agoUse correct nightly version for feature
Dylan MacKenzie [Wed, 11 Dec 2019 22:15:56 +0000 (14:15 -0800)]
Use correct nightly version for feature

4 years agoEnsure test actually uses dataflow, not simulation
Dylan MacKenzie [Wed, 11 Dec 2019 21:09:20 +0000 (13:09 -0800)]
Ensure test actually uses dataflow, not simulation

4 years agoUse better name for local containing required feature gates
Dylan MacKenzie [Wed, 11 Dec 2019 18:26:06 +0000 (10:26 -0800)]
Use better name for local containing required feature gates

4 years agoReplace `Index` impl with `enabled` method
Dylan MacKenzie [Wed, 11 Dec 2019 18:24:40 +0000 (10:24 -0800)]
Replace `Index` impl with `enabled` method

4 years agoApply suggestions from review
Dylan MacKenzie [Wed, 11 Dec 2019 18:20:50 +0000 (10:20 -0800)]
Apply suggestions from review

4 years agoFix grammar in test description
ecstatic-morse [Wed, 11 Dec 2019 18:16:12 +0000 (10:16 -0800)]
Fix grammar in test description

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
4 years agoLook for "unstable feature" error code in test
Dylan MacKenzie [Wed, 11 Dec 2019 18:09:10 +0000 (10:09 -0800)]
Look for "unstable feature" error code in test

Conditionals and loops now have unstable features, and `feature_err` has
its own error code. I think that `feature_err` should take an error code
as a parameter, but don't have the energy to make this change throughout
the codebase. Also, the error code system may be torn out entirely.

4 years agoImprove comment
Dylan MacKenzie [Wed, 11 Dec 2019 06:24:10 +0000 (22:24 -0800)]
Improve comment

4 years agoImprove message when active feature indexing panics
Dylan MacKenzie [Wed, 11 Dec 2019 06:20:44 +0000 (22:20 -0800)]
Improve message when active feature indexing panics

4 years agoBless modified tests
Dylan MacKenzie [Wed, 11 Dec 2019 05:11:53 +0000 (21:11 -0800)]
Bless modified tests

4 years agoBless unrelated tests with new help message
Dylan MacKenzie [Wed, 11 Dec 2019 05:27:53 +0000 (21:27 -0800)]
Bless unrelated tests with new help message

4 years agoAdd qualif smoke tests for const loops
Dylan MacKenzie [Wed, 11 Dec 2019 05:24:46 +0000 (21:24 -0800)]
Add qualif smoke tests for const loops

4 years agoExtend control flow basics tests with loops
Dylan MacKenzie [Wed, 11 Dec 2019 05:10:48 +0000 (21:10 -0800)]
Extend control flow basics tests with loops

4 years agoRestructue HIR const-checker to handle features with multiple gates
Dylan MacKenzie [Tue, 10 Dec 2019 20:43:15 +0000 (12:43 -0800)]
Restructue HIR const-checker to handle features with multiple gates

4 years agoPut MIR checks for loops behind the feature flag
Dylan MacKenzie [Tue, 10 Dec 2019 20:42:50 +0000 (12:42 -0800)]
Put MIR checks for loops behind the feature flag

4 years agoAdd feature gate for `const_loop`
Dylan MacKenzie [Tue, 10 Dec 2019 20:41:58 +0000 (12:41 -0800)]
Add feature gate for `const_loop`

4 years agoGet active features dynamically by their `Symbol`
Dylan MacKenzie [Tue, 10 Dec 2019 20:41:27 +0000 (12:41 -0800)]
Get active features dynamically by their `Symbol`

4 years agodocs: std::convert::From: Fix typo
Shaleen Jain [Fri, 13 Dec 2019 17:50:02 +0000 (23:20 +0530)]
docs: std::convert::From: Fix typo

Fix a minor typo

4 years agoAuto merge of #62359 - euclio:remove-serialize, r=Dylan-DPC
bors [Fri, 13 Dec 2019 16:14:47 +0000 (16:14 +0000)]
Auto merge of #62359 - euclio:remove-serialize, r=Dylan-DPC

replace serialize with serde in rustdoc

This is a slightly less aggressive version of #61028.

r? @GuillaumeGomez

4 years agocoerce_inner: use initial expected_ty
Mazdak Farrokhzad [Fri, 13 Dec 2019 14:52:51 +0000 (15:52 +0100)]
coerce_inner: use initial expected_ty

4 years agoThe constness of 128 bit atomics will be stabilized together with the atomics
Oliver Scherer [Fri, 13 Dec 2019 12:28:55 +0000 (13:28 +0100)]
The constness of 128 bit atomics will be stabilized together with the atomics

4 years agobe explicit that mem::uninitialized is the same as MaybeUninit::uninit().assume_init()
Ralf Jung [Fri, 13 Dec 2019 12:13:37 +0000 (13:13 +0100)]
be explicit that mem::uninitialized is the same as MaybeUninit::uninit().assume_init()

4 years agoConst prop should finish propagation into user defined variables
Wesley Wiser [Sat, 23 Nov 2019 17:23:56 +0000 (12:23 -0500)]
Const prop should finish propagation into user defined variables

Fixes #66638

4 years agoAddress review comments
Oliver Scherer [Thu, 12 Dec 2019 09:51:42 +0000 (10:51 +0100)]
Address review comments

4 years agoConsistently name `min_const_fn`
Oliver Scherer [Thu, 12 Dec 2019 09:11:18 +0000 (10:11 +0100)]
Consistently name `min_const_fn`

4 years agoChange the const stab default for internal const fns
Oliver Scherer [Sun, 8 Dec 2019 11:58:41 +0000 (12:58 +0100)]
Change the const stab default for internal const fns

4 years agoFix rustdoc test
Oliver Scherer [Sun, 8 Dec 2019 11:53:27 +0000 (12:53 +0100)]
Fix rustdoc test

4 years agoElaborate internal const fn comment
Oliver Scherer [Sun, 8 Dec 2019 08:34:34 +0000 (09:34 +0100)]
Elaborate internal const fn comment

4 years agoCompiler internal error codes need no documentation
Oliver Scherer [Sun, 8 Dec 2019 08:33:06 +0000 (09:33 +0100)]
Compiler internal error codes need no documentation

4 years agoRequire stable/unstable annotations for the constness of all stable functions with...
Oliver Scherer [Sun, 8 Dec 2019 00:43:10 +0000 (01:43 +0100)]
Require stable/unstable annotations for the constness of all stable functions with a `const` modifier

4 years agoReuse the `staged_api` feature for `rustc_const_unstable`
Oliver Scherer [Wed, 4 Dec 2019 21:00:28 +0000 (22:00 +0100)]
Reuse the `staged_api` feature for `rustc_const_unstable`

4 years agoAuto merge of #67077 - Aaron1011:build-llvm-in-binary, r=alexcrichton
bors [Fri, 13 Dec 2019 10:07:38 +0000 (10:07 +0000)]
Auto merge of #67077 - Aaron1011:build-llvm-in-binary, r=alexcrichton

rustc: Link LLVM directly into rustc again (take two)

This is a continuation of PR https://github.com/rust-lang/rust/pull/65703

4 years agoAuto merge of #66405 - nnethercote:tweak-ObligForest-NodeStates, r=nikomatsakis
bors [Fri, 13 Dec 2019 06:51:28 +0000 (06:51 +0000)]
Auto merge of #66405 - nnethercote:tweak-ObligForest-NodeStates, r=nikomatsakis

Remove `NodeState::{Waiting,Done}`

An optimization, and then some clean-ups.

r? @nikomatsakis

4 years agoAuto merge of #67271 - Centril:rollup-i71iqkv, r=Centril
bors [Fri, 13 Dec 2019 03:22:20 +0000 (03:22 +0000)]
Auto merge of #67271 - Centril:rollup-i71iqkv, r=Centril

Rollup of 6 pull requests

Successful merges:

 - #66341 (Match `VecDeque::extend` to `Vec::extend_desugared`)
 - #67243 (LinkedList: drop remaining items when drop panics)
 - #67247 (Don't suggest wrong snippet in closure)
 - #67250 (Remove the `DelimSpan` from `NamedMatch::MatchedSeq`.)
 - #67251 (Require `allow_internal_unstable` for stable min_const_fn using unsta…)
 - #67269 (parser: recover on `&'lifetime mut? $pat`.)

Failed merges:

r? @ghost

4 years agoRollup merge of #67269 - Centril:recover-lt-deref-pat, r=estebank
Mazdak Farrokhzad [Fri, 13 Dec 2019 03:21:34 +0000 (04:21 +0100)]
Rollup merge of #67269 - Centril:recover-lt-deref-pat, r=estebank

parser: recover on `&'lifetime mut? $pat`.

r? @estebank

4 years agoRollup merge of #67251 - oli-obk:stability_sieve, r=Centril
Mazdak Farrokhzad [Fri, 13 Dec 2019 03:21:33 +0000 (04:21 +0100)]
Rollup merge of #67251 - oli-obk:stability_sieve, r=Centril

Require `allow_internal_unstable` for stable min_const_fn using unsta…

…ble features

r? @Centril

cc @ecstatic-morse @RalfJung

4 years agoRollup merge of #67250 - nnethercote:rm-DelimSpan-from-NamedMatch-MatchedSeq, r=Centril
Mazdak Farrokhzad [Fri, 13 Dec 2019 03:21:31 +0000 (04:21 +0100)]
Rollup merge of #67250 - nnethercote:rm-DelimSpan-from-NamedMatch-MatchedSeq, r=Centril

Remove the `DelimSpan` from `NamedMatch::MatchedSeq`.

Because it's unused. This then allows the removal of
`MatcherPos::sp_open`. It's a tiny perf win, reducing instruction counts
by 0.1% - 0.2% on a few benchmarks.

r? @Centril

4 years agoRollup merge of #67247 - JohnTitor:fix-sugg, r=estebank
Mazdak Farrokhzad [Fri, 13 Dec 2019 03:21:30 +0000 (04:21 +0100)]
Rollup merge of #67247 - JohnTitor:fix-sugg, r=estebank

Don't suggest wrong snippet in closure

Fixes #67190

r? @estebank

4 years agoRollup merge of #67243 - jonas-schievink:linkedlist-drop, r=KodrAus
Mazdak Farrokhzad [Fri, 13 Dec 2019 03:21:27 +0000 (04:21 +0100)]
Rollup merge of #67243 - jonas-schievink:linkedlist-drop, r=KodrAus

LinkedList: drop remaining items when drop panics

https://github.com/rust-lang/rust/pull/67235, but for `LinkedList`, which has the same issue.

I've also copied over the other drop-related tests from `VecDeque` since AFAICT `LinkedList` didn't have any.

4 years agoRollup merge of #66341 - crgl:vec-deque-extend, r=Amanieu
Mazdak Farrokhzad [Fri, 13 Dec 2019 03:21:22 +0000 (04:21 +0100)]
Rollup merge of #66341 - crgl:vec-deque-extend, r=Amanieu

Match `VecDeque::extend` to `Vec::extend_desugared`

Currently, `VecDeque::extend` [does not reserve at all](https://github.com/rust-lang/rust/pull/65069#discussion_r333166522). This implementation still runs a check every iteration of the loop, but should reallocate at most once for the common cases where the `size_hint` lower bound is exact. Further optimizations in the future could improve this for some common cases, but given the complexity of the `Vec::extend` implementation it's not immediately clear that this would be worthwhile.

4 years agoparser: recover on `&'lifetime mut $pat`.
Mazdak Farrokhzad [Thu, 12 Dec 2019 23:59:33 +0000 (00:59 +0100)]
parser: recover on `&'lifetime mut $pat`.

4 years agostd: Implement `LineWriter::write_vectored`
Alex Crichton [Fri, 13 Dec 2019 00:47:42 +0000 (16:47 -0800)]
std: Implement `LineWriter::write_vectored`

This commit implements the `write_vectored` method of the `LineWriter`
type. First discovered in bytecodealliance/wasmtime#629 the
`write_vectored` method of `Stdout` bottoms out here but only ends up
writing the first buffer due to the default implementation of
`write_vectored`.

Like `BufWriter`, however, `LineWriter` can have a non-default
implementation of `write_vectored` which tries to preserve the
vectored-ness as much as possible. Namely we can have a vectored write
for everything before the newline and everything after the newline if
all the stars align well.

Also like `BufWriter`, though, special care is taken to ensure that
whenever bytes are written we're sure to signal success since that
represents a "commit" of writing bytes.

4 years agoFix signature of `__wasilibc_find_relpath`
Alex Crichton [Thu, 12 Dec 2019 22:48:47 +0000 (14:48 -0800)]
Fix signature of `__wasilibc_find_relpath`

Looks like this function changed upstream, so it needs to be adjusted
for when used by libstd.

4 years agoAvoid re-processing nodes in `find_cycles_from_node`.
Nicholas Nethercote [Mon, 9 Dec 2019 03:51:59 +0000 (14:51 +1100)]
Avoid re-processing nodes in `find_cycles_from_node`.

4 years agoRemove an unnecessary local variable.
Nicholas Nethercote [Fri, 6 Dec 2019 02:41:07 +0000 (13:41 +1100)]
Remove an unnecessary local variable.