Skip to content

Commit 357d59f

Browse files
committed
Auto merge of #146943 - matthiaskrgr:rollup-oh3k78y, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - #146818 (constify {float}::total_cmp()) - #146896 (rustc-dev-guide subtree update) - #146898 (Update books) - #146899 (Fix a crash/mislex when more than one frontmatter closing possibility is considered) - #146904 (#140368 Mutex/RwLock/ReentrantLock::data_ptr to be const fn) - #146907 (add regression test for issue 146537) - #146927 (Make it possible to `x install` Cranelift and LLVM bitcode linker) - #146931 (miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
2 parents 975e6c8 + ba4d01e commit 357d59f

File tree

72 files changed

+904
-636
lines changed

Some content is hidden

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

72 files changed

+904
-636
lines changed

compiler/rustc_lexer/src/lib.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -599,14 +599,16 @@ impl Cursor<'_> {
599599
if potential_closing.is_none() {
600600
// a less fortunate recovery if all else fails which finds any dashes preceded by whitespace
601601
// on a standalone line. Might be wrong.
602+
let mut base_index = 0;
602603
while let Some(closing) = rest.find("---") {
603604
let preceding_chars_start = rest[..closing].rfind("\n").map_or(0, |i| i + 1);
604605
if rest[preceding_chars_start..closing].chars().all(is_horizontal_whitespace) {
605606
// candidate found
606-
potential_closing = Some(closing);
607+
potential_closing = Some(closing + base_index);
607608
break;
608609
} else {
609610
rest = &rest[closing + 3..];
611+
base_index += closing + 3;
610612
}
611613
}
612614
}

library/core/src/num/f128.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1196,7 +1196,8 @@ impl f128 {
11961196
#[inline]
11971197
#[must_use]
11981198
#[unstable(feature = "f128", issue = "116909")]
1199-
pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
1199+
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
1200+
pub const fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
12001201
let mut left = self.to_bits() as i128;
12011202
let mut right = other.to_bits() as i128;
12021203

library/core/src/num/f16.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1175,7 +1175,8 @@ impl f16 {
11751175
#[inline]
11761176
#[must_use]
11771177
#[unstable(feature = "f16", issue = "116909")]
1178-
pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
1178+
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
1179+
pub const fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
11791180
let mut left = self.to_bits() as i16;
11801181
let mut right = other.to_bits() as i16;
11811182

library/core/src/num/f32.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1353,9 +1353,10 @@ impl f32 {
13531353
/// }
13541354
/// ```
13551355
#[stable(feature = "total_cmp", since = "1.62.0")]
1356+
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
13561357
#[must_use]
13571358
#[inline]
1358-
pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
1359+
pub const fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
13591360
let mut left = self.to_bits() as i32;
13601361
let mut right = other.to_bits() as i32;
13611362

library/core/src/num/f64.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1351,9 +1351,10 @@ impl f64 {
13511351
/// }
13521352
/// ```
13531353
#[stable(feature = "total_cmp", since = "1.62.0")]
1354+
#[rustc_const_unstable(feature = "const_cmp", issue = "143800")]
13541355
#[must_use]
13551356
#[inline]
1356-
pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
1357+
pub const fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering {
13571358
let mut left = self.to_bits() as i64;
13581359
let mut right = other.to_bits() as i64;
13591360

library/coretests/tests/floats/mod.rs

Lines changed: 85 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,104 +1246,103 @@ float_test! {
12461246
float_test! {
12471247
name: total_cmp,
12481248
attrs: {
1249-
const: #[cfg(false)],
12501249
f16: #[cfg(all(not(miri), target_has_reliable_f16_math))],
12511250
f128: #[cfg(all(not(miri), target_has_reliable_f128_math))],
12521251
},
12531252
test<Float> {
12541253
use core::cmp::Ordering;
12551254

1256-
fn quiet_bit_mask() -> <Float as TestableFloat>::Int {
1255+
const fn quiet_bit_mask() -> <Float as TestableFloat>::Int {
12571256
1 << (Float::MANTISSA_DIGITS - 2)
12581257
}
12591258

1260-
fn q_nan() -> Float {
1259+
const fn q_nan() -> Float {
12611260
Float::from_bits(Float::NAN.to_bits() | quiet_bit_mask())
12621261
}
12631262

1264-
assert_eq!(Ordering::Equal, Float::total_cmp(&-q_nan(), &-q_nan()));
1265-
assert_eq!(Ordering::Equal, Float::total_cmp(&-Float::INFINITY, &-Float::INFINITY));
1266-
assert_eq!(Ordering::Equal, Float::total_cmp(&-Float::MAX, &-Float::MAX));
1267-
assert_eq!(Ordering::Equal, Float::total_cmp(&-2.5, &-2.5));
1268-
assert_eq!(Ordering::Equal, Float::total_cmp(&-1.0, &-1.0));
1269-
assert_eq!(Ordering::Equal, Float::total_cmp(&-1.5, &-1.5));
1270-
assert_eq!(Ordering::Equal, Float::total_cmp(&-0.5, &-0.5));
1271-
assert_eq!(Ordering::Equal, Float::total_cmp(&-Float::MIN_POSITIVE, &-Float::MIN_POSITIVE));
1272-
assert_eq!(Ordering::Equal, Float::total_cmp(&-Float::MAX_SUBNORMAL, &-Float::MAX_SUBNORMAL));
1273-
assert_eq!(Ordering::Equal, Float::total_cmp(&-Float::TINY, &-Float::TINY));
1274-
assert_eq!(Ordering::Equal, Float::total_cmp(&-0.0, &-0.0));
1275-
assert_eq!(Ordering::Equal, Float::total_cmp(&0.0, &0.0));
1276-
assert_eq!(Ordering::Equal, Float::total_cmp(&Float::TINY, &Float::TINY));
1277-
assert_eq!(Ordering::Equal, Float::total_cmp(&Float::MAX_SUBNORMAL, &Float::MAX_SUBNORMAL));
1278-
assert_eq!(Ordering::Equal, Float::total_cmp(&Float::MIN_POSITIVE, &Float::MIN_POSITIVE));
1279-
assert_eq!(Ordering::Equal, Float::total_cmp(&0.5, &0.5));
1280-
assert_eq!(Ordering::Equal, Float::total_cmp(&1.0, &1.0));
1281-
assert_eq!(Ordering::Equal, Float::total_cmp(&1.5, &1.5));
1282-
assert_eq!(Ordering::Equal, Float::total_cmp(&2.5, &2.5));
1283-
assert_eq!(Ordering::Equal, Float::total_cmp(&Float::MAX, &Float::MAX));
1284-
assert_eq!(Ordering::Equal, Float::total_cmp(&Float::INFINITY, &Float::INFINITY));
1285-
assert_eq!(Ordering::Equal, Float::total_cmp(&q_nan(), &q_nan()));
1286-
1287-
assert_eq!(Ordering::Less, Float::total_cmp(&-Float::INFINITY, &-Float::MAX));
1288-
assert_eq!(Ordering::Less, Float::total_cmp(&-Float::MAX, &-2.5));
1289-
assert_eq!(Ordering::Less, Float::total_cmp(&-2.5, &-1.5));
1290-
assert_eq!(Ordering::Less, Float::total_cmp(&-1.5, &-1.0));
1291-
assert_eq!(Ordering::Less, Float::total_cmp(&-1.0, &-0.5));
1292-
assert_eq!(Ordering::Less, Float::total_cmp(&-0.5, &-Float::MIN_POSITIVE));
1293-
assert_eq!(Ordering::Less, Float::total_cmp(&-Float::MIN_POSITIVE, &-Float::MAX_SUBNORMAL));
1294-
assert_eq!(Ordering::Less, Float::total_cmp(&-Float::MAX_SUBNORMAL, &-Float::TINY));
1295-
assert_eq!(Ordering::Less, Float::total_cmp(&-Float::TINY, &-0.0));
1296-
assert_eq!(Ordering::Less, Float::total_cmp(&-0.0, &0.0));
1297-
assert_eq!(Ordering::Less, Float::total_cmp(&0.0, &Float::TINY));
1298-
assert_eq!(Ordering::Less, Float::total_cmp(&Float::TINY, &Float::MAX_SUBNORMAL));
1299-
assert_eq!(Ordering::Less, Float::total_cmp(&Float::MAX_SUBNORMAL, &Float::MIN_POSITIVE));
1300-
assert_eq!(Ordering::Less, Float::total_cmp(&Float::MIN_POSITIVE, &0.5));
1301-
assert_eq!(Ordering::Less, Float::total_cmp(&0.5, &1.0));
1302-
assert_eq!(Ordering::Less, Float::total_cmp(&1.0, &1.5));
1303-
assert_eq!(Ordering::Less, Float::total_cmp(&1.5, &2.5));
1304-
assert_eq!(Ordering::Less, Float::total_cmp(&2.5, &Float::MAX));
1305-
assert_eq!(Ordering::Less, Float::total_cmp(&Float::MAX, &Float::INFINITY));
1306-
1307-
assert_eq!(Ordering::Greater, Float::total_cmp(&-Float::MAX, &-Float::INFINITY));
1308-
assert_eq!(Ordering::Greater, Float::total_cmp(&-2.5, &-Float::MAX));
1309-
assert_eq!(Ordering::Greater, Float::total_cmp(&-1.5, &-2.5));
1310-
assert_eq!(Ordering::Greater, Float::total_cmp(&-1.0, &-1.5));
1311-
assert_eq!(Ordering::Greater, Float::total_cmp(&-0.5, &-1.0));
1312-
assert_eq!(Ordering::Greater, Float::total_cmp(&-Float::MIN_POSITIVE, &-0.5));
1313-
assert_eq!(Ordering::Greater, Float::total_cmp(&-Float::MAX_SUBNORMAL, &-Float::MIN_POSITIVE));
1314-
assert_eq!(Ordering::Greater, Float::total_cmp(&-Float::TINY, &-Float::MAX_SUBNORMAL));
1315-
assert_eq!(Ordering::Greater, Float::total_cmp(&-0.0, &-Float::TINY));
1316-
assert_eq!(Ordering::Greater, Float::total_cmp(&0.0, &-0.0));
1317-
assert_eq!(Ordering::Greater, Float::total_cmp(&Float::TINY, &0.0));
1318-
assert_eq!(Ordering::Greater, Float::total_cmp(&Float::MAX_SUBNORMAL, &Float::TINY));
1319-
assert_eq!(Ordering::Greater, Float::total_cmp(&Float::MIN_POSITIVE, &Float::MAX_SUBNORMAL));
1320-
assert_eq!(Ordering::Greater, Float::total_cmp(&0.5, &Float::MIN_POSITIVE));
1321-
assert_eq!(Ordering::Greater, Float::total_cmp(&1.0, &0.5));
1322-
assert_eq!(Ordering::Greater, Float::total_cmp(&1.5, &1.0));
1323-
assert_eq!(Ordering::Greater, Float::total_cmp(&2.5, &1.5));
1324-
assert_eq!(Ordering::Greater, Float::total_cmp(&Float::MAX, &2.5));
1325-
assert_eq!(Ordering::Greater, Float::total_cmp(&Float::INFINITY, &Float::MAX));
1326-
1327-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-Float::INFINITY));
1328-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-Float::MAX));
1329-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-2.5));
1330-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-1.5));
1331-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-1.0));
1332-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-0.5));
1333-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-Float::MIN_POSITIVE));
1334-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-Float::MAX_SUBNORMAL));
1335-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-Float::TINY));
1336-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &-0.0));
1337-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &0.0));
1338-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &Float::TINY));
1339-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &Float::MAX_SUBNORMAL));
1340-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &Float::MIN_POSITIVE));
1341-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &0.5));
1342-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &1.0));
1343-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &1.5));
1344-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &2.5));
1345-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &Float::MAX));
1346-
assert_eq!(Ordering::Less, Float::total_cmp(&-q_nan(), &Float::INFINITY));
1263+
assert!(matches!(Float::total_cmp(&-q_nan(), &-q_nan()), Ordering::Equal));
1264+
assert!(matches!(Float::total_cmp(&-Float::INFINITY, &-Float::INFINITY), Ordering::Equal));
1265+
assert!(matches!(Float::total_cmp(&-Float::MAX, &-Float::MAX), Ordering::Equal));
1266+
assert!(matches!(Float::total_cmp(&-2.5, &-2.5), Ordering::Equal));
1267+
assert!(matches!(Float::total_cmp(&-1.0, &-1.0), Ordering::Equal));
1268+
assert!(matches!(Float::total_cmp(&-1.5, &-1.5), Ordering::Equal));
1269+
assert!(matches!(Float::total_cmp(&-0.5, &-0.5), Ordering::Equal));
1270+
assert!(matches!(Float::total_cmp(&-Float::MIN_POSITIVE, &-Float::MIN_POSITIVE), Ordering::Equal));
1271+
assert!(matches!(Float::total_cmp(&-Float::MAX_SUBNORMAL, &-Float::MAX_SUBNORMAL), Ordering::Equal));
1272+
assert!(matches!(Float::total_cmp(&-Float::TINY, &-Float::TINY), Ordering::Equal));
1273+
assert!(matches!(Float::total_cmp(&-0.0, &-0.0), Ordering::Equal));
1274+
assert!(matches!(Float::total_cmp(&0.0, &0.0), Ordering::Equal));
1275+
assert!(matches!(Float::total_cmp(&Float::TINY, &Float::TINY), Ordering::Equal));
1276+
assert!(matches!(Float::total_cmp(&Float::MAX_SUBNORMAL, &Float::MAX_SUBNORMAL), Ordering::Equal));
1277+
assert!(matches!(Float::total_cmp(&Float::MIN_POSITIVE, &Float::MIN_POSITIVE), Ordering::Equal));
1278+
assert!(matches!(Float::total_cmp(&0.5, &0.5), Ordering::Equal));
1279+
assert!(matches!(Float::total_cmp(&1.0, &1.0), Ordering::Equal));
1280+
assert!(matches!(Float::total_cmp(&1.5, &1.5), Ordering::Equal));
1281+
assert!(matches!(Float::total_cmp(&2.5, &2.5), Ordering::Equal));
1282+
assert!(matches!(Float::total_cmp(&Float::MAX, &Float::MAX), Ordering::Equal));
1283+
assert!(matches!(Float::total_cmp(&Float::INFINITY, &Float::INFINITY), Ordering::Equal));
1284+
assert!(matches!(Float::total_cmp(&q_nan(), &q_nan()), Ordering::Equal));
1285+
1286+
assert!(matches!(Float::total_cmp(&-Float::INFINITY, &-Float::MAX), Ordering::Less));
1287+
assert!(matches!(Float::total_cmp(&-Float::MAX, &-2.5), Ordering::Less));
1288+
assert!(matches!(Float::total_cmp(&-2.5, &-1.5), Ordering::Less));
1289+
assert!(matches!(Float::total_cmp(&-1.5, &-1.0), Ordering::Less));
1290+
assert!(matches!(Float::total_cmp(&-1.0, &-0.5), Ordering::Less));
1291+
assert!(matches!(Float::total_cmp(&-0.5, &-Float::MIN_POSITIVE), Ordering::Less));
1292+
assert!(matches!(Float::total_cmp(&-Float::MIN_POSITIVE, &-Float::MAX_SUBNORMAL), Ordering::Less));
1293+
assert!(matches!(Float::total_cmp(&-Float::MAX_SUBNORMAL, &-Float::TINY), Ordering::Less));
1294+
assert!(matches!(Float::total_cmp(&-Float::TINY, &-0.0), Ordering::Less));
1295+
assert!(matches!(Float::total_cmp(&-0.0, &0.0), Ordering::Less));
1296+
assert!(matches!(Float::total_cmp(&0.0, &Float::TINY), Ordering::Less));
1297+
assert!(matches!(Float::total_cmp(&Float::TINY, &Float::MAX_SUBNORMAL), Ordering::Less));
1298+
assert!(matches!(Float::total_cmp(&Float::MAX_SUBNORMAL, &Float::MIN_POSITIVE), Ordering::Less));
1299+
assert!(matches!(Float::total_cmp(&Float::MIN_POSITIVE, &0.5), Ordering::Less));
1300+
assert!(matches!(Float::total_cmp(&0.5, &1.0), Ordering::Less));
1301+
assert!(matches!(Float::total_cmp(&1.0, &1.5), Ordering::Less));
1302+
assert!(matches!(Float::total_cmp(&1.5, &2.5), Ordering::Less));
1303+
assert!(matches!(Float::total_cmp(&2.5, &Float::MAX), Ordering::Less));
1304+
assert!(matches!(Float::total_cmp(&Float::MAX, &Float::INFINITY), Ordering::Less));
1305+
1306+
assert!(matches!(Float::total_cmp(&-Float::MAX, &-Float::INFINITY), Ordering::Greater));
1307+
assert!(matches!(Float::total_cmp(&-2.5, &-Float::MAX), Ordering::Greater));
1308+
assert!(matches!(Float::total_cmp(&-1.5, &-2.5), Ordering::Greater));
1309+
assert!(matches!(Float::total_cmp(&-1.0, &-1.5), Ordering::Greater));
1310+
assert!(matches!(Float::total_cmp(&-0.5, &-1.0), Ordering::Greater));
1311+
assert!(matches!(Float::total_cmp(&-Float::MIN_POSITIVE, &-0.5), Ordering::Greater));
1312+
assert!(matches!(Float::total_cmp(&-Float::MAX_SUBNORMAL, &-Float::MIN_POSITIVE), Ordering::Greater));
1313+
assert!(matches!(Float::total_cmp(&-Float::TINY, &-Float::MAX_SUBNORMAL), Ordering::Greater));
1314+
assert!(matches!(Float::total_cmp(&-0.0, &-Float::TINY), Ordering::Greater));
1315+
assert!(matches!(Float::total_cmp(&0.0, &-0.0), Ordering::Greater));
1316+
assert!(matches!(Float::total_cmp(&Float::TINY, &0.0), Ordering::Greater));
1317+
assert!(matches!(Float::total_cmp(&Float::MAX_SUBNORMAL, &Float::TINY), Ordering::Greater));
1318+
assert!(matches!(Float::total_cmp(&Float::MIN_POSITIVE, &Float::MAX_SUBNORMAL), Ordering::Greater));
1319+
assert!(matches!(Float::total_cmp(&0.5, &Float::MIN_POSITIVE), Ordering::Greater));
1320+
assert!(matches!(Float::total_cmp(&1.0, &0.5), Ordering::Greater));
1321+
assert!(matches!(Float::total_cmp(&1.5, &1.0), Ordering::Greater));
1322+
assert!(matches!(Float::total_cmp(&2.5, &1.5), Ordering::Greater));
1323+
assert!(matches!(Float::total_cmp(&Float::MAX, &2.5), Ordering::Greater));
1324+
assert!(matches!(Float::total_cmp(&Float::INFINITY, &Float::MAX), Ordering::Greater));
1325+
1326+
assert!(matches!(Float::total_cmp(&-q_nan(), &-Float::INFINITY), Ordering::Less));
1327+
assert!(matches!(Float::total_cmp(&-q_nan(), &-Float::MAX), Ordering::Less));
1328+
assert!(matches!(Float::total_cmp(&-q_nan(), &-2.5), Ordering::Less));
1329+
assert!(matches!(Float::total_cmp(&-q_nan(), &-1.5), Ordering::Less));
1330+
assert!(matches!(Float::total_cmp(&-q_nan(), &-1.0), Ordering::Less));
1331+
assert!(matches!(Float::total_cmp(&-q_nan(), &-0.5), Ordering::Less));
1332+
assert!(matches!(Float::total_cmp(&-q_nan(), &-Float::MIN_POSITIVE), Ordering::Less));
1333+
assert!(matches!(Float::total_cmp(&-q_nan(), &-Float::MAX_SUBNORMAL), Ordering::Less));
1334+
assert!(matches!(Float::total_cmp(&-q_nan(), &-Float::TINY), Ordering::Less));
1335+
assert!(matches!(Float::total_cmp(&-q_nan(), &-0.0), Ordering::Less));
1336+
assert!(matches!(Float::total_cmp(&-q_nan(), &0.0), Ordering::Less));
1337+
assert!(matches!(Float::total_cmp(&-q_nan(), &Float::TINY), Ordering::Less));
1338+
assert!(matches!(Float::total_cmp(&-q_nan(), &Float::MAX_SUBNORMAL), Ordering::Less));
1339+
assert!(matches!(Float::total_cmp(&-q_nan(), &Float::MIN_POSITIVE), Ordering::Less));
1340+
assert!(matches!(Float::total_cmp(&-q_nan(), &0.5), Ordering::Less));
1341+
assert!(matches!(Float::total_cmp(&-q_nan(), &1.0), Ordering::Less));
1342+
assert!(matches!(Float::total_cmp(&-q_nan(), &1.5), Ordering::Less));
1343+
assert!(matches!(Float::total_cmp(&-q_nan(), &2.5), Ordering::Less));
1344+
assert!(matches!(Float::total_cmp(&-q_nan(), &Float::MAX), Ordering::Less));
1345+
assert!(matches!(Float::total_cmp(&-q_nan(), &Float::INFINITY), Ordering::Less));
13471346

13481347
}
13491348
}

library/std/src/sync/nonpoison/mutex.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ impl<T: ?Sized> Mutex<T> {
373373
/// or written through after the mutex is dropped.
374374
#[unstable(feature = "mutex_data_ptr", issue = "140368")]
375375
// #[unstable(feature = "nonpoison_mutex", issue = "134645")]
376-
pub fn data_ptr(&self) -> *mut T {
376+
pub const fn data_ptr(&self) -> *mut T {
377377
self.data.get()
378378
}
379379
}

library/std/src/sync/nonpoison/rwlock.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ impl<T: ?Sized> RwLock<T> {
495495
/// or written through after the lock is dropped.
496496
#[unstable(feature = "rwlock_data_ptr", issue = "140368")]
497497
// #[unstable(feature = "nonpoison_rwlock", issue = "134645")]
498-
pub fn data_ptr(&self) -> *mut T {
498+
pub const fn data_ptr(&self) -> *mut T {
499499
self.data.get()
500500
}
501501
}

library/std/src/sync/poison/mutex.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ impl<T: ?Sized> Mutex<T> {
668668
/// are properly synchronized to avoid data races, and that it is not read
669669
/// or written through after the mutex is dropped.
670670
#[unstable(feature = "mutex_data_ptr", issue = "140368")]
671-
pub fn data_ptr(&self) -> *mut T {
671+
pub const fn data_ptr(&self) -> *mut T {
672672
self.data.get()
673673
}
674674
}

library/std/src/sync/poison/rwlock.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ impl<T: ?Sized> RwLock<T> {
667667
/// are properly synchronized to avoid data races, and that it is not read
668668
/// or written through after the lock is dropped.
669669
#[unstable(feature = "rwlock_data_ptr", issue = "140368")]
670-
pub fn data_ptr(&self) -> *mut T {
670+
pub const fn data_ptr(&self) -> *mut T {
671671
self.data.get()
672672
}
673673
}

0 commit comments

Comments
 (0)