Commit Graph

98766 Commits

Author SHA1 Message Date
Giles Cope
9483db5052 Opaque type locations in error message for clarity. 2019-09-05 06:32:53 +01:00
bors
a24f636e60 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
2019-09-05 02:11:06 +00:00
Esteban Küber
21e7e3f1e9 Point at variant on pattern field count mismatch 2019-09-04 19:04:44 -07:00
Mazdak Farrokhzad
51ae5d053b
Rollup merge of #64148 - guanqun:typo-fix, r=zackmdavis
fix a few typos in comments
2019-09-05 03:59:52 +02:00
Mazdak Farrokhzad
a0f0a96e5d
Rollup merge of #64142 - lzutao:fix-doc-cmp, r=jonas-schievink
Fix doc links in `std::cmp` module

r? @jonas-schievink
2019-09-05 03:59:51 +02:00
Mazdak Farrokhzad
4dfbaba3bf
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`.
2019-09-05 03:59:49 +02:00
Mazdak Farrokhzad
57ffc83312
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
2019-09-05 03:59:48 +02:00
Mazdak Farrokhzad
c195145f56
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.
2019-09-05 03:59:47 +02:00
Mazdak Farrokhzad
24f0778341
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
2019-09-05 03:59:45 +02:00
Mazdak Farrokhzad
8ef11fcf4b
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.
2019-09-05 03:59:44 +02:00
Mazdak Farrokhzad
68660d2494
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
2019-09-05 03:59:43 +02:00
Mazdak Farrokhzad
fe1c1f8c36
Rollup merge of #64043 - matthewjasper:underscore-import-tests, r=alexcrichton
Add some more tests for underscore imports
2019-09-05 03:59:42 +02:00
Mazdak Farrokhzad
9024032591
Rollup merge of #64038 - matthewjasper:deny-mutual-impl-trait-recursion, r=varkor
Check impl trait substs when checking for recursive types

closes #64004
2019-09-05 03:59:40 +02:00
Mazdak Farrokhzad
07a28338fa
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
2019-09-05 03:59:39 +02:00
Mazdak Farrokhzad
9718f7a09f
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
2019-09-05 03:59:37 +02:00
Mazdak Farrokhzad
d1d511df8c
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
2019-09-05 03:59:36 +02:00
Mazdak Farrokhzad
38ce68768d
Rollup merge of #63549 - sfanxiang:rev-rposition, r=scottmcm
Rev::rposition counts from the wrong end

Introduced in #43074.

cc @SimonSapin
2019-09-05 03:59:35 +02:00
Mazdak Farrokhzad
ee437eb5d4
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.
2019-09-05 03:59:33 +02:00
Taylor Cramer
290f5b2275 Use backtrace formatting from the backtrace crate 2019-09-04 16:18:12 -07:00
Josh Stone
53fe76479a Assume non-git LLVM is fresh if the stamp file exists
Rustbuild usually writes the LLVM submodule commit in a stamp file, so
we can avoid rebuilding it unnecessarily. However, for builds from a
source tarball (non-git), we were assuming a rebuild is always needed.
This can cause a lot of extra work if any environment like `CFLAGS`
changed between steps like build and install, which are often separate
in distro builds.

Now we also write an empty stamp file if the git commit is unknown, and
its presence is trusted to indicate that no rebuild is needed. An info
message reports that this is happening, along with the stamp file path
that can be deleted to force a rebuild anyway.
2019-09-04 16:02:31 -07:00
Vitaly _Vi Shukela
5545582a6f
Avoid feature name 'checked_duration_since' in a Tidy test 2019-09-05 01:58:41 +03:00
Vitaly _Vi Shukela
843fba3ed1
Stabilize checked_duration_since for 1.39.0
Resolves #58402.
2019-09-05 01:58:37 +03:00
bors
f257c40b19 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)
2019-09-04 20:30:52 +00:00
Mark Rousskov
fda251b966 Rename --warnings=allow to --warnings=warn
We never allowed the warnings, only made them not denied.
2019-09-04 14:21:35 -04:00
Mark Rousskov
c86ea34639 Ensure all warnings are emitted even on warnings=warn 2019-09-04 14:21:35 -04:00
bors
c6e9c76c59 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
2019-09-04 16:34:38 +00:00
Eric Huss
74ccd08401 Update cargo, books 2019-09-04 08:35:52 -07:00
Baoshan
3a6f7b4ac9
Merge pull request #15 from Wind-River/bpang-runtest
change RUST_TEST_DYLINK to RUST_VXWORKS_TEST_DYLINK
2019-09-04 08:26:22 -07:00
Guanqun Lu
8e067243e4 fix a few typos in comments 2019-09-04 23:25:51 +08:00
Lzu Tao
b6f9523dc6 Fix doc links in std::cmp module
These links are rendered in `core::cmp` but not in `std::cmp`.
2019-09-04 13:52:28 +00:00
Shiqing
cb84aa4744 Improve searching in rustdoc and add tests 2019-09-04 21:27:13 +08:00
Aleksey Kladov
206fe8e1c3 flatten rustc_lexer::character_properties module
On the call site, `rustc_lexer::is_whitespace` reads much better than
`character_properties::is_whitespace`.
2019-09-04 15:13:29 +03:00
Tim Vermeulen
78908f2e09 Override StepBy::{try_fold, try_rfold} 2019-09-04 14:12:04 +02:00
bors
6c18a3d775 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.
2019-09-04 11:37:37 +00:00
Aleksey Kladov
a0c186c34f 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.
2019-09-04 13:11:11 +03:00
Yuki Okushi
41deb83549 Add compile flag 2019-09-04 18:32:00 +09:00
Albin Stjerna
28312b5b06 Rustfmt the files I touched 2019-09-04 10:52:03 +02:00
bors
5f42f3e108 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`.
2019-09-04 07:47:08 +00:00
Albin Stjerna
560ef6d710 Polonius: emit variable access facts 2019-09-04 09:46:44 +02:00
Albin Stjerna
9cd1a11571 Polonius: don't emit region_live_at 2019-09-04 09:46:44 +02:00
Albin Stjerna
6568b086a2 Polonius: don't emit var_maybe_initialized_on_exit 2019-09-04 09:46:44 +02:00
Albin Stjerna
9f39e001df Polonius: Rename parent and var_starts_path 2019-09-04 09:46:44 +02:00
Albin Stjerna
6b09477e91 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.
2019-09-04 09:46:44 +02:00
Albin Stjerna
996ba932cc NLL: Adapt to the new Polonius types 2019-09-04 09:44:40 +02:00
Albin Stjerna
2adb246b5c NLL: New Polonius version 2019-09-04 09:44:40 +02:00
Nicholas Nethercote
cc17b1bc3c 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.
2019-09-04 15:21:33 +10:00
Nicholas Nethercote
7a1bc79cbd Remove LocalInternedString::intern. 2019-09-04 14:41:09 +10:00
Nicholas Nethercote
a1cd79ff4e Remove Encodable/Decodable impls for LocalInternedString. 2019-09-04 14:41:09 +10:00
Nicholas Nethercote
6025fc843a Remove hashing impls for LocalInternedString. 2019-09-04 14:41:07 +10:00
Nicholas Nethercote
224daa64bd Remove LocalInternedString::get.
It has a single use, which is easily changed to something better.
2019-09-04 14:40:23 +10:00