]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoRollup merge of #64094 - kawa-yoiko:rustdoc-search, r=GuillaumeGomez
Mazdak Farrokhzad [Fri, 6 Sep 2019 07:36:38 +0000 (09:36 +0200)]
Rollup merge of #64094 - kawa-yoiko:rustdoc-search, r=GuillaumeGomez

Improve searching in rustdoc and add tests

👋 I have made searching in rustdoc more intuitive, added a couple more tests and made a little shell script to aid testing. Closes #63005.

It took me quite a while to figure out how to run the tests for rustdoc (instead of running tests for other crates with rustdoc); the only pointer I found was [hidden in the rustc book](https://rust-lang.github.io/rustc-guide/rustdoc.html#cheat-sheet). Maybe this could be better documented? I shall be delighted to help if it is desirable.

4 years agoRollup merge of #63676 - newpavlov:wasi, r=alexcrichton
Mazdak Farrokhzad [Fri, 6 Sep 2019 07:36:36 +0000 (09:36 +0200)]
Rollup merge of #63676 - newpavlov:wasi, r=alexcrichton

Use wasi crate for Core API

Blocked by: CraneStation/rust-wasi#5

Blocks: rust-lang/libc#1461

cc @sunfishcode @alexcrichton

4 years agoAuto merge of #64171 - lzutao:clippy-fix, r=oli-obk
bors [Fri, 6 Sep 2019 03:07:06 +0000 (03:07 +0000)]
Auto merge of #64171 - lzutao:clippy-fix, r=oli-obk

Update Clippy

Closes #64163
r? @oli-obk @Manishearth

4 years agoAuto merge of #64172 - Centril:rollup-8i8oh54, r=Centril
bors [Thu, 5 Sep 2019 12:41:41 +0000 (12:41 +0000)]
Auto merge of #64172 - Centril:rollup-8i8oh54, r=Centril

Rollup of 11 pull requests

Successful merges:

 - #62848 (Use unicode-xid crate instead of libcore)
 - #63774 (Fix `window.hashchange is not a function`)
 - #63930 (Account for doc comments coming from proc macros without spans)
 - #64003 (place: Passing `align` = `layout.align.abi`, when also passing `layout`)
 - #64030 (Fix unlock ordering in SGX synchronization primitives)
 - #64041 (use TokenStream rather than &[TokenTree] for built-in macros)
 - #64051 (Add x86_64-linux-kernel target)
 - #64063 (Fix const_err with `-(-0.0)`)
 - #64083 (Point at appropriate arm on type error on if/else/match with one non-! arm)
 - #64100 (Fix const eval bug breaking run-pass tests in Miri)
 - #64157 (Opaque type locations in error message for clarity.)

Failed merges:

r? @ghost

4 years agoRollup merge of #64157 - gilescope:opaque-type-location, r=cramertj,Centril
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:19 +0000 (12:11 +0200)]
Rollup merge of #64157 - gilescope:opaque-type-location, r=cramertj,Centril

Opaque type locations in error message for clarity.

Attempts to fix #63167

4 years agoRollup merge of #64100 - wesleywiser:fix_miri_const_eval, r=oli-obk
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:17 +0000 (12:11 +0200)]
Rollup merge of #64100 - wesleywiser:fix_miri_const_eval, r=oli-obk

Fix const eval bug breaking run-pass tests in Miri

PR #63580 broke miri's ability to run the run-pass test suite with MIR
optimizations enabled. The issue was that we weren't properly handling
the substs and DefId associated with a Promoted value. This didn't break
anything in rustc because in rustc this code runs before the Inliner
pass which is where the DefId and substs can diverge from their initial
values. It broke Miri though because it ran this code again after
running the optimization pass.

r? @oli-obk
cc @RalfJung

4 years agoRollup merge of #64083 - estebank:tweak-e0308, r=oli-obk
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:16 +0000 (12:11 +0200)]
Rollup merge of #64083 - estebank:tweak-e0308, r=oli-obk

Point at appropriate arm on type error on if/else/match with one non-! arm

Fix https://github.com/rust-lang/rust/issues/61281.

4 years agoRollup merge of #64063 - JohnTitor:fix-const-err, r=oli-obk
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:14 +0000 (12:11 +0200)]
Rollup merge of #64063 - JohnTitor:fix-const-err, r=oli-obk

Fix const_err with `-(-0.0)`

Fixes #64059

r? @oli-obk

4 years agoRollup merge of #64051 - alex:linux-kernel-module-target, r=joshtriplett
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:13 +0000 (12:11 +0200)]
Rollup merge of #64051 - alex:linux-kernel-module-target, r=joshtriplett

Add x86_64-linux-kernel target

This adds a target specification for Linux kernel modules on x86_64, as well as base code that can be shared with other architectures.

I wasn't totally sure about what the best name for this was.

There's one open question on whether we should use the LLVM generic x86_64-elf target, or the same one used for the Linux userspace.

r? @joshtriplett

4 years agoRollup merge of #64041 - matklad:token-stream-tt, r=petrochenkov
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:11 +0000 (12:11 +0200)]
Rollup merge of #64041 - matklad:token-stream-tt, r=petrochenkov

use TokenStream rather than &[TokenTree] for built-in macros

That way, we don't loose the jointness info

4 years agoRollup merge of #64030 - jethrogb:jb/sgx-sync-issues, r=alexcrichton
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:10 +0000 (12:11 +0200)]
Rollup merge of #64030 - jethrogb:jb/sgx-sync-issues, r=alexcrichton

Fix unlock ordering in SGX synchronization primitives

Avoid holding spinlocks during usercalls. This should avoid deadlocks in certain pathological scheduling cases.

cc @mzohreva @parthsane

r? @alexcrichton

4 years agoRollup merge of #64003 - Dante-Broggi:place-align-in-layout, r=matthewjasper
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:08 +0000 (12:11 +0200)]
Rollup merge of #64003 - Dante-Broggi:place-align-in-layout, r=matthewjasper

place: Passing `align` = `layout.align.abi`, when also passing `layout`

Of the calls changed:
7/12 use `align` = `layout.align.abi`.
`from_const_alloc` uses `alloc.align`, but that is `assert_eq!` to `layout.align.abi`.
only 4/11 use something interesting for `align`.

4 years agoRollup merge of #63930 - estebank:rustdoc-ice, r=GuillaumeGomez
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:07 +0000 (12:11 +0200)]
Rollup merge of #63930 - estebank:rustdoc-ice, r=GuillaumeGomez

Account for doc comments coming from proc macros without spans

Fix https://github.com/rust-lang/rust/issues/63821.

4 years agoRollup merge of #63774 - chocol4te:fix_63707, r=GuillaumeGomez
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:05 +0000 (12:11 +0200)]
Rollup merge of #63774 - chocol4te:fix_63707, r=GuillaumeGomez

Fix `window.hashchange is not a function`

Closes #63707.

4 years agoRollup merge of #62848 - matklad:xid-unicode, r=petrochenkov
Mazdak Farrokhzad [Thu, 5 Sep 2019 10:11:04 +0000 (12:11 +0200)]
Rollup merge of #62848 - matklad:xid-unicode, r=petrochenkov

Use unicode-xid crate instead of libcore

This PR proposes to remove `char::is_xid_start` and `char::is_xid_continue` functions from `libcore` and use `unicode_xid` crate from crates.io (note that this crate is already present in rust-lang/rust's Cargo.lock).

Reasons to do this:

* removing rustc-binary-specific stuff from libcore
* making sure that, across the ecosystem, there's a single definition of what rust identifier is (`unicode-xid` has almost 10 million downs, as a `proc_macro2` dependency)
* making it easier to share `rustc_lexer` crate with rust-analyzer: no need to `#[cfg]` if we are building as a part of the compiler

Reasons not to do this:

* increased maintenance burden: we'll need to upgrade unicode version both in libcore and in unicode-xid. However, this shouldn't be a too heavy burden: just running `./unicode.py` after new unicode version. I (@matklad) am ready to be a t-compiler side maintainer of unicode-xid. Moreover, given that xid-unicode is an important dependency of syn, *someone* needs to maintain it anyway.
* xid-unicode implementation is significantly slower. It uses a more compact table with binary search, instead of a trie. However, this shouldn't matter in practice, because we have fast-path for ascii anyway, and code size savings is a plus. Moreover, in #59706 not using libcore turned out to be *faster*, presumably beacause checking for whitespace with match is even faster.

<details>

<summary>old description</summary>

Followup to #59706

r? @eddyb

Note that this doesn't actually remove tables from libcore, to avoid conflict with https://github.com/rust-lang/rust/pull/62641.

cc https://github.com/unicode-rs/unicode-xid/pull/11

</details>

4 years agoUpdate Clippy
Lzu Tao [Thu, 5 Sep 2019 09:36:49 +0000 (09:36 +0000)]
Update Clippy

4 years agoAuto merge of #62800 - albins:polonius-initialization-1, r=nikomatsakis
bors [Thu, 5 Sep 2019 08:51:38 +0000 (08:51 +0000)]
Auto merge of #62800 - albins:polonius-initialization-1, r=nikomatsakis

Extend Polonius fact generation for (some) move tracking

This PR will extend rustc to emit facts used for tracking moves and initialization in Polonius. It is most likely the final part of my master's thesis work.

4 years agoOpaque type locations in error message for clarity.
Giles Cope [Wed, 4 Sep 2019 23:08:52 +0000 (00:08 +0100)]
Opaque type locations in error message for clarity.

4 years agoAuto merge of #64160 - Centril:rollup-vrfj1pt, r=Centril
bors [Thu, 5 Sep 2019 02:11:06 +0000 (02:11 +0000)]
Auto merge of #64160 - Centril:rollup-vrfj1pt, r=Centril

Rollup of 15 pull requests

Successful merges:

 - #62860 (Stabilize checked_duration_since for 1.38.0)
 - #63549 (Rev::rposition counts from the wrong end)
 - #63985 (Stabilize pin_into_inner in 1.39.0)
 - #64005 (Add a `Place::is_indirect` method to determine whether a `Place` contains a `Deref` projection)
 - #64031 (Harden `param_attrs` test wrt. usage of a proc macro `#[attr]`)
 - #64038 (Check impl trait substs when checking for recursive types)
 - #64043 (Add some more tests for underscore imports)
 - #64092 (Update xLTO compatibility table in rustc book.)
 - #64110 (Refer to "`self` type" instead of "receiver type")
 - #64120 (Move path parsing earlier)
 - #64123 (Added warning around code with reference to uninit bytes)
 - #64128 (unused_parens: account for or-patterns and `&(mut x)`)
 - #64141 (Minimize uses of `LocalInternedString`)
 - #64142 (Fix doc links in `std::cmp` module)
 - #64148 (fix a few typos in comments)

Failed merges:

r? @ghost

4 years agoRollup merge of #64148 - guanqun:typo-fix, r=zackmdavis
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:52 +0000 (03:59 +0200)]
Rollup merge of #64148 - guanqun:typo-fix, r=zackmdavis

fix a few typos in comments

4 years agoRollup merge of #64142 - lzutao:fix-doc-cmp, r=jonas-schievink
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:51 +0000 (03:59 +0200)]
Rollup merge of #64142 - lzutao:fix-doc-cmp, r=jonas-schievink

Fix doc links in `std::cmp` module

r? @jonas-schievink

4 years agoRollup merge of #64141 - nnethercote:minimize-LocalInternedString, r=petrochenkov
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:49 +0000 (03:59 +0200)]
Rollup merge of #64141 - nnethercote:minimize-LocalInternedString, r=petrochenkov

Minimize uses of `LocalInternedString`

`LocalInternedString` is described as "An alternative to `Symbol` and `InternedString`, useful when the chars within the symbol need to be accessed. It is best used for temporary values."

This PR makes the code match that comment, by removing all non-local uses of `LocalInternedString`. This allows the removal of a number of operations on `LocalInternedString` and a couple of uses of `unsafe`.

4 years agoRollup merge of #64128 - Centril:unused-parens-pat, r=davidtwco
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:48 +0000 (03:59 +0200)]
Rollup merge of #64128 - Centril:unused-parens-pat, r=davidtwco

unused_parens: account for or-patterns and `&(mut x)`

Fixes https://github.com/rust-lang/rust/issues/55342.
Fixes https://github.com/rust-lang/rust/issues/64106.

cc https://github.com/rust-lang/rust/issues/54883
cc https://github.com/rust-lang/rust/pull/64111

r? @oli-obk

4 years agoRollup merge of #64123 - danielhenrymantilla:add_comment_about_uninit_integers, r...
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:47 +0000 (03:59 +0200)]
Rollup merge of #64123 - danielhenrymantilla:add_comment_about_uninit_integers, r=Centril

Added warning around code with reference to uninit bytes

Officially, uninitialized integers, and therefore, Rust references to them are _invalid_ (note that this may evolve into official defined behavior (_c.f._, https://github.com/rust-lang/unsafe-code-guidelines/issues/71)).

However, `::std` uses references to uninitialized integers when working with the `Read::initializer` feature (#42788), since it relies on this unstably having defined behavior with the current implementation of the compiler (IIUC).

Hence the comment to disincentivize people from using this pattern outside the standard library.

4 years agoRollup merge of #64120 - nnethercote:move-path-parsing-earlier, r=petrochenkov
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:45 +0000 (03:59 +0200)]
Rollup merge of #64120 - nnethercote:move-path-parsing-earlier, r=petrochenkov

Move path parsing earlier

It's a hot enough path that moving it slightly earlier gives a tiny but easy speedup.

r? @petrochenkov

4 years agoRollup merge of #64110 - estebank:receiver-type, r=Centril
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:44 +0000 (03:59 +0200)]
Rollup merge of #64110 - estebank:receiver-type, r=Centril

Refer to "`self` type" instead of "receiver type"

Fix https://github.com/rust-lang/rust/issues/42603.

4 years agoRollup merge of #64092 - michaelwoerister:update-xlto-table-rustc-book-1.37, r=alexcr...
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:43 +0000 (03:59 +0200)]
Rollup merge of #64092 - michaelwoerister:update-xlto-table-rustc-book-1.37, r=alexcrichton

Update xLTO compatibility table in rustc book.

This is a combination known to work reliable when building Firefox on all the major platforms.

r? @alexcrichton

4 years agoRollup merge of #64043 - matthewjasper:underscore-import-tests, r=alexcrichton
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:42 +0000 (03:59 +0200)]
Rollup merge of #64043 - matthewjasper:underscore-import-tests, r=alexcrichton

Add some more tests for underscore imports

4 years agoRollup merge of #64038 - matthewjasper:deny-mutual-impl-trait-recursion, r=varkor
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:40 +0000 (03:59 +0200)]
Rollup merge of #64038 - matthewjasper:deny-mutual-impl-trait-recursion, r=varkor

Check impl trait substs when checking for recursive types

closes #64004

4 years agoRollup merge of #64031 - Centril:param-attrs-no-macros-test, r=nikomatsakis
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:39 +0000 (03:59 +0200)]
Rollup merge of #64031 - Centril:param-attrs-no-macros-test, r=nikomatsakis

Harden `param_attrs` test wrt. usage of a proc macro `#[attr]`

The `param-attrs-builtin-attrs.rs` test file uses the `#[test]` attribute which should cover this but `#[test]` isn't a proc macro attribute so we add another test to be on the safe side. This intends to address https://github.com/rust-lang/rust/pull/64010#issuecomment-526564316.

r? @nikomatsakis

cc @c410-f3r @petrochenkov
cc https://github.com/rust-lang/rust/issues/60406

4 years agoRollup merge of #64005 - ecstatic-morse:is-indirect, r=oli-obk
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:37 +0000 (03:59 +0200)]
Rollup merge of #64005 - ecstatic-morse:is-indirect, r=oli-obk

Add a `Place::is_indirect` method to determine whether a `Place` contains a `Deref` projection

Working on #63860 requires tracking some property about each local. This requires differentiating `Place`s like `x` and `x.field[index]` from ones like `*x` and `*x.field`, since the first two will always access the same region of memory as `x` while the latter two may access any region of memory. This functionality is duplicated in various places across the compiler. This PR adds a helper method to `Place` which determines whether that `Place` has a `Deref` projection at any point and changes some existing code to use the new method.

I've not converted `qualify_consts.rs` to use the new method, since it's not a trivial conversion and it will get replaced anyway by #63860. There may be other potential uses besides the two I change in this PR.

r? @oli-obk

4 years agoRollup merge of #63985 - ghedo:stabilize_pin_into_inner, r=alexcrichton
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:36 +0000 (03:59 +0200)]
Rollup merge of #63985 - ghedo:stabilize_pin_into_inner, r=alexcrichton

Stabilize pin_into_inner in 1.39.0

FCP: https://github.com/rust-lang/rust/issues/60245#issuecomment-522258129

Closes #60245

4 years agoRollup merge of #63549 - sfanxiang:rev-rposition, r=scottmcm
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:35 +0000 (03:59 +0200)]
Rollup merge of #63549 - sfanxiang:rev-rposition, r=scottmcm

Rev::rposition counts from the wrong end

Introduced in #43074.

cc @SimonSapin

4 years agoRollup merge of #62860 - vi:stabilize_checked_duration_since, r=Mark-Simulacrum
Mazdak Farrokhzad [Thu, 5 Sep 2019 01:59:33 +0000 (03:59 +0200)]
Rollup merge of #62860 - vi:stabilize_checked_duration_since, r=Mark-Simulacrum

Stabilize checked_duration_since for 1.38.0

Looks like it has already found some use in projects.

Resolves #58402.

4 years agoAvoid feature name 'checked_duration_since' in a Tidy test
Vitaly _Vi Shukela [Wed, 4 Sep 2019 22:25:07 +0000 (01:25 +0300)]
Avoid feature name 'checked_duration_since' in a Tidy test

4 years agoStabilize checked_duration_since for 1.39.0
Vitaly _Vi Shukela [Sun, 21 Jul 2019 21:54:42 +0000 (00:54 +0300)]
Stabilize checked_duration_since for 1.39.0

Resolves #58402.

4 years agoAuto merge of #64150 - ehuss:update-cargo-books, r=alexcrichton
bors [Wed, 4 Sep 2019 20:30:52 +0000 (20:30 +0000)]
Auto merge of #64150 - ehuss:update-cargo-books, r=alexcrichton

Update cargo, books

## cargo

8 commits in 22f7dd0495cd72ce2082d318d5a9b4dccb9c5b8c..fe0e5a48b75da2b405c8ce1ba2674e174ae11d5d
2019-08-27 16:10:51 +0000 to 2019-09-04 00:51:27 +0000
- Rename `--all` to `--workspace` (rust-lang/cargo#7241)
- Basic standard library support. (rust-lang/cargo#7216)
- Allow using 'config.toml' instead of just 'config' files. (rust-lang/cargo#7295)
- Retry on SSL Connect Error. (rust-lang/cargo#7318)
- minimal-copy `deserialize` for `InternedString` (rust-lang/cargo#7310)
- Fix typo in cargo vendor examples (rust-lang/cargo#7320)
- Fixes around multiple `[patch]` per crate (rust-lang/cargo#7303)
- Improve error messages on mkdir failure (rust-lang/cargo#7306)

## reference

7 commits in d191a0cdd3b92648e0f1e53b13140a14677cc65b..090c015f7939665866432c334957bd536c811870
2019-08-15 08:42:23 +0200 to 2019-09-03 13:59:28 -0700
- Fix rust-lang-nursery/reference#664: Review Oxford comma usage. (rust-lang-nursery/reference#668)
- Fix some links. (rust-lang-nursery/reference#667)
- Remove trait object warning. (rust-lang-nursery/reference#666)
- Specify pattern types in `let` statements and `for` expressions (rust-lang-nursery/reference#663)
- Fix loop expression link. (rust-lang-nursery/reference#662)
- async-await initial reference material (rust-lang-nursery/reference#635)
- Correct errors in the reference of extern functions definitions and declarations (rust-lang-nursery/reference#652)

## rust-by-example

1 commits in 580839d90aacd537f0293697096fa8355bc4e673..e76be6b2dc84c6a992e186157efe29d625e29b94
2019-08-17 23:17:50 -0300 to 2019-09-03 07:42:26 -0300
- Change link to russian translation repository (rust-lang/rust-by-example#1245)

## embedded-book

1 commits in 432ca26686c11d396eed6a59499f93ce1bf2433c..5ca585c4a7552efb546e7681c3de0712f4ae4fdc
2019-08-09 23:20:22 +0000 to 2019-08-27 13:39:14 +0000
- Fixup book CI  (rust-embedded/book#205)

4 years agoAuto merge of #64125 - JohnTitor:update-clippy, r=oli-obk
bors [Wed, 4 Sep 2019 16:34:38 +0000 (16:34 +0000)]
Auto merge of #64125 - JohnTitor:update-clippy, r=oli-obk

Update Clippy

cc https://github.com/rust-lang/rust-clippy/pull/4493

r? @oli-obk

4 years agoUpdate cargo, books
Eric Huss [Wed, 4 Sep 2019 15:35:52 +0000 (08:35 -0700)]
Update cargo, books

4 years agofix a few typos in comments
Guanqun Lu [Wed, 4 Sep 2019 15:25:51 +0000 (23:25 +0800)]
fix a few typos in comments

4 years agoFix doc links in `std::cmp` module
Lzu Tao [Wed, 4 Sep 2019 13:52:28 +0000 (13:52 +0000)]
Fix doc links in `std::cmp` module

These links are rendered in `core::cmp` but not in `std::cmp`.

4 years agoImprove searching in rustdoc and add tests
Shiqing [Mon, 2 Sep 2019 13:03:35 +0000 (21:03 +0800)]
Improve searching in rustdoc and add tests

4 years agoflatten rustc_lexer::character_properties module
Aleksey Kladov [Wed, 4 Sep 2019 10:16:36 +0000 (13:16 +0300)]
flatten rustc_lexer::character_properties module

On the call site, `rustc_lexer::is_whitespace` reads much better than
`character_properties::is_whitespace`.

4 years agoAuto merge of #63825 - nathanwhit:check-run-results, r=Mark-Simulacrum
bors [Wed, 4 Sep 2019 11:37:37 +0000 (11:37 +0000)]
Auto merge of #63825 - nathanwhit:check-run-results, r=Mark-Simulacrum

Allow checking of run-pass execution output in compiletest

Closes #63751
Adds a `check-run-results` flag to compiletest headers, which if enabled checks the output of the execution of a run-pass test's binary against expected output.

4 years agoremove XID and Pattern_White_Space unicode tables from libcore
Aleksey Kladov [Sun, 21 Jul 2019 11:50:39 +0000 (14:50 +0300)]
remove XID and Pattern_White_Space unicode tables from libcore

They are only used by rustc_lexer, and are not needed elsewhere.

So we move the relevant definitions into rustc_lexer (while the actual
unicode data comes from the unicode-xid crate) and make the rest of
the compiler use it.

4 years agoAdd compile flag
Yuki Okushi [Wed, 4 Sep 2019 09:32:00 +0000 (18:32 +0900)]
Add compile flag

4 years agoRustfmt the files I touched
Albin Stjerna [Mon, 19 Aug 2019 13:56:16 +0000 (15:56 +0200)]
Rustfmt the files I touched

4 years agoAuto merge of #63166 - ksqsf:master, r=alexcrichton
bors [Wed, 4 Sep 2019 07:47:08 +0000 (07:47 +0000)]
Auto merge of #63166 - ksqsf:master, r=alexcrichton

Add Result::cloned{,_err} and Result::copied{,_err}

This is a little nice addition to `Result`.

1. I'm not sure how useful are `cloned_err` and `copied_err`, but for the sake of completeness they are here.
2. Naming is similar to `map`/`map_err`. I thought about naming `cloned` as `cloned_ok` and add another method called `cloned` that clones both Ok and Err, but `cloned_ok` should be more prevalent than `cloned_both`.

4 years agoPolonius: emit variable access facts
Albin Stjerna [Wed, 7 Aug 2019 15:44:35 +0000 (17:44 +0200)]
Polonius: emit variable access facts

4 years agoPolonius: don't emit `region_live_at`
Albin Stjerna [Fri, 16 Aug 2019 13:42:22 +0000 (15:42 +0200)]
Polonius: don't emit `region_live_at`

4 years agoPolonius: don't emit `var_maybe_initialized_on_exit`
Albin Stjerna [Fri, 16 Aug 2019 13:39:17 +0000 (15:39 +0200)]
Polonius: don't emit `var_maybe_initialized_on_exit`

4 years agoPolonius: Rename `parent` and `var_starts_path`
Albin Stjerna [Tue, 6 Aug 2019 10:12:36 +0000 (12:12 +0200)]
Polonius: Rename `parent` and `var_starts_path`

4 years agoPolonius: emit initialization/move tracking facts
Albin Stjerna [Fri, 19 Jul 2019 13:38:54 +0000 (15:38 +0200)]
Polonius: emit initialization/move tracking facts

- var_starts_path
- parent
- initialized_at
- moved_out_at

This also switches to the intended emission of `var_drop_used` fact emission,
where that fact is always emitted on a drop-use of a variable, regardless of its
initialization status, as Polonius now handles that.

4 years agoNLL: Adapt to the new Polonius types
Albin Stjerna [Thu, 18 Jul 2019 10:38:32 +0000 (12:38 +0200)]
NLL: Adapt to the new Polonius types

4 years agoNLL: New Polonius version
Albin Stjerna [Thu, 18 Jul 2019 10:32:06 +0000 (12:32 +0200)]
NLL: New Polonius version

4 years agoAdd `Symbol::{with,with2}`.
Nicholas Nethercote [Tue, 3 Sep 2019 23:19:27 +0000 (09:19 +1000)]
Add `Symbol::{with,with2}`.

And remove the `unsafe` blocks, they're not necessary.

Also rewrite `InternedString::{with,with2}` to use the new functions.

Finally, add some comments about the speed of the
`as_str()`/`as_interned_str()` functions.

4 years agoRemove `LocalInternedString::intern`.
Nicholas Nethercote [Tue, 3 Sep 2019 23:49:23 +0000 (09:49 +1000)]
Remove `LocalInternedString::intern`.

4 years agoRemove `Encodable`/`Decodable` impls for `LocalInternedString`.
Nicholas Nethercote [Tue, 3 Sep 2019 23:48:03 +0000 (09:48 +1000)]
Remove `Encodable`/`Decodable` impls for `LocalInternedString`.

4 years agoRemove hashing impls for `LocalInternedString`.
Nicholas Nethercote [Tue, 3 Sep 2019 23:45:57 +0000 (09:45 +1000)]
Remove hashing impls for `LocalInternedString`.

4 years agoRemove `LocalInternedString::get`.
Nicholas Nethercote [Tue, 3 Sep 2019 23:30:54 +0000 (09:30 +1000)]
Remove `LocalInternedString::get`.

It has a single use, which is easily changed to something better.

4 years agoRemove `LocalInternedString::as_interned_str()`.
Nicholas Nethercote [Tue, 3 Sep 2019 23:13:56 +0000 (09:13 +1000)]
Remove `LocalInternedString::as_interned_str()`.

It's unused.

4 years agoRemove `LocalInternedString` uses from `librustc/traits/`.
Nicholas Nethercote [Tue, 3 Sep 2019 07:10:12 +0000 (17:10 +1000)]
Remove `LocalInternedString` uses from `librustc/traits/`.

4 years agoRemove `LocalInternedString` uses from `librustc_codegen_llvm`.
Nicholas Nethercote [Tue, 3 Sep 2019 06:23:21 +0000 (16:23 +1000)]
Remove `LocalInternedString` uses from `librustc_codegen_llvm`.

4 years agoRemove `LocalInternedString` uses from `librustc_codegen_llvm/consts.rs`.
Nicholas Nethercote [Tue, 3 Sep 2019 06:11:18 +0000 (16:11 +1000)]
Remove `LocalInternedString` uses from `librustc_codegen_llvm/consts.rs`.

4 years agoRemove `LocalInternedString` uses from `librustc/ty/`.
Nicholas Nethercote [Tue, 3 Sep 2019 06:06:42 +0000 (16:06 +1000)]
Remove `LocalInternedString` uses from `librustc/ty/`.

This is not a compelling change in isolation, but it is a necessary
step.

4 years agouse consistent naming for buildin expansion functions
Aleksey Kladov [Tue, 3 Sep 2019 14:43:25 +0000 (17:43 +0300)]
use consistent naming for buildin expansion functions

4 years agouse TokenStream rather than &[TokenTree] for built-in macros
Aleksey Kladov [Sat, 31 Aug 2019 17:08:06 +0000 (20:08 +0300)]
use TokenStream rather than &[TokenTree] for built-in macros

That way, we don't loose the jointness info

4 years agoStrip remote-test-client output from run stdout
nathanwhit [Tue, 3 Sep 2019 15:56:08 +0000 (11:56 -0400)]
Strip remote-test-client output from run stdout

The remote-test-client outputs a message of the form "uploaded
"<build_dir>/<executable_path>", waiting for result" onto stdout when
executing a test, which is then captured in the process result. This needs to be removed when
comparing the results of the run-pass test execution.

4 years agoAuto merge of #64127 - Centril:rollup-dfgb9h8, r=Centril
bors [Tue, 3 Sep 2019 15:17:31 +0000 (15:17 +0000)]
Auto merge of #64127 - Centril:rollup-dfgb9h8, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #64049 (Emit a single error on if expr with expectation and no else clause)
 - #64056 (Account for arbitrary self types in E0599)
 - #64058 (librustc_errors: Extract sugg/subst handling into method)
 - #64071 (use just one name when parameters and fields are the same)
 - #64104 (Emit error on intrinsic to fn ptr casts)

Failed merges:

r? @ghost

4 years agofix error code test
Esteban Küber [Tue, 3 Sep 2019 15:07:35 +0000 (08:07 -0700)]
fix error code test

4 years agoreview comments
Esteban Küber [Tue, 3 Sep 2019 15:05:54 +0000 (08:05 -0700)]
review comments

4 years agoreview comments: error code text
Esteban Küber [Tue, 3 Sep 2019 15:03:09 +0000 (08:03 -0700)]
review comments: error code text

4 years agomake wasi a target-specific dependency
Artyom Pavlov [Tue, 3 Sep 2019 14:37:53 +0000 (14:37 +0000)]
make wasi a target-specific dependency

4 years agoUpdate Clippy
Yuki Okushi [Tue, 3 Sep 2019 11:22:03 +0000 (20:22 +0900)]
Update Clippy

4 years agoChanged comment to better reflect std's exceptional situation
Daniel Henry-Mantilla [Tue, 3 Sep 2019 13:36:21 +0000 (15:36 +0200)]
Changed comment to better reflect std's exceptional situation

4 years agounused_parens: fix for or-patterns + &(mut x)
Mazdak Farrokhzad [Tue, 3 Sep 2019 13:33:30 +0000 (15:33 +0200)]
unused_parens: fix for or-patterns + &(mut x)

4 years agoRollup merge of #64104 - Mark-Simulacrum:intrinsic-fn-ptr-ice, r=estebank
Mazdak Farrokhzad [Tue, 3 Sep 2019 12:27:05 +0000 (14:27 +0200)]
Rollup merge of #64104 - Mark-Simulacrum:intrinsic-fn-ptr-ice, r=estebank

Emit error on intrinsic to fn ptr casts

I'm not sure if a type error is the best way of doing this but it seemed like a relatively correct place to do it, and I expect this is a pretty rare case to hit anyway.

Fixes #15694

4 years agoRollup merge of #64071 - guanqun:style-fix, r=Centril
Mazdak Farrokhzad [Tue, 3 Sep 2019 12:27:03 +0000 (14:27 +0200)]
Rollup merge of #64071 - guanqun:style-fix, r=Centril

use just one name when parameters and fields are the same

4 years agoRollup merge of #64058 - phansch:refactor_out_method, r=estebank
Mazdak Farrokhzad [Tue, 3 Sep 2019 12:27:01 +0000 (14:27 +0200)]
Rollup merge of #64058 - phansch:refactor_out_method, r=estebank

librustc_errors: Extract sugg/subst handling into method

An initial refactoring before working on #61809.

This moves the whole block into a method so that it can be reused in the
annotate-snippet emitter. The method is already used in the new emitter, but
there's no UI tests with suggestions included in this PR.

A first look at some UI tests with suggestions showed that there's some
more work to do in [annotate-snippet-rs][annotate-snippet-rs] before the new output is closer to the
current one, so I opted to do that in a second step.

r? @estebank

[annotate-snippet-rs]: https://github.com/rust-lang/annotate-snippets-rs

4 years agoRollup merge of #64056 - estebank:arbitrary-self-types, r=Centril
Mazdak Farrokhzad [Tue, 3 Sep 2019 12:27:00 +0000 (14:27 +0200)]
Rollup merge of #64056 - estebank:arbitrary-self-types, r=Centril

Account for arbitrary self types in E0599

Fix https://github.com/rust-lang/rust/issues/62373

4 years agoRollup merge of #64049 - estebank:if-else-type-err, r=Centril
Mazdak Farrokhzad [Tue, 3 Sep 2019 12:26:58 +0000 (14:26 +0200)]
Rollup merge of #64049 - estebank:if-else-type-err, r=Centril

Emit a single error on if expr with expectation and no else clause

Fix https://github.com/rust-lang/rust/issues/60254.

r? @Centril

4 years agoAdded warning around code with reference to uninit bytes
Daniel Henry-Mantilla [Tue, 3 Sep 2019 10:17:03 +0000 (12:17 +0200)]
Added warning around code with reference to uninit bytes

4 years agoMove path parsing earlier.
Nicholas Nethercote [Tue, 3 Sep 2019 07:21:58 +0000 (17:21 +1000)]
Move path parsing earlier.

It's a hot enough path that moving it slightly earlier gives a tiny but
easy speedup.

4 years agoRemove `LocalInternedString` uses from `librustc/lint/`.
Nicholas Nethercote [Tue, 3 Sep 2019 06:02:32 +0000 (16:02 +1000)]
Remove `LocalInternedString` uses from `librustc/lint/`.

4 years agoRemove `LocalInternedString` uses from `librustc_typeck`.
Nicholas Nethercote [Tue, 3 Sep 2019 05:48:14 +0000 (15:48 +1000)]
Remove `LocalInternedString` uses from `librustc_typeck`.

4 years agoaccount for DUMMY_SP and correct wording
Esteban Küber [Tue, 3 Sep 2019 05:11:29 +0000 (22:11 -0700)]
account for DUMMY_SP and correct wording

4 years agoAuto merge of #63869 - GuillaumeGomez:fix-build-failure, r=Mark-Simulacrum
bors [Tue, 3 Sep 2019 04:33:08 +0000 (04:33 +0000)]
Auto merge of #63869 - GuillaumeGomez:fix-build-failure, r=Mark-Simulacrum

Fix build failure in case file doesn't exist

It fixes the following issue:

```bash
$ ./x.py test src/tools/linkchecker ./build/x86_64-apple-darwin/doc/ --stage 1
Updating only changed submodules
Submodules updated in 0.05 seconds
    Finished dev [unoptimized] target(s) in 0.15s
thread 'main' panicked at 'source "/Users/imperio/rust/rust/build/x86_64-apple-darwin/doc/version_info.html" failed to get metadata: No such file or directory (os error 2)', src/build_helper/lib.rs:179:19
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
failed to run: /Users/imperio/rust/rust/build/bootstrap/debug/bootstrap test src/tools/linkchecker ./build/x86_64-apple-darwin/doc/ --stage 1
Build completed unsuccessfully in 0:00:01
```

If the file doesn't exist, it makes sense anyway to just run the command in order to generate it.

r? @Mark-Simulacrum

4 years agoreview comment: update error code descr
Esteban Küber [Tue, 3 Sep 2019 04:08:34 +0000 (21:08 -0700)]
review comment: update error code descr

4 years agoOn object safety violation, point at source when possible
Esteban Küber [Tue, 3 Sep 2019 03:22:22 +0000 (20:22 -0700)]
On object safety violation, point at source when possible

4 years agoRefer to "`self` type" instead of "receiver type"
Esteban Küber [Tue, 3 Sep 2019 01:21:58 +0000 (18:21 -0700)]
Refer to "`self` type" instead of "receiver type"

4 years agoAdd match test cases
Esteban Küber [Tue, 3 Sep 2019 00:37:50 +0000 (17:37 -0700)]
Add match test cases

4 years agoAuto merge of #63561 - HeroicKatora:alloc-private-bytes, r=oli-obk
bors [Mon, 2 Sep 2019 22:07:40 +0000 (22:07 +0000)]
Auto merge of #63561 - HeroicKatora:alloc-private-bytes, r=oli-obk

Make Allocation::bytes private

Fixes #62931.

Direct immutable access to the bytes is still possible but redirected through the new method `raw_bytes_with_undef_and_ptr`, similar to `get_bytes_with_undef_and_ptr` but without requiring an interpretation context and not doing *any* relocation or bounds checks. The `size` of the allocation is stored separately which makes access as `Size` and `usize` more ergonomic.

cc: @RalfJung

4 years agoEmit error on intrinsic to fn ptr casts
Mark Rousskov [Mon, 2 Sep 2019 21:28:37 +0000 (17:28 -0400)]
Emit error on intrinsic to fn ptr casts

4 years agoFix const eval bug breaking run-pass tests in Miri
Wesley Wiser [Thu, 29 Aug 2019 00:18:25 +0000 (20:18 -0400)]
Fix const eval bug breaking run-pass tests in Miri

PR #63580 broke miri's ability to run the run-pass test suite with MIR
optimizations enabled. The issue was that we weren't properly handling
the substs and DefId associated with a Promoted value. This didn't break
anything in rustc because in rustc this code runs before the Inliner
pass which is where the DefId and substs can diverge from their initial
values. It broke Miri though because it ran this code again after
running the optimization pass.

4 years agofix typo
Esteban Küber [Mon, 2 Sep 2019 17:19:09 +0000 (10:19 -0700)]
fix typo

4 years agoIgnore check-run-results tests for wasm32-bare
nathanwhit [Mon, 2 Sep 2019 16:00:55 +0000 (12:00 -0400)]
Ignore check-run-results tests for wasm32-bare

Ignores run-pass tests with the `check-run-results` flag enabled for the
wasm32-bare ("wasm32-unknown-unknown") target, as it does not support
printing to stdout/stderr.

4 years agoAuto merge of #63692 - iluuu1994:issue-49660, r=sfackler
bors [Mon, 2 Sep 2019 15:32:08 +0000 (15:32 +0000)]
Auto merge of #63692 - iluuu1994:issue-49660, r=sfackler

Test that Wrapping arithmetic ops are implemented for all int types

Closes #49660

4 years agoGenerate version file if it doesn't exist
Guillaume Gomez [Sat, 24 Aug 2019 21:45:47 +0000 (23:45 +0200)]
Generate version file if it doesn't exist

4 years agoUpdate xLTO compatibility table in rustc book.
Michael Woerister [Mon, 2 Sep 2019 11:50:44 +0000 (13:50 +0200)]
Update xLTO compatibility table in rustc book.

4 years agoPoint at appropriate arm on type error on if/else/match with one non-! arm
Esteban Küber [Mon, 2 Sep 2019 03:13:59 +0000 (20:13 -0700)]
Point at appropriate arm on type error on if/else/match with one non-! arm