106924 Commits

Author SHA1 Message Date
Yuki Okushi
931005d549
Rollup merge of #68947 - chrissimpkins:python-fmt, r=alexcrichton
Python script PEP8 style guide space formatting and minor Python source cleanup

This PR includes the following changes in the Python sources based on a flake8 3.7.9 (mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.7.6 on Darwin lint:

- PEP8 style guide spacing updates *without* line length changes
- removal of unused local variable assignments in context managers and exception handling
- removal of unused Python import statements
- removal of unnecessary semicolons
2020-02-12 18:55:41 +09:00
Yuki Okushi
4b82b51213
Rollup merge of #68937 - ecstatic-morse:unchecked-intrinsics-test, r=RalfJung
Test failure of unchecked arithmetic intrinsics in const eval

Test that the unchecked arithmetic intrinsics that were made unstably const in #68809 emit an error during const-eval if given invalid input.

Addresses [this comment](https://github.com/rust-lang/rust/pull/68809#discussion_r375753066).

r? @RalfJung
2020-02-12 18:55:39 +09:00
Yuki Okushi
19b0c00da3
Rollup merge of #68554 - cjgillot:lang_items, r=Zoxc
Split lang_items to crates `rustc_hir` and `rustc_passes`.

As discussed in comment https://github.com/rust-lang/rust/pull/67688#discussion_r368289946
2020-02-12 18:55:37 +09:00
Yuki Okushi
344f8d9e62
Rollup merge of #68487 - 0dvictor:nolink, r=tmandry
[experiment] Support linking from a .rlink file

Flag `-Z no-link` was previously introduced, which allows creating an `.rlink` file to perform compilation without linking. This change enables linking from an `.rlink` file.

Part of Issue #64191
2020-02-12 18:55:36 +09:00
Yuki Okushi
b6a9aa9dd7
Rollup merge of #67695 - gilescope:truth, r=centril
Added dyn and true keyword docs

r? @Centril
2020-02-12 18:55:34 +09:00
John Kåre Alsaker
77ab0d091e Construct query job latches on-demand 2020-02-12 10:30:23 +01:00
ljedrz
d8544ce248 remove some unused objects 2020-02-12 09:21:39 +01:00
bors
7cba853b4f Auto merge of #68998 - lzutao:clippyup, r=Manishearth
Update clippy

Closes #68901
2020-02-12 07:05:15 +00:00
Tyler Mandry
ee85e913a2 Update compiler-builtins to 0.1.25 2020-02-11 22:25:32 -08:00
bors
e6db6697fa Auto merge of #68823 - matthiaskrgr:submodule_upd, r=ehuss
submodules: update cargo
2020-02-12 01:47:01 +00:00
Lzu Tao
1db0a224eb Update clippy 2020-02-12 02:25:44 +01:00
Jane Lusby
090a1571d8 Fix failing backtrace ui tests 2020-02-11 16:57:22 -08:00
Nicholas Nethercote
9aea154e78 Improve u8to64_le.
This makes it faster and also changes it to a safe function. (Thanks to
Michael Woerister for the suggestion.) `load_int_le!` is also no longer
necessary.
2020-02-12 11:32:57 +11:00
jumbatm
c1ed84e6ec Fix outdated doc comment. 2020-02-12 08:53:35 +10:00
Dylan MacKenzie
ee52fe6d51 Test failure of unchecked arithmetic intrinsics in const eval 2020-02-11 14:46:12 -08:00
Camille GILLOT
fc73e196d9 Review comments. 2020-02-11 23:21:21 +01:00
Camille GILLOT
513eb744c0 Merge rustc::middle::*lang_items. 2020-02-11 23:15:27 +01:00
Camille GILLOT
d3b2385d40 Move it all into rustc_hir. 2020-02-11 23:14:07 +01:00
Camille GILLOT
443a42a8d3 Nits. 2020-02-11 23:13:37 +01:00
Camille GILLOT
b6f875d678 Move weak_lang_items checking to librustc_passes. 2020-02-11 23:13:03 +01:00
Camille GILLOT
98b46f7796 Move weak_lang_items.rs to librustc_passes. 2020-02-11 23:12:16 +01:00
Camille GILLOT
4ecba94dcb Move weak lang items to librustc_lang_items. 2020-02-11 23:11:29 +01:00
Camille GILLOT
c04195da9f Move get_lang_items query in librustc_passes. 2020-02-11 23:10:47 +01:00
Camille GILLOT
ff369236a3 Move lang_items definitions to librustc_lang_items. 2020-02-11 23:09:22 +01:00
Camille GILLOT
a056817aae Move hir::check_attr::Target to librustc_lang_items. 2020-02-11 23:07:54 +01:00
Camille GILLOT
60aaf90834 Move macro enum_from_u32 to rustc_data_structures. 2020-02-11 23:03:53 +01:00
Jane Lusby
d2b08c7e93 Update Cargo.lock 2020-02-11 12:51:23 -08:00
bors
fc23a81831 Auto merge of #68491 - pnkfelix:hide-niches-under-unsafe-cell, r=oli
Hide niches under UnsafeCell

Hide any niche of T from type-construction context of `UnsafeCell<T>`.

Fix #68303
Fix #68206
2020-02-11 20:48:27 +00:00
Esteban Küber
bde96776a1 Suggest named lifetime in ADT with hrtb 2020-02-11 12:37:12 -08:00
Giles Cope
8e26ad0c2c Keyword docs
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
Co-Authored-By: Tim Robinson <tim.g.robinson@gmail.com>
Co-Authored-By: Peter Todd <pete@petertodd.org>
Co-Authored-By: Dylan DPC <dylan.dpc@gmail.com>
2020-02-11 20:36:36 +00:00
Dylan MacKenzie
5f40fe96a4 Clarify why you shouldn't override Analysis::into_engine 2020-02-11 12:14:05 -08:00
Dylan MacKenzie
3ac920ffcd Use exhaustive matching 2020-02-11 12:14:05 -08:00
Dylan MacKenzie
168ca9a325 Add note about elaborate_drops::InitializationData 2020-02-11 12:14:05 -08:00
Dylan MacKenzie
5860e78ce9 Skip caching block transfer functions for acyclic MIR 2020-02-11 12:14:05 -08:00
Dylan MacKenzie
42d19a4e18 Use new dataflow framework for rustc_peek tests 2020-02-11 12:14:05 -08:00
Dylan MacKenzie
f639607f63 Use new dataflow framework for drop elaboration and borrow checking 2020-02-11 12:14:05 -08:00
Matthew Jasper
30a8353f37 Specify overflow checks behaviour in test 2020-02-11 19:35:29 +00:00
Esteban Küber
24be307b53 Suggestion when encountering assoc types from hrtb
When encountering E0212, detect whether this is a representable case or
not, i.e. if it's happening on an `fn` or on an ADT. If the former,
provide a structured suggestion, otherwise note that this can't be
represented in Rust.
2020-02-11 10:49:11 -08:00
Jason Liquorish
388431160d Add self to .mailmap 2020-02-11 18:33:00 +00:00
Andreas Jonson
3b23d22e75 remove some dependencies on itertools 2020-02-11 19:28:38 +01:00
Dario Gonzalez
1f6fb338a5 make the sgx arg cleanup implementation a no op 2020-02-11 10:11:58 -08:00
bors
3f32e3001e Auto merge of #69062 - Dylan-DPC:rollup-7wpjpqu, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #66498 (Remove unused feature gates)
 - #68816 (Tweak borrow error on `FnMut` when `Fn` is expected)
 - #68824 (Enable Control Flow Guard in rustbuild)
 - #69022 (traits: preallocate 2 Vecs of known initial size)
 - #69031 (Use `dyn Trait` more in tests)
 - #69044 (Don't run coherence twice for future-compat lints)
 - #69047 (Don't rustfmt check the vendor directory.)
 - #69055 (Clean up E0307 explanation)

Failed merges:

r? @ghost
2020-02-11 17:45:49 +00:00
Jane Lusby
ec8ee7fb81 remove intentionally failing test 2020-02-11 08:39:27 -08:00
Dylan DPC
82a366ad86
Rollup merge of #69055 - GuillaumeGomez:clean-up-e0307, r=Dylan-DPC
Clean up E0307 explanation

r? @Dylan-DPC
2020-02-11 16:37:06 +01:00
Dylan DPC
c88b3494b0
Rollup merge of #69047 - ehuss:rustfmt-vendor, r=Centril
Don't rustfmt check the vendor directory.

I need to be able to run `x.py tidy` to do license checks (which requires vendored dependencies).  However, when vendoring is enabled, it wants to rustfmt check the entire vendor directory, which doesn't work.
2020-02-11 16:37:04 +01:00
Dylan DPC
0ba5e8a88f
Rollup merge of #69044 - jonas-schievink:dont-run-coherence-twice, r=davidtwco
Don't run coherence twice for future-compat lints

This fixes the regression introduced by https://github.com/rust-lang/rust/pull/65232 (which I mentioned in https://github.com/rust-lang/rust/pull/65232#issuecomment-583739037).

Old algorithm:
* Run coherence with all future-incompatible checks off, reporting errors on any overlap.
* If there's no overlap (common case), run it *again*, with the future-incompatible checks on. Report warnings for any overlap found.

New algorithm:
* Run coherence with all additional future-incompatible checks *on*, which means that we'll find *all* potentially overlapping impls immediately.
* If this found overlap, run coherence again, with the future-incompatible checks off. If that *still* gives an error, we report it. If not, it ought to be a warning.

This reduces time spent in coherence checking for the nrf52810-pac by roughly 50% relative to current master.
2020-02-11 16:37:02 +01:00
Dylan DPC
dc98cb09c0
Rollup merge of #69031 - Centril:dyntest, r=eddyb
Use `dyn Trait` more in tests

Here are some tests using the old trait object type syntax which are not testing the syntax itself.

This has been extracted from https://github.com/rust-lang/rust/pull/66364.
2020-02-11 16:37:01 +01:00
Dylan DPC
d8b4abc4ad
Rollup merge of #69022 - ljedrz:traits_tweak_vecs, r=petrochenkov
traits: preallocate 2 Vecs of known initial size

The 2 preallocations are pretty obvious; both vectors will be as big as or larger than the collections they are created from.

In `WfPredicates::normalize` the change from a functional style improves readability and should be perf-friendly, too.
2020-02-11 16:36:59 +01:00
Dylan DPC
c8c2b2bc54
Rollup merge of #68824 - ajpaverd:cfguard-rustbuild, r=Mark-Simulacrum
Enable Control Flow Guard in rustbuild

Now that Rust supports Control Flow Guard (#68180), add a config.toml option to build the standard library with CFG enabled.

r? @nagisa
2020-02-11 16:36:57 +01:00
Dylan DPC
b6024c4766
Rollup merge of #68816 - estebank:fn-mut-closure, r=varkor
Tweak borrow error on `FnMut` when `Fn` is expected

Fix #31701, fix #66097.
2020-02-11 16:36:55 +01:00