@@ -1161,7 +1161,7 @@ macro_rules! int_impl {
1161
1161
) ]
1162
1162
#[ must_use = "this returns the result of the operation, \
1163
1163
without modifying the original"]
1164
- #[ rustc_const_unstable( feature = "unchecked_neg" , issue = "85122" ) ]
1164
+ #[ cfg_attr ( bootstrap , rustc_const_unstable( feature = "unchecked_neg" , issue = "85122" ) ) ]
1165
1165
#[ inline( always) ]
1166
1166
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
1167
1167
pub const unsafe fn unchecked_neg( self ) -> Self {
@@ -1227,8 +1227,7 @@ macro_rules! int_impl {
1227
1227
/// ```
1228
1228
#[ stable( feature = "wrapping" , since = "1.7.0" ) ]
1229
1229
#[ rustc_const_stable( feature = "const_checked_int_methods" , since = "1.47.0" ) ]
1230
- // We could always go back to wrapping
1231
- #[ rustc_allow_const_fn_unstable( unchecked_shifts) ]
1230
+ #[ cfg_attr( bootstrap, rustc_allow_const_fn_unstable( unchecked_shifts) ) ]
1232
1231
#[ must_use = "this returns the result of the operation, \
1233
1232
without modifying the original"]
1234
1233
#[ inline]
@@ -1294,7 +1293,7 @@ macro_rules! int_impl {
1294
1293
) ]
1295
1294
#[ must_use = "this returns the result of the operation, \
1296
1295
without modifying the original"]
1297
- #[ rustc_const_unstable( feature = "unchecked_shifts" , issue = "85122" ) ]
1296
+ #[ cfg_attr ( bootstrap , rustc_const_unstable( feature = "unchecked_shifts" , issue = "85122" ) ) ]
1298
1297
#[ inline( always) ]
1299
1298
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
1300
1299
pub const unsafe fn unchecked_shl( self , rhs: u32 ) -> Self {
@@ -1353,8 +1352,7 @@ macro_rules! int_impl {
1353
1352
/// ```
1354
1353
#[ stable( feature = "wrapping" , since = "1.7.0" ) ]
1355
1354
#[ rustc_const_stable( feature = "const_checked_int_methods" , since = "1.47.0" ) ]
1356
- // We could always go back to wrapping
1357
- #[ rustc_allow_const_fn_unstable( unchecked_shifts) ]
1355
+ #[ cfg_attr( bootstrap, rustc_allow_const_fn_unstable( unchecked_shifts) ) ]
1358
1356
#[ must_use = "this returns the result of the operation, \
1359
1357
without modifying the original"]
1360
1358
#[ inline]
@@ -1420,7 +1418,7 @@ macro_rules! int_impl {
1420
1418
) ]
1421
1419
#[ must_use = "this returns the result of the operation, \
1422
1420
without modifying the original"]
1423
- #[ rustc_const_unstable( feature = "unchecked_shifts" , issue = "85122" ) ]
1421
+ #[ cfg_attr ( bootstrap , rustc_const_unstable( feature = "unchecked_shifts" , issue = "85122" ) ) ]
1424
1422
#[ inline( always) ]
1425
1423
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
1426
1424
pub const unsafe fn unchecked_shr( self , rhs: u32 ) -> Self {
@@ -2151,7 +2149,7 @@ macro_rules! int_impl {
2151
2149
#[ must_use = "this returns the result of the operation, \
2152
2150
without modifying the original"]
2153
2151
#[ inline( always) ]
2154
- #[ rustc_allow_const_fn_unstable( unchecked_shifts) ]
2152
+ #[ cfg_attr ( bootstrap , rustc_allow_const_fn_unstable( unchecked_shifts) ) ]
2155
2153
pub const fn wrapping_shl( self , rhs: u32 ) -> Self {
2156
2154
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
2157
2155
// out of bounds
@@ -2181,7 +2179,7 @@ macro_rules! int_impl {
2181
2179
#[ must_use = "this returns the result of the operation, \
2182
2180
without modifying the original"]
2183
2181
#[ inline( always) ]
2184
- #[ rustc_allow_const_fn_unstable( unchecked_shifts) ]
2182
+ #[ cfg_attr ( bootstrap , rustc_allow_const_fn_unstable( unchecked_shifts) ) ]
2185
2183
pub const fn wrapping_shr( self , rhs: u32 ) -> Self {
2186
2184
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
2187
2185
// out of bounds
0 commit comments