Commit Graph

119575 Commits

Author SHA1 Message Date
Dylan DPC
4b5b6cbe60
Rollup merge of #71533 - pnkfelix:revert-70566-for-const-validation-fix, r=Dylan-DPC
Revert PR 70566 for const validation fix

This is a port of PR #71441 but ported to the master branch, as discussed in [yesterday's T-compiler meeting](https://zulip-archive.rust-lang.org/131828tcompiler/88751weeklymeeting2020042354818.html#195065903)
2020-04-25 11:25:55 +02:00
Dylan DPC
62b362472d
Rollup merge of #71523 - Mark-Simulacrum:alloc-inline-dup, r=Amanieu
Take a single root node in range_search

The unsafe code can be justified within range_search, as it makes sure to not
overlap the returned references, but from the callers perspective it's an
entirely safe algorithm and there's no need for the caller to know about the
duplication.

cc @ssomers
r? @Amanieu
2020-04-25 11:25:53 +02:00
Dylan DPC
4762e225f8
Rollup merge of #71517 - flip1995:unused_braces_hack, r=oli-obk
Quick and dirty fix of the unused_braces lint

cc @lcnr

Adresses #70814

This at least prevents lint output, if no span is available. Even though this also prevents the `unused_parens` lint from emitting, when the `DUMMY_SP` is used there, but I think that should be ok, since error messages without a span are quite useless anyway.

Clippy CI is currently blocked on this bug. If this quick and dirty fix should be rejected, I could try to work around this in Clippy.

r? @shepmaster
2020-04-25 11:25:51 +02:00
Dylan DPC
6ded356d9c
Rollup merge of #71494 - flip1995:while_let_span, r=petrochenkov
Fix span of while (let) expressions after lowering

Credit goes to @alex-700 who found this while trying to fix a suggestion in Clippy.

While `if`, `try`, `for` and `await` expressions get the span of the original expression when desugared, `while` loops got the span of the scrutinee, which lead to weird code, when building the suggestion, that randomly worked: https://github.com/rust-lang/rust-clippy/pull/5511/files#diff-df4e9d2bf840a5f2e3b580bef73da3bcR106-R108

I'm wondering, if `DesugaringKind` should get a variant `WhileLoop` and instead of using the span of the `ast::ExprKind::While` expr directly, a new span with `self.mark_span_with_reason` should be used, like it is done with `for` loops.

There was some fallout, but I think that is acceptable. If not, I need some help to find out where this can be fixed.
2020-04-25 11:25:50 +02:00
Dylan DPC
cbbf065425
Rollup merge of #71364 - Amanieu:zprofile_compiler_builtins, r=cramertj
Ignore -Zprofile when building compiler_builtins

#70846 made the `compiler_builtins` crate ignore the default codegen-units setting and instead always split each function into a different codegen unit.

This unfortunately breaks `-Zprofile` which requires a single codegen unit per crate (see #71283). You can notice this when building with `cargo -Zbuild-std` and `RUSTFLAGS` containing `-Zprofile`.

This PR works around this issue by just ignoring `-Zprofile` for the `compiler-builtins` crate.
2020-04-25 11:25:48 +02:00
Philipp Hansch
bf73d51959
Add lifetime test case for new_ret_no_self 2020-04-25 10:43:41 +02:00
CrazyRoka
63b451ea25 Renamed lint to match_on_vec_items 2020-04-25 11:34:16 +03:00
Charles Lew
b1fbd797c0 Add missing Send and Sync bounds for linked list Cursor and CursorMut. 2020-04-25 16:33:11 +08:00
bors
a58b1ed44f Auto merge of #71458 - ecstatic-morse:bootstrap-cfg-doc, r=Mark-Simulacrum
Set `--cfg bootstrap` for stage0 rustdoc

Resolves #71455.

With this patch, running `./x.py doc --stage 0 src/libstd` with a clean `build` dir successfully outputs docs for `core`, `alloc` and `std` in under a minute. This kind of turnaround for viewing small changes to the standard library documentation is quite nice, and I think we should endeavour to keep it working. I'm not sure how involved that would be though.

r? @Mark-Simulacrum
2020-04-25 07:26:17 +00:00
Askaholic
19c29c4d9c
Fix comment in docstring example for Error::kind 2020-04-25 04:33:11 +00:00
Josh Stone
4282776b1c Replace filter_map().next() calls with find_map()
These are semantically the same, but `find_map()` is more concise.
2020-04-24 20:03:45 -07:00
Wesley Wiser
1474face6f Add regression test for #26376 2020-04-24 21:02:00 -04:00
bors
40008dcb49 Auto merge of #71539 - Dylan-DPC:rollup-a2vbfh9, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #69456 (fix misleading type annotation diagonstics)
 - #71330 (Only run dataflow for const qualification if type-based check would fail)
 - #71480 (Improve PanicInfo examples readability)
 - #71485 (Add BinaryHeap::retain as suggested in #42849)
 - #71512 (Remove useless "" args)
 - #71527 (Miscellaneous cleanup in `check_consts`)
 - #71534 (Avoid unused Option::map results)
 - #71535 (Fix typos in docs for keyword "in")

Failed merges:

r? @ghost
2020-04-24 23:36:52 +00:00
Dylan DPC
32fb77d951
Rollup merge of #71535 - workingjubilee:jubilee-markdown-fix, r=Mark-Simulacrum
Fix typos in docs for keyword "in"

Erroneous .md formatting was causing the link to not work on the currently-nightly keyword docs for `in`, and also there was a simple typo.
2020-04-25 01:36:05 +02:00
Dylan DPC
d0db0a8caf
Rollup merge of #71534 - cuviper:unused-option-map, r=Mark-Simulacrum
Avoid unused Option::map results

These are changes that would be needed if we add `#[must_use]` to `Option::map`, per #71484.

r? @Mark-Simulacrum
2020-04-25 01:36:04 +02:00
Dylan DPC
2ca6df76a5
Rollup merge of #71527 - ecstatic-morse:debug-check-consts, r=Dylan-DPC
Miscellaneous cleanup in `check_consts`

Just changes `RUSTC_LOG` output.
2020-04-25 01:36:02 +02:00
Dylan DPC
f136ba64cd
Rollup merge of #71512 - Rustin-Liu:rustin-patch-bootstrap, r=Mark-Simulacrum
Remove useless "" args

Signed-off-by: Rustin-Liu <rustin.liu@gmail.com>
2020-04-25 01:36:01 +02:00
Dylan DPC
e20ca112cc
Rollup merge of #71485 - arlopurcell:binary_heap_retain, r=Amanieu
Add BinaryHeap::retain as suggested in #42849

This PR implements retain for BinaryHeap as suggested in #42849.

This is my first PR for Rust, so please let me know if I should be doing anything differently, thanks!
2020-04-25 01:35:59 +02:00
Dylan DPC
a23d8ec8a7
Rollup merge of #71480 - GuillaumeGomez:panic-info-example, r=Dylan-DPC
Improve PanicInfo examples readability

cc @Eijebong

r? @Dylan-DPC
2020-04-25 01:35:57 +02:00
Dylan DPC
f3331cb5b1
Rollup merge of #71330 - ecstatic-morse:const-qualif-lazy, r=oli-obk
Only run dataflow for const qualification if type-based check would fail

This is the optimization discussed in https://github.com/rust-lang/rust/issues/49146#issuecomment-614012476. We wait for `Qualif::in_any_value_of_ty` to return `true` before running dataflow. For bodies that deal mostly with primitive types, this will avoid running dataflow at all during const qualification.

This also removes the `BitSet` used to cache `in_any_value_of_ty` for each local, which was only necessary for an old version of #64470 that also handled promotability.
2020-04-25 01:35:55 +02:00
Dylan DPC
2e2080dee6
Rollup merge of #69456 - contrun:fix-misleading-compiler-error, r=estebank
fix misleading type annotation diagonstics

This solves the method call part of issue https://github.com/rust-lang/rust/issues/69455
2020-04-25 01:35:53 +02:00
CrazyRoka
b0115fb996 Removed unnecessary code, added support for vector references 2020-04-25 00:52:02 +03:00
Amanieu d'Antras
e48b16c33e Update stdarch submodule 2020-04-24 22:15:12 +01:00
Jubilee Young
0689efc411 Fix typos in docs for keyword "in" 2020-04-24 14:13:43 -07:00
Josh Stone
2325c20925 Avoid unused Option::map results
These are changes that would be needed if we add `#[must_use]` to
`Option::map`, per #71484.
2020-04-24 13:58:41 -07:00
Ralf Jung
7d23c3bf8a adjust tests 2020-04-24 16:18:19 -04:00
Ralf Jung
be0e9c2bdc Revert "Move early needs_subst bailout to _after_ linting."
This reverts commit 99492e41b6.
2020-04-24 16:18:07 -04:00
mark
258ebfe476 tidy 2020-04-24 14:48:10 -05:00
CrazyRoka
96e2bc80f5 Added lint match_vec_item 2020-04-24 22:45:15 +03:00
mark
087c0d7ea9 fix a couple more uses of def_kind 2020-04-24 14:26:11 -05:00
Dylan MacKenzie
0e34cb2bdd Remove unused visit_local 2020-04-24 12:07:44 -07:00
Dylan MacKenzie
5a49578b28 Use debug to print illegal operations in a const context 2020-04-24 12:07:33 -07:00
Eduard-Mihai Burtescu
d00f94ffc1 Remove redundant descr/descriptive_variant methods from HIR. 2020-04-24 13:44:08 -05:00
Eduard-Mihai Burtescu
18be5a08a2 Tweak descr for AnonConst and fix article for Use and ExternCrate. 2020-04-24 13:44:08 -05:00
Eduard-Mihai Burtescu
95b3c427d4 Remove Option from the return type of def_kind. 2020-04-24 13:44:07 -05:00
Eduard-Mihai Burtescu
d1db782dff Split out the Generator case from DefKind::Closure. 2020-04-24 13:31:37 -05:00
mark
cff5b998e0 add a few more DefKinds
make Map::def_kind take LocalDefId

Co-Authored-By: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>

crates are DefKind::Mod
2020-04-24 13:31:36 -05:00
Alex Crichton
0546d11528 Fix cross-compiling LLD to different platforms
Looks like the native build system isn't great a coping with this, so
try to work around that with a few workarounds.
2020-04-24 11:18:59 -07:00
Donough Liu
0fc9d3909a Minimize parameter of coerce_borrowed_pointer() 2020-04-25 02:06:53 +08:00
Mark Rousskov
e6cf6a7bfe Take a single root node in range_search
The unsafe code can be justified within range_search, as it makes sure to not
overlap the returned references, but from the callers perspective it's an
entirely safe algorithm and there's no need for the caller to know about the
duplication.
2020-04-24 13:22:52 -04:00
flip1995
485f1999f5
Add rustdoc regression test for the unused_braces lint 2020-04-24 19:15:07 +02:00
flip1995
e42337b608
Quick and dirty fix of the unused_braces lint
Adresses #70814
2020-04-24 19:15:06 +02:00
Dylan MacKenzie
08c8996ff6 Only set *FLAGS env vars if they are not empty 2020-04-24 09:19:58 -07:00
bors
3360cc3a0e Auto merge of #71430 - pietroalbini:bump-openssl-src, r=Mark-Simulacrum
Update openssl-src to 1.1.1g

Fixes CVE-2020-1967.

r? @Mark-Simulacrum
2020-04-24 15:38:40 +00:00
Rustin-Liu
a62a8b00e9 Remove useless "" args
Signed-off-by: Rustin-Liu <rustin.liu@gmail.com>
2020-04-24 22:26:10 +08:00
Matthias Krüger
f9c1acbc45
rustup https://github.com/rust-lang/rust/pull/71215/ 2020-04-24 15:29:31 +02:00
bors
0612568358 Auto merge of #71509 - Dylan-DPC:rollup-n8s37rm, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #71235 (Tweak `'static` suggestion code)
 - #71318 (miri-unleash tests: ensure they fire even with 'allow(const_err)')
 - #71428 (Let compiletest recognize gdb 10.x)
 - #71475 (Miri Frame: use mir::Location to represent position in function)
 - #71476 (more compact way to adjust test sizes for Miri)

Failed merges:

r? @ghost
2020-04-24 12:28:44 +00:00
Dylan DPC
08ca447267
Rollup merge of #71476 - RalfJung:miri-test-sizes, r=kennytm
more compact way to adjust test sizes for Miri

Inspired by @dtolnay
2020-04-24 13:14:26 +02:00
Dylan DPC
aa9053a3e7
Rollup merge of #71475 - RalfJung:miri-frame-loc, r=ecstatic-morse
Miri Frame: use mir::Location to represent position in function

I only recently learned that `Location` exists, and it seems to perfectly fit what Miri needs to represent which statement we are currently executing. :)

r? @ecstatic-morse
2020-04-24 13:14:24 +02:00
Dylan DPC
715948eb51
Rollup merge of #71428 - tromey:gdb-10-parsing, r=tromey
Let compiletest recognize gdb 10.x

git gdb has moved to version 10.  My build prints this as its
--version:

    GNU gdb (GDB) 10.0.50.20200420-git

Unfortunately this conflicts with this comment in compiletest:

    // We limit major to 1 digit, otherwise, on openSUSE, we parse the openSUSE version

This patch changes the version parsing to follow the GNU coding
standard, which accounts for both the openSUSE case as well as
handling gdb 10.

My debuginfo test run now says:

NOTE: compiletest thinks it is using GDB with native rust support
NOTE: compiletest thinks it is using GDB version 10000050

... where previously it failed to find that gdb 10 had rust support.
2020-04-24 13:14:22 +02:00