Commit graph

90264 commits

Author SHA1 Message Date
Mazdak Farrokhzad
115c8a1f09
Rollup merge of #58703 - shepmaster:read_line_return, r=centril
Fix copy-pasted typo for read_string return value
2019-02-27 13:32:24 +01:00
Mazdak Farrokhzad
fed5610025
Rollup merge of #58680 - varkor:xpy-help-index-error, r=alexcrichton
Fix an indexing error when using `x.py help`

Fixes https://github.com/rust-lang/rust/issues/58640.
2019-02-27 13:32:23 +01:00
Mazdak Farrokhzad
f84a8cf28a
Rollup merge of #58678 - doctorn:refuse-async-fn-2015-edition, r=varkor
Deny `async fn` in 2015 edition

This commit prevents code using `async fn` from being compiled in Rust 2015 edition.

Compiling code of the form:

```rust
async fn foo() {}
```

Will now result in the error:

```
error[E0670]: `async fn` is not permitted in the 2015 edition
 --> async.rs:1:1
  |
1 | async fn foo() {}
  | ^^^^^

error: aborting due to error

For more information about an error, try `rustc --explain E0670`.
```

This resolves #58652 and also resolves #53714.

r? @varkor
2019-02-27 13:32:21 +01:00
Mazdak Farrokhzad
a46b00eeb5
Rollup merge of #58630 - nnethercote:fix-fold_clobber, r=petrochenkov
Make `visit_clobber` panic-safe.

Local measurements indicate the performance effect is negligible.

r? @petrochenkov
2019-02-27 13:32:19 +01:00
Mazdak Farrokhzad
f6673a4e7c
Rollup merge of #58627 - euclio:rustdoc-pass-order, r=QuietMisdreavus
rustdoc: move collapse and unindent docs passes earlier

Moves these passes as early as possible so later passes will see the same markdown that is passed to the test collector.

Fixes #58473, and a similar issue with the private-doc-tests lint.

r? @QuietMisdreavus
2019-02-27 13:32:18 +01:00
Mazdak Farrokhzad
2f58c2cfc0
Rollup merge of #58075 - asettouf:master, r=varkor
Fix for issue  #58050

Hi,

a quick PR to mention in the compiler error message that `?` is a macro operator, as according to issue #58050

It passed `python x.py test src/tools/tidy`  locally, as well as the recommendation to run `/x.py test src/test/ui --stage 1 --bless`.

Let me know if anything else is needed.
2019-02-27 13:32:16 +01:00
bors
f5b5f924eb Auto merge of #58709 - kornelski:book, r=QuietMisdreavus
Update book submodule

Updates the book to the latest commit

This is to include [documentation SEO fix](https://github.com/rust-lang/book/pull/1788) ASAP.
2019-02-27 07:53:56 +00:00
bors
f0be45738d Auto merge of #58321 - csmoe:substs, r=oli-obk
[Step 1] Implement "small substs optimization" for substs of length 1

addresses part of #58310
r?@arielb1
2019-02-27 01:22:13 +00:00
bors
02c4c28920 Auto merge of #58675 - gnzlbg:usimd, r=alexcrichton
Update stdsimd

This updates stdsimd to a Rust2015 / Rust2018 compatible version. Once this is merged it should be possible to migrate libcore and libstd to Rust2018. Once that happens, we can just require the 2018 edition in stdsimd.
2019-02-26 18:26:35 +00:00
Adonis
c1f3d1520e Changing error message to reflect changes with the 2018 edition
Signed-off-by: Adonis <adonis.settouf@gmail.com>

Update src/libsyntax/ext/tt/quoted.rs

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Update src/libsyntax/ext/tt/quoted.rs

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Update src/libsyntax/ext/tt/quoted.rs

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Update src/libsyntax/ext/tt/quoted.rs

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Update src/libsyntax/ext/tt/quoted.rs

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Update src/libsyntax/ext/tt/quoted.rs

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Update src/test/ui/macros/macro-at-most-once-rep-2015-ques-rep.stderr

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Update src/test/ui/macros/macro-at-most-once-rep-2015-ques-rep.stderr

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Stabilize split_ascii_whitespace

Tracking issue FCP to merge: https://github.com/rust-lang/rust/issues/48656#issuecomment-442372750

fix stabilization order of uniform_paths.

hir: add HirId to main Hir nodes

Fix `std::os::fortanix_sgx::usercalls::raw::UsercallNrs`

Fixes https://github.com/fortanix/rust-sgx/issues/88

Update src/libsyntax/ext/tt/quoted.rs

Co-Authored-By: asettouf <adonis.settouf@gmail.com>

Revert "Merge remote-tracking branch 'upstream/master'"

This reverts commit 751f05bd155e2c55d4177fe8211df634faf3a644, reversing
changes made to 545a3e62b0cb473108869a61b271bc589afb49da.
2019-02-26 19:22:29 +01:00
csmoe
cf11729787 rename Substs to InternalSubsts
Change-Id: I3fa00e999a2ee4eb72db1fdf53a8633b49176a18
2019-02-27 00:39:13 +08:00
csmoe
ccfa5d6df8 replace &'tcx Substs with SubstsRef 2019-02-26 19:30:57 +08:00
bors
ea43c3c688 Auto merge of #58561 - ljedrz:HirIdify_some_nodes, r=Zoxc
Remove NodeId from some HIR nodes

The next iteration of https://github.com/rust-lang/rust/pull/57578.

Removes `NodeId` from:

- [x] `Lifetime`
- [x] `Ty`
- [x] `GenericParam`
- [x] `WhereClause`
- [x] `WhereEqPredicate`
- [x] `MacroDef`
- [x] `Block`
- [x] `Expr`

r? @Zoxc
2019-02-26 06:13:27 +00:00
bors
fb162e6944 Auto merge of #58357 - sfackler:vectored-io, r=alexcrichton
Add vectored read and write support

This functionality has lived for a while in the tokio ecosystem, where
it can improve performance by minimizing copies.

r? @alexcrichton
2019-02-26 02:48:13 +00:00
Nicholas Nethercote
eddd07cc8a Make visit_clobber panic-safe. 2019-02-26 11:20:53 +11:00
bors
55c173c8ae Auto merge of #57367 - petrochenkov:unrestab, r=Centril
Stabilize `unrestricted_attribute_tokens`

In accordance with a plan described in https://internals.rust-lang.org/t/unrestricted-attribute-tokens-feature-status/8561/3.

Delimited non-macro non-builtin attributes now support the same syntax as macro attributes:
```
PATH
PATH `(` TOKEN_STREAM `)`
PATH `[` TOKEN_STREAM `]`
PATH `{` TOKEN_STREAM `}`
```
Such attributes mostly serve as inert proc macro helpers or tool attributes.
To some extent these attributes are de-facto stable due to a hole in feature gate checking (feature gating is done too late - after macro expansion.)
So if macro *removes* such helper attributes during expansion (and it must remove them, unless it's a derive macro), then the code will work on stable.

Key-value non-macro non-builtin attributes are now restricted to bare minimum required to support what we support on stable - unsuffixed literals (https://github.com/rust-lang/rust/issues/34981).
```
PATH `=` LITERAL
```
(Key-value macro attributes are not supported at all right now.)
Crater run in https://github.com/rust-lang/rust/pull/57321 found no regressions for this change.
There are multiple possible ways to extend key-value attributes (https://github.com/rust-lang/rust/pull/57321#issuecomment-451574065), but I'd expect an RFC for that and it's not a pressing enough issue to block stabilization of delimited attributes.

Built-in attributes are still restricted to the "classic" meta-item syntax, nothing changes here.
https://github.com/rust-lang/rust/pull/57321 goes further and adds some additional restrictions (more consistent input checking) to built-in attributes.

Closes https://github.com/rust-lang/rust/issues/55208
2019-02-25 23:23:09 +00:00
bors
00aae71f50 Auto merge of #58302 - SimonSapin:tryfrom, r=alexcrichton
Stabilize TryFrom and TryInto with a convert::Infallible empty enum

This is the plan proposed in https://github.com/rust-lang/rust/issues/33417#issuecomment-423073898
2019-02-25 20:24:10 +00:00
Vadim Petrochenkov
eccc19996b Stabilize unrestricted_attribute_tokens 2019-02-25 23:21:54 +03:00
Vadim Petrochenkov
8e1b5d897a Restrict value in key-value attributes to literals 2019-02-25 22:40:38 +03:00
Jake Goulding
f1b88abffb Fix copy-pasted typo for read_string return value 2019-02-25 12:14:02 -05:00
bors
b57fe74a27 Auto merge of #58649 - pnkfelix:issue-57464-avoid-ice-when-region-sneaks-into-impl-trait, r=pnkfelix
avoid ICE when region sneaks into impl trait

Addresses non-NLL instances of #57464
2019-02-25 14:48:29 +00:00
Kornel
19c302c89a Update book submodule 2019-02-25 13:30:51 +00:00
bors
da573206f8 Auto merge of #58728 - Centril:rollup, r=Centril
Rollup of 10 pull requests

Successful merges:

 - #55632 (Deny the `overflowing_literals` lint for all editions)
 - #58687 (Reduce Miri Code Repetition like `(n << amt) >> amt`)
 - #58690 (Reduce a Code Repetition like `(n << amt) >> amt`)
 - #58718 (Apply docs convention: Replace # Unsafety with # Safety in docs)
 - #58719 (librustc_codegen_llvm: #![deny(elided_lifetimes_in_paths)])
 - #58720 (librustc_codegen_ssa: #![deny(elided_lifetimes_in_paths)])
 - #58722 (librustc_typeck: deny(elided_lifetimes_in_paths))
 - #58723 (librustc: deny(elided_lifetimes_in_paths))
 - #58725 (Test that binop subtyping in rustc_typeck fixes #27949)
 - #58727 (bootstrap: deny(rust_2018_idioms))

Failed merges:

r? @ghost
2019-02-25 11:57:00 +00:00
Mazdak Farrokhzad
d6de1e9714
Rollup merge of #58727 - taiki-e:deny-rust_2018_idioms-bootstrap, r=Centril
bootstrap: deny(rust_2018_idioms)

As part of the Rust 2018 transition, apply `#![deny(rust_2018_idioms)]` to `bootstrap`.

r? @Centril
2019-02-25 11:42:31 +01:00
Mazdak Farrokhzad
e53fbf8bf2
Rollup merge of #58725 - jamwt:fix-27949, r=Centril
Test that binop subtyping in rustc_typeck fixes #27949
2019-02-25 11:42:30 +01:00
Mazdak Farrokhzad
3f6d65ac7a
Rollup merge of #58723 - Centril:deny-elided_lifetimes_in_paths-librustc, r=oli-obk
librustc: deny(elided_lifetimes_in_paths)

As part of the Rust 2018 transition, remove `#![allow(elided_lifetimes_in_paths)]` from `librustc`.

r? @oli-obk
2019-02-25 11:42:28 +01:00
Mazdak Farrokhzad
d4a62a7fde
Rollup merge of #58722 - Centril:deny-elided_lifetimes_in_paths-librustc_typeck, r=oli-obk
librustc_typeck: deny(elided_lifetimes_in_paths)

As part of the Rust 2018 transition, remove `#![allow(elided_lifetimes_in_paths)]` from `librustc_typeck`.

r? @oli-obk
2019-02-25 11:42:27 +01:00
Mazdak Farrokhzad
2a69aec947
Rollup merge of #58720 - Centril:deny-elided_lifetimes_in_paths-librustc_codegen_ssa, r=oli-obk
librustc_codegen_ssa: #![deny(elided_lifetimes_in_paths)]

As part of the Rust 2018 transition, remove `#![allow(elided_lifetimes_in_paths)]` from `librustc_codegen_ssa`.

r? @oli-obk
2019-02-25 11:42:25 +01:00
Mazdak Farrokhzad
77e2e84191
Rollup merge of #58719 - Centril:deny-elided_lifetimes_in_paths, r=oli-obk
librustc_codegen_llvm: #![deny(elided_lifetimes_in_paths)]

As part of the Rust 2018 transition, remove `#![allow(elided_lifetimes_in_paths)]` from `librustc_codegen_llvm`.

r? @oli-obk
2019-02-25 11:42:24 +01:00
Mazdak Farrokhzad
2019d965c3
Rollup merge of #58718 - Centril:doc-convention-safety, r=RalfJung
Apply docs convention: Replace # Unsafety with # Safety in docs

As used in RFC 1574: https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md#using-markdown

"Safety" is used many times more than "Unsafety" is within existing docs.

@bors rollup

r? @RalfJung
2019-02-25 11:42:23 +01:00
Mazdak Farrokhzad
53f15f24a8
Rollup merge of #58690 - kenta7777:reduce-code-repetition-miri-related, r=oli-obk
Reduce a Code Repetition like `(n << amt) >> amt`

Fixes a part of [#49937](https://github.com/rust-lang/rust/issues/49937).
2019-02-25 11:42:22 +01:00
Mazdak Farrokhzad
5f910fa99c
Rollup merge of #58687 - kenta7777:reduce-miri-code-repetition, r=oli-obk
Reduce Miri Code Repetition like `(n << amt) >> amt`

This Pull Request fixes a part of [#49937](https://github.com/rust-lang/rust/issues/49937).
2019-02-25 11:42:20 +01:00
Mazdak Farrokhzad
554aed6c7d
Rollup merge of #55632 - ollie27:deny_overflowing_literals, r=Centril
Deny the `overflowing_literals` lint for all editions

The `overflowing_literals` was made deny by default for the 2018 edition by #54507, however I'm not aware of any reason it can't be made deny by default for the 2015 edition as well.
2019-02-25 11:42:18 +01:00
Taiki Endo
6343d6bc0d bootstrap: deny(rust_2018_idioms) 2019-02-25 19:30:32 +09:00
ljedrz
77a30ec593 update clippy 2019-02-25 11:25:23 +01:00
Jamie Turner
7029094735 Test that binop subtyping in rustc_typeck fixes #27949 2019-02-25 00:41:58 -08:00
Mazdak Farrokhzad
235d3ed083 librustc: deny(elided_lifetimes_in_paths) 2019-02-25 09:19:20 +01:00
Mazdak Farrokhzad
e8ce56f126 librustc_typeck: deny(elided_lifetimes_in_paths) 2019-02-25 09:13:22 +01:00
Mazdak Farrokhzad
1d34f2c228 librustc_codegen_ssa: deny(elided_lifetimes_in_paths) 2019-02-25 08:52:46 +01:00
Mazdak Farrokhzad
9661a81968 librustc_codegen_llvm: deny(elided_lifetimes_in_paths) 2019-02-25 08:40:18 +01:00
Mazdak Farrokhzad
4ca865e929 heading # Unsafety => # Safety in stdlib docs. 2019-02-25 08:01:35 +01:00
bors
31eb0e2d3c Auto merge of #57609 - matthewjasper:more-restrictive-match, r=pnkfelix
Use normal mutable borrows in matches

`ref mut` borrows are currently two-phase with NLL enabled. This changes them to be proper mutable borrows. To accommodate this, first the position of fake borrows is changed:

```text
[ 1. Pre-match ]
       |
[ (old create fake borrows) ]
[ 2. Discriminant testing -- check discriminants ] <-+
       |                                             |
       | (once a specific arm is chosen)             |
       |                                             |
[ (old read fake borrows) ]                          |
[ 3. Create "guard bindings" for arm ]               |
[ (create fake borrows) ]                            |
       |                                             |
[ 4. Execute guard code ]                            |
[ (read fake borrows) ] --(guard is false)-----------+
       |
       | (guard results in true)
       |
[ 5. Create real bindings and execute arm ]
       |
[ Exit match ]
```

The following additional changes are made to accommodate `ref mut` bindings:

* We no longer create fake `Shared` borrows. These borrows are no longer needed for soundness, just to avoid some arguably strange cases.
* `Shallow` borrows no longer conflict with existing borrows, avoiding conflicting access between the guard borrow access and the `ref mut` borrow.

There is some further clean up done in this PR:

* Avoid the "later used here" note for Shallow borrows (since it's not relevant with the message provided)
* Make any use of a two-phase borrow activate it.
* Simplify the cleanup_post_borrowck passes into a single pass.

cc #56254

r? @nikomatsakis
2019-02-25 06:27:35 +00:00
bors
c1911babed Auto merge of #58714 - Centril:rollup, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #58370 (Relax some Hash bounds on HashMap<K, V, S> and HashSet<T, S>)
 - #58421 (Relax some Ord bounds on BinaryHeap<T>)
 - #58686 (replace deprecated rustfmt_skip with rustfmt::skip)
 - #58697 (Use ? in some macros)
 - #58704 (Remove some unnecessary 'extern crate')

Failed merges:

r? @ghost
2019-02-25 03:48:12 +00:00
Steven Fackler
4785c748f2 Fix redox 2019-02-24 18:48:44 -08:00
Mazdak Farrokhzad
6806d0cf69
Rollup merge of #58704 - taiki-e:extern-crate, r=Centril
Remove some unnecessary 'extern crate'

cc #58099

r? @Centril
2019-02-25 03:18:06 +01:00
Mazdak Farrokhzad
b5cf4ea07f
Rollup merge of #58697 - taiki-e:question-in-macros, r=Centril
Use ? in some macros
2019-02-25 03:18:04 +01:00
Mazdak Farrokhzad
ed73ec0e4c
Rollup merge of #58686 - hellow554:rustfmt_depr, r=cramertj
replace deprecated rustfmt_skip with rustfmt::skip
2019-02-25 03:18:03 +01:00
Mazdak Farrokhzad
4f8ae0abdb
Rollup merge of #58421 - nox:relax-bounds-binary-heap, r=dtolnay
Relax some Ord bounds on BinaryHeap<T>

Notably, iterators don't require any trait bounds to be iterated.
2019-02-25 03:18:01 +01:00
Mazdak Farrokhzad
03acebe2ca
Rollup merge of #58370 - nox:relax-bounds, r=dtolnay
Relax some Hash bounds on HashMap<K, V, S> and HashSet<T, S>

Notably, hash iterators don't require any trait bounds to be iterated.
2019-02-25 03:17:58 +01:00
Steven Fackler
c5b87a29dd Fix sgx 2019-02-24 13:45:41 -08:00