Auto merge of #132145 - RalfJung:stdarch, r=Amanieu
bump stdarch This lets us remove a hack from https://github.com/rust-lang/rust/pull/131349. r? `@Amanieu` try-job: test-various
This commit is contained in:
commit
3f1be1ec7e
@ -45,6 +45,7 @@ const fn unstable_fn() {}
|
|||||||
#[stable(feature = "stable_struct", since = "1.39.0")] // ok!
|
#[stable(feature = "stable_struct", since = "1.39.0")] // ok!
|
||||||
struct Stable;
|
struct Stable;
|
||||||
|
|
||||||
|
#[stable(feature = "stable_fn", since = "1.39.0")]
|
||||||
#[rustc_const_stable(feature = "stable_fn", since = "1.39.0")] // ok!
|
#[rustc_const_stable(feature = "stable_fn", since = "1.39.0")] // ok!
|
||||||
const fn stable_fn() {}
|
const fn stable_fn() {}
|
||||||
```
|
```
|
||||||
|
@ -30,6 +30,7 @@ To fix this issue, you need to provide the `since` field. Example:
|
|||||||
#[stable(feature = "_stable_fn", since = "1.0.0")] // ok!
|
#[stable(feature = "_stable_fn", since = "1.0.0")] // ok!
|
||||||
fn _stable_fn() {}
|
fn _stable_fn() {}
|
||||||
|
|
||||||
|
#[stable(feature = "_stable_const_fn", since = "1.0.0")]
|
||||||
#[rustc_const_stable(feature = "_stable_const_fn", since = "1.0.0")] // ok!
|
#[rustc_const_stable(feature = "_stable_const_fn", since = "1.0.0")] // ok!
|
||||||
const fn _stable_const_fn() {}
|
const fn _stable_const_fn() {}
|
||||||
|
|
||||||
|
@ -189,9 +189,6 @@ fn annotate<F>(
|
|||||||
&& let Some(fn_sig) = fn_sig
|
&& let Some(fn_sig) = fn_sig
|
||||||
&& const_stab.is_const_stable()
|
&& const_stab.is_const_stable()
|
||||||
&& !stab.is_some_and(|(s, _)| s.is_stable())
|
&& !stab.is_some_and(|(s, _)| s.is_stable())
|
||||||
// FIXME: we skip this check targets until
|
|
||||||
// <https://github.com/rust-lang/stdarch/pull/1654> propagates.
|
|
||||||
&& false
|
|
||||||
{
|
{
|
||||||
self.tcx
|
self.tcx
|
||||||
.dcx()
|
.dcx()
|
||||||
|
@ -5,7 +5,7 @@ pub struct Condvar {}
|
|||||||
|
|
||||||
impl Condvar {
|
impl Condvar {
|
||||||
#[inline]
|
#[inline]
|
||||||
#[rustc_const_stable(feature = "const_locks", since = "1.63.0")]
|
#[cfg_attr(bootstrap, rustc_const_stable(feature = "const_locks", since = "1.63.0"))]
|
||||||
pub const fn new() -> Condvar {
|
pub const fn new() -> Condvar {
|
||||||
Condvar {}
|
Condvar {}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ unsafe impl Sync for Mutex {} // no threads on this platform
|
|||||||
|
|
||||||
impl Mutex {
|
impl Mutex {
|
||||||
#[inline]
|
#[inline]
|
||||||
#[rustc_const_stable(feature = "const_locks", since = "1.63.0")]
|
#[cfg_attr(bootstrap, rustc_const_stable(feature = "const_locks", since = "1.63.0"))]
|
||||||
pub const fn new() -> Mutex {
|
pub const fn new() -> Mutex {
|
||||||
Mutex { locked: Cell::new(false) }
|
Mutex { locked: Cell::new(false) }
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ unsafe impl Sync for Once {}
|
|||||||
|
|
||||||
impl Once {
|
impl Once {
|
||||||
#[inline]
|
#[inline]
|
||||||
#[rustc_const_stable(feature = "const_once_new", since = "1.32.0")]
|
#[cfg_attr(bootstrap, rustc_const_stable(feature = "const_once_new", since = "1.32.0"))]
|
||||||
pub const fn new() -> Once {
|
pub const fn new() -> Once {
|
||||||
Once { state: Cell::new(State::Incomplete) }
|
Once { state: Cell::new(State::Incomplete) }
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ unsafe impl Sync for RwLock {} // no threads on this platform
|
|||||||
|
|
||||||
impl RwLock {
|
impl RwLock {
|
||||||
#[inline]
|
#[inline]
|
||||||
#[rustc_const_stable(feature = "const_locks", since = "1.63.0")]
|
#[cfg_attr(bootstrap, rustc_const_stable(feature = "const_locks", since = "1.63.0"))]
|
||||||
pub const fn new() -> RwLock {
|
pub const fn new() -> RwLock {
|
||||||
RwLock { mode: Cell::new(0) }
|
RwLock { mode: Cell::new(0) }
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit c881fe3231b3947a4766aa15a26a93022fbb8723
|
Subproject commit ff9a4445038eae46fd095188740946808581bc0e
|
@ -47,16 +47,15 @@ pub const fn foobar() {}
|
|||||||
pub const fn barfoo() {}
|
pub const fn barfoo() {}
|
||||||
|
|
||||||
// `rustc_const_stable` also requires the function to be stable.
|
// `rustc_const_stable` also requires the function to be stable.
|
||||||
// FIXME: these are disabled until <https://github.com/rust-lang/stdarch/pull/1654> propagates.
|
|
||||||
|
|
||||||
#[rustc_const_stable(feature = "barfoo_const", since = "1.0.0")]
|
#[rustc_const_stable(feature = "barfoo_const", since = "1.0.0")]
|
||||||
const fn barfoo_unmarked() {}
|
const fn barfoo_unmarked() {}
|
||||||
// FIXME disabled ERROR can only be applied to functions that are declared `#[stable]`
|
//~^ ERROR can only be applied to functions that are declared `#[stable]`
|
||||||
|
|
||||||
#[unstable(feature = "unstable", issue = "none")]
|
#[unstable(feature = "unstable", issue = "none")]
|
||||||
#[rustc_const_stable(feature = "barfoo_const", since = "1.0.0")]
|
#[rustc_const_stable(feature = "barfoo_const", since = "1.0.0")]
|
||||||
pub const fn barfoo_unstable() {}
|
pub const fn barfoo_unstable() {}
|
||||||
// FIXME disabled ERROR can only be applied to functions that are declared `#[stable]`
|
//~^ ERROR can only be applied to functions that are declared `#[stable]`
|
||||||
|
|
||||||
// `#[rustc_const_stable_indirect]` also requires a const fn
|
// `#[rustc_const_stable_indirect]` also requires a const fn
|
||||||
#[rustc_const_stable_indirect]
|
#[rustc_const_stable_indirect]
|
||||||
|
@ -70,17 +70,33 @@ help: make the function or method const
|
|||||||
LL | pub extern "C" fn foo_c() {}
|
LL | pub extern "C" fn foo_c() {}
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: attribute `#[rustc_const_stable]` can only be applied to functions that are declared `#[stable]`
|
||||||
|
--> $DIR/rustc-const-stability-require-const.rs:52:1
|
||||||
|
|
|
||||||
|
LL | #[rustc_const_stable(feature = "barfoo_const", since = "1.0.0")]
|
||||||
|
| ---------------------------------------------------------------- attribute specified here
|
||||||
|
LL | const fn barfoo_unmarked() {}
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: attribute `#[rustc_const_stable]` can only be applied to functions that are declared `#[stable]`
|
||||||
|
--> $DIR/rustc-const-stability-require-const.rs:57:1
|
||||||
|
|
|
||||||
|
LL | #[rustc_const_stable(feature = "barfoo_const", since = "1.0.0")]
|
||||||
|
| ---------------------------------------------------------------- attribute specified here
|
||||||
|
LL | pub const fn barfoo_unstable() {}
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: attributes `#[rustc_const_unstable]`, `#[rustc_const_stable]` and `#[rustc_const_stable_indirect]` require the function or method to be `const`
|
error: attributes `#[rustc_const_unstable]`, `#[rustc_const_stable]` and `#[rustc_const_stable_indirect]` require the function or method to be `const`
|
||||||
--> $DIR/rustc-const-stability-require-const.rs:64:1
|
--> $DIR/rustc-const-stability-require-const.rs:63:1
|
||||||
|
|
|
|
||||||
LL | pub fn not_a_const_fn() {}
|
LL | pub fn not_a_const_fn() {}
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
help: make the function or method const
|
help: make the function or method const
|
||||||
--> $DIR/rustc-const-stability-require-const.rs:64:1
|
--> $DIR/rustc-const-stability-require-const.rs:63:1
|
||||||
|
|
|
|
||||||
LL | pub fn not_a_const_fn() {}
|
LL | pub fn not_a_const_fn() {}
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 7 previous errors
|
error: aborting due to 9 previous errors
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user