Auto merge of #95678 - pietroalbini:pa-1.62.0-bootstrap, r=Mark-Simulacrum
Bump bootstrap compiler to 1.61.0 beta This PR bumps the bootstrap compiler to the 1.61.0 beta. The first commit changes the stage0 compiler, the second commit applies the "mechanical" changes and the third and fourth commits apply changes explained in the relevant comments. r? `@Mark-Simulacrum`
This commit is contained in:
commit
f565016edd
50 changed files with 524 additions and 697 deletions
|
|
@ -11,50 +11,40 @@
|
|||
pub struct S<T>(T);
|
||||
|
||||
// @!has foo/trait.Tr.html '//pre[@class="rust trait"]/code/a[@class="trait"]' '~const'
|
||||
// @!has - '//pre[@class="rust trait"]/code/a[@class="trait"]' 'Drop'
|
||||
// @has - '//pre[@class="rust trait"]/code/a[@class="trait"]' 'Clone'
|
||||
// @!has - '//pre[@class="rust trait"]/code/span[@class="where"]' '~const'
|
||||
// @!has - '//pre[@class="rust trait"]/code/span[@class="where"]' 'Drop'
|
||||
// @has - '//pre[@class="rust trait"]/code/span[@class="where"]' ': Clone'
|
||||
pub trait Tr<T> {
|
||||
// @!has - '//div[@id="method.a"]/h4[@class="code-header"]' '~const'
|
||||
// @!has - '//div[@id="method.a"]/h4[@class="code-header"]/a[@class="trait"]' 'Drop'
|
||||
// @has - '//div[@id="method.a"]/h4[@class="code-header"]/a[@class="trait"]' 'Clone'
|
||||
// @!has - '//div[@id="method.a"]/h4[@class="code-header"]/span[@class="where"]' '~const'
|
||||
// @!has - '//div[@id="method.a"]/h4[@class="code-header"]/span[@class="where fmt-newline"]' 'Drop'
|
||||
// @has - '//div[@id="method.a"]/h4[@class="code-header"]/span[@class="where fmt-newline"]' ': Clone'
|
||||
#[default_method_body_is_const]
|
||||
fn a<A: ~const Drop + ~const Clone>() where Option<A>: ~const Drop + ~const Clone {}
|
||||
fn a<A: ~const Clone>() where Option<A>: ~const Clone {}
|
||||
}
|
||||
|
||||
// @!has - '//section[@id="impl-Tr%3CT%3E"]/h3[@class="code-header in-band"]' '~const'
|
||||
// @!has - '//section[@id="impl-Tr%3CT%3E"]/h3[@class="code-header in-band"]/a[@class="trait"]' 'Drop'
|
||||
// @has - '//section[@id="impl-Tr%3CT%3E"]/h3[@class="code-header in-band"]/a[@class="trait"]' 'Clone'
|
||||
// @!has - '//section[@id="impl-Tr%3CT%3E"]/h3[@class="code-header in-band"]/span[@class="where"]' '~const'
|
||||
// @!has - '//section[@id="impl-Tr%3CT%3E"]/h3[@class="code-header in-band"]/span[@class="where fmt-newline"]' 'Drop'
|
||||
// @has - '//section[@id="impl-Tr%3CT%3E"]/h3[@class="code-header in-band"]/span[@class="where fmt-newline"]' ': Clone'
|
||||
impl<T: ~const Drop + ~const Clone> const Tr<T> for T where Option<T>: ~const Drop + ~const Clone {
|
||||
fn a<A: ~const Drop + ~const Clone>() where Option<A>: ~const Drop + ~const Clone {}
|
||||
impl<T: ~const Clone> const Tr<T> for T where Option<T>: ~const Clone {
|
||||
fn a<A: ~const Clone>() where Option<A>: ~const Clone {}
|
||||
}
|
||||
|
||||
// @!has foo/fn.foo.html '//pre[@class="rust fn"]/code/a[@class="trait"]' '~const'
|
||||
// @!has - '//pre[@class="rust fn"]/code/a[@class="trait"]' 'Drop'
|
||||
// @has - '//pre[@class="rust fn"]/code/a[@class="trait"]' 'Clone'
|
||||
// @!has - '//pre[@class="rust fn"]/code/span[@class="where fmt-newline"]' '~const'
|
||||
// @!has - '//pre[@class="rust fn"]/code/span[@class="where fmt-newline"]' 'Drop'
|
||||
// @has - '//pre[@class="rust fn"]/code/span[@class="where fmt-newline"]' ': Clone'
|
||||
pub const fn foo<F: ~const Drop + ~const Clone>() where Option<F>: ~const Drop + ~const Clone {
|
||||
pub const fn foo<F: ~const Clone>() where Option<F>: ~const Clone {
|
||||
F::a()
|
||||
}
|
||||
|
||||
impl<T> S<T> {
|
||||
// @!has foo/struct.S.html '//section[@id="method.foo"]/h4[@class="code-header"]' '~const'
|
||||
// @!has - '//section[@id="method.foo"]/h4[@class="code-header"]/a[@class="trait"]' 'Drop'
|
||||
// @has - '//section[@id="method.foo"]/h4[@class="code-header"]/a[@class="trait"]' 'Clone'
|
||||
// @!has - '//section[@id="method.foo"]/h4[@class="code-header"]/span[@class="where"]' '~const'
|
||||
// @!has - '//section[@id="method.foo"]/h4[@class="code-header"]/span[@class="where fmt-newline"]' 'Drop'
|
||||
// @has - '//section[@id="method.foo"]/h4[@class="code-header"]/span[@class="where fmt-newline"]' ': Clone'
|
||||
pub const fn foo<B: ~const Drop + ~const Clone>() where B: ~const Drop + ~const Clone {
|
||||
pub const fn foo<B: ~const Clone>() where B: ~const Clone {
|
||||
B::a()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ LL | const_eval_select((), 42, 0xDEADBEEF);
|
|||
note: required by a bound in `const_eval_select`
|
||||
--> $SRC_DIR/core/src/intrinsics.rs:LL:COL
|
||||
|
|
||||
LL | G: FnOnce<ARG, Output = RET> + ~const Drop + ~const Destruct,
|
||||
LL | G: FnOnce<ARG, Output = RET> + ~const Destruct,
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `const_eval_select`
|
||||
|
||||
error[E0271]: type mismatch resolving `<fn(i32) -> bool {bar} as FnOnce<(i32,)>>::Output == i32`
|
||||
|
|
@ -60,7 +60,7 @@ LL | const_eval_select((1,), foo, bar);
|
|||
note: required by a bound in `const_eval_select`
|
||||
--> $SRC_DIR/core/src/intrinsics.rs:LL:COL
|
||||
|
|
||||
LL | G: FnOnce<ARG, Output = RET> + ~const Drop + ~const Destruct,
|
||||
LL | G: FnOnce<ARG, Output = RET> + ~const Destruct,
|
||||
| ^^^^^^^^^^^^ required by this bound in `const_eval_select`
|
||||
|
||||
error[E0631]: type mismatch in function arguments
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// build-fail
|
||||
// compile-flags: --crate-type=rlib --target=aarch64-unknown-linux-gnu
|
||||
// needs-llvm-components: aarch64
|
||||
#![cfg_attr(bootstrap, feature(aarch64_target_feature))]
|
||||
#![feature(no_core, lang_items)]
|
||||
#![no_core]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
error: the target features paca, pacg must all be either enabled or disabled together
|
||||
--> $DIR/tied-features.rs:13:5
|
||||
--> $DIR/tied-features.rs:12:5
|
||||
|
|
||||
LL | #[target_feature(enable = "pacg")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
@ -7,7 +7,7 @@ LL | #[target_feature(enable = "pacg")]
|
|||
= help: add the missing features in a `target_feature` attribute
|
||||
|
||||
error: the target features paca, pacg must all be either enabled or disabled together
|
||||
--> $DIR/tied-features.rs:25:1
|
||||
--> $DIR/tied-features.rs:24:1
|
||||
|
|
||||
LL | #[target_feature(enable = "paca")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue