From 77d13f578ab1c17b3c21221e840c98caf7048ba0 Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Wed, 24 Mar 2021 10:16:07 -0400 Subject: [PATCH 1/4] [beta] initial branch off --- src/ci/run.sh | 2 +- src/stage0.txt | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ci/run.sh b/src/ci/run.sh index 1958b6ee41d..02d868f8f2a 100755 --- a/src/ci/run.sh +++ b/src/ci/run.sh @@ -68,7 +68,7 @@ fi # # FIXME: need a scheme for changing this `nightly` value to `beta` and `stable` # either automatically or manually. -export RUST_RELEASE_CHANNEL=nightly +export RUST_RELEASE_CHANNEL=beta # Always set the release channel for bootstrap; this is normally not important (i.e., only dist # builds would seem to matter) but in practice bootstrap wants to know whether we're targeting diff --git a/src/stage0.txt b/src/stage0.txt index 4a53d1a60d1..89a65788d34 100644 --- a/src/stage0.txt +++ b/src/stage0.txt @@ -12,14 +12,14 @@ # stable release's version number. `date` is the date where the release we're # bootstrapping off was released. -date: 2021-02-14 -rustc: beta +date: 2021-03-23 +rustc: 1.51.0 # We use a nightly rustfmt to format the source because it solves some # bootstrapping issues with use of new syntax in this repo. If you're looking at # the beta/stable branch, this key should be omitted, as we don't want to depend # on rustfmt from nightly there. -rustfmt: nightly-2021-01-28 +#rustfmt: nightly-2021-01-28 # When making a stable release the process currently looks like: # @@ -39,4 +39,4 @@ rustfmt: nightly-2021-01-28 # looking at a beta source tarball and it's uncommented we'll shortly comment it # out. -#dev: 1 +dev: 1 From 9157430d6223e0c50cf50a13ec4e38fad2a8ec37 Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Tue, 17 Nov 2020 16:00:41 -0500 Subject: [PATCH 2/4] Ignore failures of RLS on aarch64 Windows --- src/bootstrap/dist.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs index 802b5c99500..78b1d905459 100644 --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs @@ -1029,7 +1029,13 @@ impl Step for Rls { let rls = builder .ensure(tool::Rls { compiler, target, extra_features: Vec::new() }) .or_else(|| { - missing_tool("RLS", builder.build.config.missing_tools); + // We ignore failure on aarch64 Windows because RLS currently + // fails to build, due to winapi 0.2 not supporting aarch64. + missing_tool( + "RLS", + builder.build.config.missing_tools + || (target.triple.contains("aarch64") && target.triple.contains("windows")), + ); None })?; From 692454d58353a25e2b8289dd925bf33d43a44a42 Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Tue, 6 Oct 2020 22:36:12 -0400 Subject: [PATCH 3/4] Update fulldeps test --- .../ui-fulldeps/session-derive-errors.stderr | 47 +++++++------------ 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/src/test/ui-fulldeps/session-derive-errors.stderr b/src/test/ui-fulldeps/session-derive-errors.stderr index c1be151f1c1..303268fae27 100644 --- a/src/test/ui-fulldeps/session-derive-errors.stderr +++ b/src/test/ui-fulldeps/session-derive-errors.stderr @@ -1,25 +1,20 @@ error: `#[derive(SessionDiagnostic)]` can only be used on structs --> $DIR/session-derive-errors.rs:28:1 | -LL | / #[error = "E0123"] -LL | | -LL | | enum SessionDiagnosticOnEnum { -LL | | Foo, -LL | | Bar, -LL | | } - | |_^ +LL | #[error = "E0123"] + | ^ error: `#[label = ...]` is not a valid SessionDiagnostic struct attribute --> $DIR/session-derive-errors.rs:37:1 | LL | #[label = "This is in the wrong place"] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^ error: `#[suggestion = ...]` is not a valid SessionDiagnostic field attribute --> $DIR/session-derive-errors.rs:44:5 | LL | #[suggestion = "this is the wrong kind of attribute"] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^ error: `error` specified multiple times --> $DIR/session-derive-errors.rs:52:11 @@ -37,7 +32,7 @@ error: `code` not specified --> $DIR/session-derive-errors.rs:67:1 | LL | struct ErrorCodeNotProvided {} - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^ | = help: use the [code = "..."] attribute to set this diagnostic's error code @@ -45,13 +40,13 @@ error: the `#[message = "..."]` attribute can only be applied to fields of type --> $DIR/session-derive-errors.rs:95:5 | LL | #[message = "this message is applied to a String field"] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^ error: `name` doesn't refer to a field on this type --> $DIR/session-derive-errors.rs:102:1 | LL | #[message = "This error has a field, and references {name}"] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^ error: invalid format string: expected `'}'` but string was terminated --> $DIR/session-derive-errors.rs:110:1 @@ -77,59 +72,53 @@ error: The `#[label = ...]` attribute can only be applied to fields of type Span --> $DIR/session-derive-errors.rs:138:5 | LL | #[label = "See here"] - | ^^^^^^^^^^^^^^^^^^^^^ + | ^ error: `nonsense` is not a valid key for `#[suggestion(...)]` --> $DIR/session-derive-errors.rs:163:18 | LL | #[suggestion(nonsense = "This is nonsense")] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^^^ error: `msg` is not a valid key for `#[suggestion(...)]` --> $DIR/session-derive-errors.rs:171:18 | LL | #[suggestion(msg = "This is a suggestion")] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^ error: missing suggestion message --> $DIR/session-derive-errors.rs:179:7 | LL | #[suggestion(code = "This is suggested code")] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^^^^^ | = help: provide a suggestion message using #[suggestion(message = "...")] error: wrong field type for suggestion --> $DIR/session-derive-errors.rs:194:5 | -LL | / #[suggestion(message = "This is a message", code = "This is suggested code")] -LL | | -LL | | suggestion: Applicability, - | |_____________________________^ +LL | #[suggestion(message = "This is a message", code = "This is suggested code")] + | ^ | = help: #[suggestion(...)] should be applied to fields of type Span or (Span, Applicability) error: type of field annotated with `#[suggestion(...)]` contains more than one Span --> $DIR/session-derive-errors.rs:209:5 | -LL | / #[suggestion(message = "This is a message", code = "This is suggested code")] -LL | | -LL | | suggestion: (Span, Span, Applicability), - | |___________________________________________^ +LL | #[suggestion(message = "This is a message", code = "This is suggested code")] + | ^ error: type of field annotated with `#[suggestion(...)]` contains more than one Applicability --> $DIR/session-derive-errors.rs:217:5 | -LL | / #[suggestion(message = "This is a message", code = "This is suggested code")] -LL | | -LL | | suggestion: (Applicability, Applicability, Span), - | |____________________________________________________^ +LL | #[suggestion(message = "This is a message", code = "This is suggested code")] + | ^ error: invalid annotation list `#[label(...)]` --> $DIR/session-derive-errors.rs:225:7 | LL | #[label("wrong kind of annotation for label")] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^ error: aborting due to 18 previous errors From 371a7a92c6774e5c146737d4f8b4ef5b16b82f08 Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Wed, 24 Mar 2021 12:03:59 -0400 Subject: [PATCH 4/4] Fix bootstrap tests on beta --- src/bootstrap/builder/tests.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs index 885fcfff030..a881512e988 100644 --- a/src/bootstrap/builder/tests.rs +++ b/src/bootstrap/builder/tests.rs @@ -585,8 +585,11 @@ mod dist { rustfix_coverage: false, pass: None, }; + // Make sure rustfmt binary not being found isn't an error. + config.channel = "beta".to_string(); let build = Build::new(config); let mut builder = Builder::new(&build); + builder.run_step_descriptions(&Builder::get_step_descriptions(Kind::Test), &[]); let a = TargetSelection::from_user("A");