136794 Commits

Author SHA1 Message Date
bors
efdb859dcd Auto merge of #80873 - ssomers:btree_cleanup_slices_4, r=Mark-Simulacrum
BTreeMap: tougher checks on code using raw into_kv_pointers

r? `@Mark-Simulacrum`
2021-01-16 07:12:12 +00:00
Yuki Okushi
8797986391 Add a regression test for #76281
This has been fixed between 1.47.0-nightly (663d2f5cd 2020-08-22) and 1.47.0-nightly (5180f3da5 2020-08-23).
2021-01-16 14:29:55 +09:00
Scott McMurray
132307c685 Rename as_chunks_mut_unchecked -> as_chunks_unchecked_mut 2021-01-15 21:25:30 -08:00
Scott McMurray
ae4b5a21e6 Add as_rchunks (and friends) to slices 2021-01-15 21:24:38 -08:00
Ömer Sinan Ağacan
b681631eff codegen_cranelift: Fix redundant semicolon warn 2021-01-16 07:17:13 +03:00
Ömer Sinan Ağacan
0ef55570fb Add a test 2021-01-16 06:55:29 +03:00
Ömer Sinan Ağacan
eef383fa00 doctest: Reset errors before dropping the parse session
The first parse is to collect whether the code contains macros, has
`main`, and uses other crates. In that pass we ignore errors as those
will be reported when the test file is actually built.

For that we need to reset errors in the `Diagnostic` otherwise when
dropping it unhandled errors will be reported as compiler bugs.

Fixes #80992
2021-01-16 06:55:29 +03:00
bors
635ccfe01c Auto merge of #77885 - erikdesjardins:probeasm, r=cuviper
Use probe-stack=inline-asm in LLVM 11+

Fixes (?) #74405, related to #43241

r? `@cuviper`
2021-01-16 03:10:52 +00:00
Joshua Nelson
5c4adbe1e1 Add all tier 1 platforms to supported platforms for "if-available"
... and update the comment in `config.toml.example`
2021-01-15 22:08:47 -05:00
Joshua Nelson
6766070422 Allow downloading LLVM on Windows
- Don't ignore packaging `llvm/lib/` for `rust-dev` when LLVM is linked
statically
- Add `link-type.txt` so bootstrap knows whether llvm was linked
  statically or dynamically
- Don't assume CI LLVM is linked dynamically in `bootstrap::config`
- Fall back to dynamic linking if `link-type.txt` doesn't exist
- Fix existing bug that split the output of `llvm-config` on lines, not spaces
- Enable building LLVM tests

  This works around the following llvm bug:

  ```
  llvm-config: error: component libraries and shared library

  llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libgtest.a
  llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libgtest_main.a
  llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libLLVMTestingSupport.a
  thread 'main' panicked at 'command did not execute successfully: "/home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-config" "--libfiles"
  ```

  I'm not sure why llvm-config thinks these are required, but to avoid
  the error, this builds them anyway.

- Temporarily set windows as the try builder. This should be reverted
  before merging.

- Bump version of `download-ci-llvm-stamp`

  `src/llvm-project` hasn't changed, but the generated tarball has.

- Only special case MacOS when dynamic linking. Static linking works fine.
- Store `link-type.txt` to the top-level of the tarball

  This allows writing the link type unconditionally. Previously, bootstrap
  had to keep track of whether the file IO *would* succeed (it would fail
  if `lib/` didn't exist), which was prone to bugs.

- Make `link-type.txt` required

  Anyone downloading this from CI should be using a version of bootstrap
  that matches the version of the uploaded artifacts. So a missing
  link-type indicates a bug in x.py.
2021-01-15 22:07:38 -05:00
Ashley Mannix
c625b979ae
add tracking issue to cell_filter_map 2021-01-16 10:40:36 +10:00
bors
6c869d34ae Auto merge of #81057 - GuillaumeGomez:rollup-yl2kqst, r=GuillaumeGomez
Rollup of 6 pull requests

Successful merges:

 - #77693 (Add test for #59352)
 - #80515 (Improve JS performance by storing length before comparing to it in loops)
 - #81030 (Update mdbook)
 - #81033 (Remove useless `clean::Variant` struct)
 - #81049 (inline: Round word-size cost estimates up)
 - #81054 (Drop a few unneeded borrows)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-01-16 00:13:26 +00:00
Simonas Kazlauskas
af0d099004 Add a regression test for #50041
AFAICT the test case never landed alongside the fix for the issue.
2021-01-16 01:34:28 +02:00
Joshua Nelson
c819a4c025 Don't mark ineffective_unstable_trait_impl as an internal lint
It's not an internal lint:
- It's not in the rustc::internal lint group
- It's on unconditionally, because it actually lints `staged_api`, not
  the compiler

This fixes a bug where `#[deny(rustc::internal)]` would warn that
`rustc::internal` was an unknown lint.
2021-01-15 17:31:10 -05:00
Guillaume Gomez
f8b1baac11
Rollup merge of #81054 - LingMan:rem_as_ref, r=jyn514
Drop a few unneeded borrows

`@rustbot` modify labels +C-cleanup +T-compiler
2021-01-15 23:31:03 +01:00
Guillaume Gomez
1a194d90a2
Rollup merge of #81049 - tmiasko:layout-cost, r=oli-obk
inline: Round word-size cost estimates up
2021-01-15 23:31:01 +01:00
Guillaume Gomez
97b736c1a5
Rollup merge of #81033 - jyn514:nested-variant, r=CraftSpider
Remove useless `clean::Variant` struct

It had exactly one field and no special behavior, so there was no point in having it.

r? `@CraftSpider`
2021-01-15 23:31:00 +01:00
Guillaume Gomez
38772f1491
Rollup merge of #81030 - ehuss:update-mdbook, r=Mark-Simulacrum
Update mdbook

Just a few small fixes and changes, see https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-046 for a list.
2021-01-15 23:30:58 +01:00
Guillaume Gomez
033faf9499
Rollup merge of #80515 - GuillaumeGomez:js-for-loop-perf, r=Nemo157,jyn514
Improve JS performance by storing length before comparing to it in loops

Since https://github.com/rust-lang/rust/pull/79052 is quite complicated to review, I suggested to split into smaller parts. This first part is mostly about saving the array length into a variable (I tried to not change anything else as much as possible 😃 ).

r? `@jyn514`
2021-01-15 23:30:53 +01:00
Guillaume Gomez
b7a9d6a51f
Rollup merge of #77693 - bugadani:issue-59352, r=oli-obk
Add test for #59352

Issue #59352 reported an optimization regression with rustc 1.32.0+. That regression could be tracked to a change that caused a function to miss the size limit of llvm's inlining, which results in an unreachable panicing branch being generated.
Enabling mir inline solves the issue, but is currently only done for `mir-opt-level>=2`.

This PR adds a test that can serve as a regression test for #59352, if/when mir inlining gets mature enough for opt-level 1, or some other optimization can remove the panic.
2021-01-15 23:30:51 +01:00
Smitty
e10555c658 Re-enable all num tests on WASM
This was partially done by #47365, but a few tests
were missed in that PR.
2021-01-15 16:58:44 -05:00
Guillaume Gomez
e7276006ea Use Array.some instead of onEach to have better performance 2021-01-15 22:52:33 +01:00
Guillaume Gomez
7cd8128da3 Improve JS performance by storing length before comparing to it in loops 2021-01-15 22:52:33 +01:00
bors
fcbd305ee9 Auto merge of #80602 - tgnottingham:cratemetadata_you_aint_special, r=michaelwoerister
Remove DepKind::CrateMetadata and pre-allocation of DepNodes

Remove much of the special-case handling around crate metadata
dependency tracking by replacing `DepKind::CrateMetadata` and the
pre-allocation of corresponding `DepNodes` with on-demand invocation
of the `crate_hash` query.
2021-01-15 21:13:35 +00:00
Joshua Nelson
5053db7c00 Don't make tools responsible for checking unknown and renamed lints
Previously, clippy (and any other tool emitting lints) had to have their
own separate UNKNOWN_LINTS pass, because the compiler assumed any tool
lint could be valid. Now, as long as any lint starting with the tool
prefix exists, the compiler will warn when an unknown lint is present.
2021-01-15 16:08:28 -05:00
Han Mertens
32a20f4433 Change rebuild heuristic in BinaryHeap::append
See #77433 for why the new heuristic was chosen.

Fixes #77433
2021-01-15 21:50:05 +01:00
LingMan
ba1f036c7a Drop a few unneeded borrows 2021-01-15 21:29:28 +01:00
Joshua Nelson
d11855a8ce Rename VariantKind -> Variant
There's no `Variant`, so it seems silly to have `Kind`.
2021-01-15 13:55:03 -05:00
Joshua Nelson
dd459a2be6 Remove useless clean::Variant struct
It had exactly one field and no special behavior, so there was no point.
2021-01-15 13:54:59 -05:00
bors
bc39d4d9c5 Auto merge of #81043 - hyd-dev:update-miri, r=RalfJung
Update Miri

Fixes #80907.

r? `@RalfJung`
2021-01-15 18:17:09 +00:00
Rune Tynan
31b17f513b
Add warning to compare.py about error messages 2021-01-15 12:50:05 -05:00
Rune Tynan
e42c1b9c2a
Fix JSON test 2021-01-15 12:50:04 -05:00
Rune Tynan
2a0c9e28cb
Address nit 2021-01-15 12:50:04 -05:00
Rune Tynan
e3274fd148
Remove doctree::Import 2021-01-15 12:49:45 -05:00
Dániel Buga
a0c5857131 Add test for #59352 2021-01-15 18:44:50 +01:00
John-John Tedro
e8757af311 Use Result and rename to filter_map
The use of Result allows for making use of a reconstructed original value on failed
projections.
2021-01-15 17:52:48 +01:00
1000teslas
3e9c95b9d4
Update compiler/rustc_mir/src/borrow_check/diagnostics/conflict_errors.rs
Co-authored-by: Esteban Kuber <estebank@users.noreply.github.com>
2021-01-16 03:32:54 +11:00
hyd-dev
f3a6cad625
Update Miri
Co-authored-by: Ralf Jung <post@ralfj.de>
2021-01-16 00:04:32 +08:00
bors
e48eb37b94 Auto merge of #80974 - ehuss:update-cargo, r=ehuss
Update cargo

10 commits in 329895f5b52a358e5d9ecb26215708b5cb31d906..a73e5b7d567c3036b296fc6b33ed52c5edcd882e
2021-01-06 00:01:52 +0000 to 2021-01-12 23:45:39 +0000
- Sort available binaries when multiple (rust-lang/cargo#9066)
- Fix misspelling of environment variable (rust-lang/cargo#9067)
- Remove statement that opt-level 0 turns on debug (rust-lang/cargo#9070)
- Fix `links` vars showing up for testing packages (rust-lang/cargo#9065)
- Fix unit_for computation on proc-macros in shared workspace. (rust-lang/cargo#9059)
- Document `could not find the github team` error on `cargo owner --add` (rust-lang/cargo#9000)
- Unstable section of cargo/config.toml takes bools (rust-lang/cargo#9057)
- [doc] add note about empty environment variables for missing manifest keys (rust-lang/cargo#9053)
- another round of clippy lint fixes (rust-lang/cargo#9051)
- Updated display message of cargo metadata --help (rust-lang/cargo#9050)
2021-01-15 15:26:05 +00:00
John-John Tedro
0660b8b5a5 Introduce {Ref, RefMut}::try_map for optional projections 2021-01-15 13:47:00 +01:00
bors
18ec4a9a74 Auto merge of #80625 - jyn514:python-what-python, r=Mark-Simulacrum
Choose the version of python at runtime (portable version)

r? `@Mark-Simulacrum`

Fixed version of https://github.com/rust-lang/rust/pull/80585. The goal is to avoid giving 'error: python3 required' when downloading LLVM from CI and instead default to python3 where possible.

This has some minor overhead when you have `python` as python2, but almost nothing compared to actually running the build.
2021-01-15 12:26:09 +00:00
flip1995
3e236b3d1d
Merge commit '953f024793dab92745fee9cd2c4dee6a60451771' into clippyup 2021-01-15 10:56:44 +01:00
bors
953f024793 Auto merge of #6586 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: FP fix: [`needless_return`] no longer triggers inside macros.
2021-01-15 09:48:15 +00:00
flip1995
f18cf82ca8
Don't trigger needless_return lint in macros 2021-01-15 10:41:29 +01:00
flip1995
0c5ba9a883
Bump nightly version to 2021-01-15 2021-01-15 10:40:17 +01:00
flip1995
9bd037d0b5
Merge remote-tracking branch 'upstream/master' into rustup 2021-01-15 10:39:53 +01:00
bors
4e208f6a3a Auto merge of #81035 - JohnTitor:rollup-9m03awf, r=JohnTitor
Rollup of 5 pull requests

Successful merges:

 - #80254 (Don't try to add nested predicate to Rustdoc auto-trait `ParamEnv`)
 - #80834 (Remove unreachable panics from VecDeque::{front/back}[_mut])
 - #80944 (Use Option::map_or instead of `.map(..).unwrap_or(..)`)
 - #81008 (Don't ICE when computing a layout of a generator tainted by errors)
 - #81023 (Remove doctree::Variant)

Failed merges:

 - #81033 (Remove useless `clean::Variant` struct)

r? `@ghost`
`@rustbot` modify labels: rollup
2021-01-15 09:27:21 +00:00
Yuki Okushi
7286be15fa
Rollup merge of #81023 - CraftSpider:rustdoc-remove-variant, r=jyn514
Remove doctree::Variant

This was easy, probably was missed when whatever used it was removed
2021-01-15 18:26:18 +09:00
Yuki Okushi
ce06df2e4a
Rollup merge of #81008 - tmiasko:generator-layout-err, r=tmandry
Don't ICE when computing a layout of a generator tainted by errors

Fixes #80998.
2021-01-15 18:26:16 +09:00
Yuki Okushi
a584d87417
Rollup merge of #80944 - LingMan:map_or, r=nagisa
Use Option::map_or instead of `.map(..).unwrap_or(..)`

``@rustbot`` modify labels +C-cleanup +T-compiler
2021-01-15 18:26:14 +09:00