Skip to content

Commit b23d3af

Browse files
committed
Auto merge of #63062 - Centril:rollup-1vjfw8s, r=Centril
Rollup of 4 pull requests Successful merges: - #62550 (Implement RFC 2707 + Parser recovery for range patterns) - #62759 (Actually add rustc-guide to toolstate, don't fail builds for the guide) - #62809 (rustc: Update wasm32 support for LLVM 9) - #62974 (bump crossbeam-epoch dependency) Failed merges: r? @ghost
2 parents 9a239ef + 11d0be7 commit b23d3af

File tree

106 files changed

+1736
-1023
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+1736
-1023
lines changed

Cargo.lock

+20-5
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ name = "crossbeam-deque"
590590
version = "0.6.3"
591591
source = "registry+https://github.com/rust-lang/crates.io-index"
592592
dependencies = [
593-
"crossbeam-epoch 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
593+
"crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
594594
"crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
595595
]
596596

@@ -610,15 +610,15 @@ dependencies = [
610610

611611
[[package]]
612612
name = "crossbeam-epoch"
613-
version = "0.7.0"
613+
version = "0.7.2"
614614
source = "registry+https://github.com/rust-lang/crates.io-index"
615615
dependencies = [
616616
"arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
617617
"cfg-if 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
618618
"crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
619619
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
620-
"memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
621-
"scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
620+
"memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
621+
"scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
622622
]
623623

624624
[[package]]
@@ -1671,6 +1671,14 @@ name = "memoffset"
16711671
version = "0.2.1"
16721672
source = "registry+https://github.com/rust-lang/crates.io-index"
16731673

1674+
[[package]]
1675+
name = "memoffset"
1676+
version = "0.5.1"
1677+
source = "registry+https://github.com/rust-lang/crates.io-index"
1678+
dependencies = [
1679+
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
1680+
]
1681+
16741682
[[package]]
16751683
name = "mime"
16761684
version = "0.3.13"
@@ -3298,6 +3306,11 @@ name = "scopeguard"
32983306
version = "0.3.3"
32993307
source = "registry+https://github.com/rust-lang/crates.io-index"
33003308

3309+
[[package]]
3310+
name = "scopeguard"
3311+
version = "1.0.0"
3312+
source = "registry+https://github.com/rust-lang/crates.io-index"
3313+
33013314
[[package]]
33023315
name = "security-framework"
33033316
version = "0.3.1"
@@ -4316,7 +4329,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
43164329
"checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3"
43174330
"checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13"
43184331
"checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150"
4319-
"checksum crossbeam-epoch 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f10a4f8f409aaac4b16a5474fb233624238fcdeefb9ba50d5ea059aab63ba31c"
4332+
"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
43204333
"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
43214334
"checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9"
43224335
"checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c"
@@ -4426,6 +4439,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
44264439
"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
44274440
"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
44284441
"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
4442+
"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
44294443
"checksum mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425"
44304444
"checksum mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed"
44314445
"checksum minifier 0.0.30 (registry+https://github.com/rust-lang/crates.io-index)" = "4c909e78edf61f3aa0dd2086da168cdf304329044bbf248768ca3d20253ec8c0"
@@ -4528,6 +4542,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
45284542
"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
45294543
"checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
45304544
"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
4545+
"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
45314546
"checksum security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eee63d0f4a9ec776eeb30e220f0bc1e092c3ad744b2a379e3993070364d3adc2"
45324547
"checksum security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9636f8989cbf61385ae4824b98c1aaa54c994d7d8b41f11c601ed799f0549a56"
45334548
"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"

src/ci/docker/x86_64-gnu-tools/checkregression.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
#!/usr/bin/env python
22
# -*- coding: utf-8 -*-
33

4+
## This script has two purposes: detect any tool that *regressed*, which is used
5+
## during the week before the beta branches to reject PRs; and detect any tool
6+
## that *changed* to see if we need to update the toolstate repo.
7+
48
import sys
59
import json
610

11+
# Regressions for these tools during the beta cutoff week do not cause failure.
12+
# See `status_check` in `checktools.sh` for tools that have to pass on the
13+
# beta/stable branches.
14+
REGRESSION_OK = ["rustc-guide", "miri", "embedded-book"]
15+
716
if __name__ == '__main__':
817
os_name = sys.argv[1]
918
toolstate_file = sys.argv[2]
@@ -32,7 +41,8 @@
3241
'The state of "{}" has {} from "{}" to "{}"'
3342
.format(tool, verb, state, new_state)
3443
)
35-
regressed = True
44+
if not (verb == 'regressed' and tool in REGRESSION_OK):
45+
regressed = True
3646

3747
if regressed:
3848
sys.exit(1)

src/ci/docker/x86_64-gnu-tools/checktools.sh

+15-4
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ python2.7 "$X_PY" test --no-fail-fast \
2525
src/doc/rust-by-example \
2626
src/doc/embedded-book \
2727
src/doc/edition-guide \
28+
src/doc/rustc-guide \
2829
src/tools/clippy \
2930
src/tools/rls \
3031
src/tools/rustfmt \
@@ -41,7 +42,7 @@ check_tool_failed() {
4142
}
4243

4344
# This function checks that if a tool's submodule changed, the tool's state must improve
44-
verify_status() {
45+
verify_submodule_changed() {
4546
echo "Verifying status of $1..."
4647
if echo "$CHANGED_FILES" | grep -q "^M[[:blank:]]$2$"; then
4748
echo "This PR updated '$2', verifying if status is 'test-pass'..."
@@ -66,7 +67,7 @@ verify_status() {
6667
check_dispatch() {
6768
if [ "$1" = submodule_changed ]; then
6869
# ignore $2 (branch id)
69-
verify_status $3 $4
70+
verify_submodule_changed $3 $4
7071
elif [ "$2" = beta ]; then
7172
echo "Requiring test passing for $3..."
7273
if check_tool_failed "$3"; then
@@ -75,7 +76,12 @@ check_dispatch() {
7576
fi
7677
}
7778

78-
# list all tools here
79+
# List all tools here.
80+
# This function gets called with "submodule_changed" for each PR that changed a submodule,
81+
# and with "beta_required" for each PR that lands on beta/stable.
82+
# The purpose of this function is to *reject* PRs if a tool is not "test-pass" and
83+
# (a) the tool's submodule has been updated, or (b) we landed on beta/stable and the
84+
# tool has to "test-pass" on that branch.
7985
status_check() {
8086
check_dispatch $1 beta book src/doc/book
8187
check_dispatch $1 beta nomicon src/doc/nomicon
@@ -85,7 +91,10 @@ status_check() {
8591
check_dispatch $1 beta rls src/tools/rls
8692
check_dispatch $1 beta rustfmt src/tools/rustfmt
8793
check_dispatch $1 beta clippy-driver src/tools/clippy
88-
# these tools are not required for beta to successfully branch
94+
# These tools are not required on the beta/stable branches, but they *do* cause
95+
# PRs to fail if a submodule update does not fix them.
96+
# They will still cause failure during the beta cutoff week, unless `checkregression.py`
97+
# exempts them from that.
8998
check_dispatch $1 nightly miri src/tools/miri
9099
check_dispatch $1 nightly embedded-book src/doc/embedded-book
91100
check_dispatch $1 nightly rustc-guide src/doc/rustc-guide
@@ -97,12 +106,14 @@ status_check() {
97106
status_check "submodule_changed"
98107

99108
CHECK_NOT="$(readlink -f "$(dirname $0)/checkregression.py")"
109+
# This callback is called by `commit_toolstate_change`, see `repo.sh`.
100110
change_toolstate() {
101111
# only update the history
102112
if python2.7 "$CHECK_NOT" "$OS" "$TOOLSTATE_FILE" "_data/latest.json" changed; then
103113
echo 'Toolstate is not changed. Not updating.'
104114
else
105115
if [ $SIX_WEEK_CYCLE -ge 35 ]; then
116+
# Reject any regressions during the week before beta cutoff.
106117
python2.7 "$CHECK_NOT" "$OS" "$TOOLSTATE_FILE" "_data/latest.json" regressed
107118
fi
108119
sed -i "1 a\\

src/ci/docker/x86_64-gnu-tools/repo.sh

+7
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ commit_toolstate_change() {
4242
MESSAGE_FILE="$1"
4343
shift
4444
for RETRY_COUNT in 1 2 3 4 5; do
45+
# Call the callback.
46+
# - If we are in the `auto` branch (pre-landing), this is called from `checktools.sh` and
47+
# the callback is `change_toolstate` in that file. The purpose of this is to publish the
48+
# test results (the new commit-to-toolstate mapping) in the toolstate repo.
49+
# - If we are in the `master` branch (post-landing), this is called by the CI pipeline
50+
# and the callback is `src/tools/publish_toolstate.py`. The purpose is to publish
51+
# the new "current" toolstate in the toolstate repo.
4552
"$@"
4653
# `git commit` failing means nothing to commit.
4754
FAILURE=0

src/doc/unstable-book/src/language-features/slice-patterns.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ matched against that pattern. For example:
1717
fn is_symmetric(list: &[u32]) -> bool {
1818
match list {
1919
&[] | &[_] => true,
20-
&[x, ref inside.., y] if x == y => is_symmetric(inside),
20+
&[x, ref inside @ .., y] if x == y => is_symmetric(inside),
2121
&[..] => false,
2222
}
2323
}

0 commit comments

Comments
 (0)