Commit graph

129339 commits

Author SHA1 Message Date
Antoine Martin
ab614b0f01 Implement "if-available" option for download-ci-llvm 2020-10-13 18:00:25 +02:00
bors
d772879df3 Auto merge of #77762 - pietroalbini:dist-build-manifest, r=Mark-Simulacrum
Dist build manifest

This PR makes two changes that should remove a significant chunk of the time spent in our release process: cloning the `rust-lang/rust` monorepo, all its submodules, and building `bootstrap` to then invoke `build-manifest`:

* `build-manifest` doesn't rely on a clone of the monorepo being present anymore. The only remaining bit of information it fetched from it (the Rust version) is instead bundled in the binary.
* A new "component" is added, `build-manifest`. That component includes a prebuilt version of the tool, and it's *not* included in the Rustup manifest. This will allow `promote-release` to directly invoke the tool without interacting with our build system.
* The Linux x86_64 CI is changed to also build the component mentioned above. It's the only CI builder tasked to do so, and to cleanly support this a new `--include-default-paths` flag was added to `./x.py`.
* The `BUILD_MANIFEST_NUM_THREADS` environment variable is added to configure the number of threads at runtime.

This PR is best reviewed commit-by-commit.
r? `@Mark-Simulacrum`
2020-10-13 12:11:47 +00:00
bors
2d6eccdb67 Auto merge of #77755 - bugadani:perf-calc-dtor, r=ecstatic-morse
Monomorphize `calculate_dtor` instead of using function pointers

Change `calculate_dtor` to avoid dynamic dispatching. This change allows the empty functions to be optimized away.

Based on the discussion in https://github.com/rust-lang/rust/pull/77754#discussion_r502498970, the performance impact of this change was measured.

Perf run results: https://perf.rust-lang.org/compare.html?start=7bc5839e99411aad9061a632b62075d1346cbb3b&end=ffec759ae9bbc4d6d2235ff40ade6723a85bc7cc
2020-10-13 10:19:30 +00:00
bors
e8529c79cc Auto merge of #77759 - tblah:fix_riscv_qemu, r=pietroalbini
ci: Fix riscv64gc linux test QEMU fault, plus doc link fix

Newer versions of the `qemu` package (used for riscv64gc-unknown-linux-gnu testing) don't work with the version of the RISC-V bootloader we were using. a4a0342cf5  bumps to a revision which should fix the problem.

e0b033e965 fixes a documentation failure I encountered while running the tests.
2020-10-13 08:27:01 +00:00
bors
ec40181913 Auto merge of #77639 - jagill:stabilize-slice_partition_at_index, r=Amanieu
Stabilize slice_partition_at_index

This stabilizes slice_partition_at_index, including renaming `partition_at_index*` -> `select_nth_unstable*`.

Closes #55300

r? `@Amanieu`
2020-10-13 06:33:52 +00:00
bors
4d63435aae Auto merge of #76196 - r-52:r-coverage-allow-missing-docs, r=jyn514
rustdoc: skip #[allow(missing docs)] for docs in coverage report

During the document coverage reporting with:
```bash
rustdoc something.rs -Z unstable-options --show-coverage
```

the coverage report counts code that is marked with `#[allow(missing_docs)]` for the calculation, which outputs lower numbers in the coverage report even though these parts should be ignored for the calculation.

Right now I'm not sure how this can be tested (CI)? (I verified it by hand and ran the unit tests)

r? `@jyn514`

**Reference:** Fixes #76121
2020-10-13 04:41:08 +00:00
bors
f54072bb81 Auto merge of #76830 - Artoria2e5:tune, r=nagisa
Pass tune-cpu to LLVM

I think this is how it should work...

See https://internals.rust-lang.org/t/expose-tune-cpu-from-llvm/13088 for the background. Or the documentation diff.
2020-10-13 02:49:00 +00:00
bors
afb4514c09 Auto merge of #77796 - jonas-schievink:switchint-refactor, r=oli-obk
Refactor how SwitchInt stores jump targets

Closes https://github.com/rust-lang/rust/issues/65693
2020-10-13 00:57:03 +00:00
bors
abbdec3be6 Auto merge of #77792 - matthewjasper:instrument-trait-selection, r=oli-obk
Use tracing spans in rustc_trait_selection

Spans are very helpful when debugging this code. It's also hot enough to make a good benchmark.

r? `@oli-obk`
2020-10-12 23:04:55 +00:00
bors
8dae8cdcc8 Auto merge of #77847 - Xanewok:update-rls, r=Xanewok
Update RLS

cc #77819
Fixes #77810

r? `@ghost`
2020-10-12 21:03:35 +00:00
bors
16788545e7 Auto merge of #77867 - JohnTitor:rollup-0odg1n4, r=JohnTitor
Rollup of 10 pull requests

Successful merges:

 - #77550 (add shims for WithOptConstParam query calls)
 - #77699 (Add word wrap for short descriptions)
 - #77724 (Implement `AsRawFd` for `StdinLock` etc. on WASI.)
 - #77746 (Fix `x.py setup` sets `changelog-seen`)
 - #77784 (Fix intra-docs link in core::ffi::VaList)
 - #77811 (rustdoc: Make some functions private that don't need to be public)
 - #77818 (Mono collector: replace pair of ints with Range)
 - #77831 (Use std methods on char instead of open coding them)
 - #77852 (update url in bootstrap README (gcc-rs -> cc-rs))
 - #77863 (Remove `mark-i-m` from rustc-dev-guide maintainers)

Failed merges:

r? `@ghost`
2020-10-12 19:09:08 +00:00
Yuki Okushi
984f78b7ed
Rollup merge of #77863 - JohnTitor:remove-mark-i-m, r=pietroalbini
Remove `mark-i-m` from rustc-dev-guide maintainers

They aren't a maintainer anymore and it causes failure on our CI now: https://github.com/rust-lang-ci/rust/runs/1243600577
2020-10-13 04:08:07 +09:00
Yuki Okushi
93ec29b0cb
Rollup merge of #77852 - 12101111:fix-bootstrap-doc, r=jonas-schievink
update url in bootstrap README (gcc-rs -> cc-rs)

gcc-rs is renamed to cc-rs 3 years ago.
2020-10-13 04:08:05 +09:00
Yuki Okushi
e40ae080ac
Rollup merge of #77831 - LingMan:use_std, r=jonas-schievink
Use std methods on char instead of open coding them
2020-10-13 04:08:03 +09:00
Yuki Okushi
233319fc65
Rollup merge of #77818 - bugadani:range, r=oli-obk
Mono collector: replace pair of ints with Range

I found the initial PR (#33171) that introduced this piece of code but I didn't find any information about why a tuple was preferred over a `Range<usize>`.

I'm hoping there are no technical reasons to not do this.
2020-10-13 04:08:02 +09:00
Yuki Okushi
fe0d5b6828
Rollup merge of #77811 - jyn514:private, r=GuillaumeGomez
rustdoc: Make some functions private that don't need to be public

r? @GuillaumeGomez
2020-10-13 04:08:00 +09:00
Yuki Okushi
71d8c10886
Rollup merge of #77784 - aDotInTheVoid:ffi-sealed_trait-intra-docs, r=jyn514
Fix intra-docs link in core::ffi::VaList

At some point, `VaList` was changes to be a [wrapper](https://github.com/rust-lang/rust/blob/1661f77/library/core/src/ffi.rs#L177-L201) over `VaListImpl`, and now the `Arg` method exists on [`VaListImpl`](https://github.com/rust-lang/rust/blob/1661f77/library/core/src/ffi.rs#L333-L336). This PR fixes the intradoc links so that when `--document-private-items` is ran on std (via [patch](https://gist.github.com/aDotInTheVoid/42c82306210203f9c9093c952b765ab4)), it works
2020-10-13 04:07:58 +09:00
Yuki Okushi
dde997710a
Rollup merge of #77746 - winnayx:issue-77572-fix, r=jyn514
Fix `x.py setup` sets `changelog-seen`

Fixes #77572 by setting changelog-seen in setup.rs
2020-10-13 04:07:56 +09:00
Yuki Okushi
ad6e179060
Rollup merge of #77724 - sunfishcode:stdinlock-asrawfd, r=alexcrichton
Implement `AsRawFd` for `StdinLock` etc. on WASI.

WASI implements `AsRawFd` for `Stdin`, `Stdout`, and `Stderr`, so
implement it for `StdinLock`, `StdoutLock`, and `StderrLock` as well.

r? @alexcrichton
2020-10-13 04:07:54 +09:00
Yuki Okushi
a6cc660774
Rollup merge of #77699 - GuillaumeGomez:word-wrap, r=XAMPPRocky
Add word wrap for short descriptions

Fixes #77652

![Screenshot from 2020-10-08 13-26-18](https://user-images.githubusercontent.com/3050060/95452770-11845280-096a-11eb-80da-723da85261fa.png)

cc @WaffleLapkin
r? @jyn514
2020-10-13 04:07:52 +09:00
Yuki Okushi
687d7646de
Rollup merge of #77550 - lcnr:ty-dep-path-ct-cleanup, r=ecstatic-morse
add shims for WithOptConstParam query calls

r? @ecstatic-morse @eddyb
2020-10-13 04:07:50 +09:00
Yuki Okushi
cabedfebcb Remove mark-i-m from rustc-dev-guide maintainers 2020-10-13 03:13:00 +09:00
Pietro Albini
0b7ee9d522
build-manifest: bundle the rustc version in the binary 2020-10-12 19:54:40 +02:00
Pietro Albini
cbded3e193
build-manifest: use var_os instead of var to check if vars exist
This will prevent the tool mistakenly ignoring the variables if they
happen to contain non-utf8 data.
2020-10-12 19:53:29 +02:00
Pietro Albini
f3d07b36ed
build-manifest: allow configuring the number of threads 2020-10-12 19:53:28 +02:00
Pietro Albini
24d04ccd39
ci: also build the build-manifest component on dist-x86_64-linux 2020-10-12 19:53:26 +02:00
Pietro Albini
60ae018bf1
bootstrap: add --include-default-paths to ./x.py 2020-10-12 19:53:25 +02:00
Pietro Albini
2f387e9d11
bootstrap: add disabled by default build-manifest dist component 2020-10-12 19:53:24 +02:00
Pietro Albini
25cc75c924
build-manifest: accept the Rust version instead of the monorepo path
This commit changes the way build-manifest is invoked, to let it accept
the Rust version directly instead of requiring the path of the Rust
monorepo and letting build-manifest figure out the path on its own.

This allows to run build-manifest without a clone of the monorepo.
2020-10-12 19:53:22 +02:00
bors
f3ab6f0584 Auto merge of #77854 - pietroalbini:ETOOMANYCHANNELS, r=Mark-Simulacrum
build-manifest: stop generating numbered channel names except for stable

This fixes numbered channel names being created for the nightly channel, and once the root cause of this rides the trains, for beta.

r? `@Mark-Simulacrum`
2020-10-12 15:50:36 +00:00
Pietro Albini
5973fd42a2
build-manifest: stop generating numbered channel names except for stable
This fixes numbered channel names being created for the nightly channel,
and once the root cause of this rides the trains, for beta.
2020-10-12 17:39:13 +02:00
Guillaume Gomez
9f1048d723 Add word-wrap rule for short descriptions 2020-10-12 15:41:37 +02:00
12101111
5d44402345 update url in bootstrap README 2020-10-12 21:17:11 +08:00
Guillaume Gomez
685444008b Extend test to ensure that items inherit lint level from the parent 2020-10-12 14:32:41 +02:00
bors
d6b5ffb5b4 Auto merge of #77821 - tmiasko:discriminant-value-is-safe, r=jonas-schievink
Remove unnecessary unsafe block around calls to discriminant_value

Since 63793 the discriminant_value intrinsic is safe to call. Remove
unnecessary unsafe block around calls to this intrinsic in built-in
derive macros.
2020-10-12 12:12:54 +00:00
Guillaume Gomez
5d20e1aa03 Improve lint level handling 2020-10-12 13:50:31 +02:00
Guillaume Gomez
22465b35a6 Apply same treatment to MISSING_DOC_CODE_EXAMPLES 2020-10-12 13:46:37 +02:00
Guillaume Gomez
b31f5d05b1 Inherit lint level from parents 2020-10-12 13:46:37 +02:00
Roman
02e6b861eb rustdoc: skip allow missing doc in cover. report
During the document coverage reporting with
```bash
rustdoc something.rs -Z unstable-options --show-coverage
```

the coverage report also includes parts of the code that are marked
with `#[allow(missing_docs)]`, which outputs lower numbers in the
coverage report even though these parts should be ignored for the
calculation.

Co-authored-by: Joshua Nelson <joshua@yottadb.com>
2020-10-12 13:46:37 +02:00
Igor Matuszewski
1852392120 Update RLS 2020-10-12 13:10:43 +02:00
bors
d9b931669b Auto merge of #75914 - arlosi:aarch64-ci, r=pietroalbini
Promote aarch64-pc-windows-msvc to Tier 2 Development Platform

Adds a GitHub Actions CI build for `aarch64-pc-windows-msvc` via cross-compilation on an x86_64 host.

This promotes `aarch64-pc-windows-msvc` from a Tier 2 Compilation Target (std) to a Tier 2 Development Platform (std+rustc+cargo+tools).

Fixes #72881

r? `@pietroalbini`
2020-10-12 10:17:48 +00:00
bors
a8d6da3f57 Auto merge of #77837 - Aaron1011:bump-miri-backtrace, r=RalfJung
Bump miri

Fixes https://github.com/rust-lang/rust/issues/77791

r? `@RalfJung`
2020-10-12 08:25:38 +00:00
bors
62cbe81b8a Auto merge of #75956 - jonas-schievink:lto-opt-sz, r=tmiasko
Fix -Clinker-plugin-lto with opt-levels s and z

Pass s and z as `-plugin-opt=O2` to the linker. This is what `-Os` and `-Oz` correspond to, apparently.

Fixes https://github.com/rust-lang/rust/issues/75940
2020-10-12 06:10:50 +00:00
bors
63962f0203 Auto merge of #77819 - mati865:crossbeam-ub, r=Mark-Simulacrum
Update crossbeam-channel to avoid UB

More info: https://github.com/RustSec/advisory-db/pull/425
2020-10-12 04:18:56 +00:00
James Gill
01ac5a97c9 Stabilize slice_select_nth_unstable
This stabilizes the functionality in slice_partition_at_index,
but under the names `select_nth_unstable*`.  The functions
`partition_at_index*` are left as deprecated, to be removed in
a later release.

Closes #55300
2020-10-12 00:07:41 -04:00
bors
1fe9b7f3fe Auto merge of #77790 - jyn514:undivided, r=ollie27
Show summary lines on cross-crate re-exports

See my write-up in https://github.com/rust-lang/rust/issues/77783#issuecomment-706551743 for what's going on here.

Fixes https://github.com/rust-lang/rust/issues/77783

r? `@ollie27`
2020-10-12 02:20:04 +00:00
Joshua Nelson
41878285e8 Remove unnecessary RefCell for doc_strings
This was there for `Divider` and is no longer necessary.
2020-10-11 20:31:00 -04:00
Joshua Nelson
1772f2d2dc Show summary lines on cross-crate re-exports
This removes the unnecessary `DocFragmentKind::Divider` in favor of just
using the logic I actually want in `collapse_docs`.
2020-10-11 20:27:17 -04:00
Jonas Schievink
32cf035046 Use no-prefer-dynamic 2020-10-12 01:51:40 +02:00
Aaron Hill
5e34bddc1b
Bump miri 2020-10-11 19:45:15 -04:00