Skip to content

Commit c5f3830

Browse files
committed
Use const eval instead of const fn
1 parent baea3c7 commit c5f3830

File tree

2 files changed

+11
-16
lines changed

2 files changed

+11
-16
lines changed

src/test/run-pass/consts/const-ptr-nonnull.rs

+6-11
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,14 @@
44

55
use std::ptr::NonNull;
66

7-
const fn dangling() -> NonNull<u32> {
8-
NonNull::dangling()
9-
}
7+
const DANGLING: NonNull<u32> = NonNull::dangling();
8+
const CASTED: NonNull<u32> = NonNull::cast(NonNull::<i32>::dangling());
109

11-
const fn cast<T, U>(non_null: NonNull<T>) -> NonNull<U> {
12-
non_null.cast()
10+
fn ident<T>(ident: T) -> T {
11+
ident
1312
}
1413

1514
pub fn main() {
16-
assert_eq!(dangling(), NonNull::dangling());
17-
18-
let mut i: i32 = 10;
19-
let non_null_t = NonNull::new(&mut i).unwrap();
20-
let non_null_u: NonNull<u32> = cast(non_null_t);
21-
assert_eq!(non_null_t.as_ptr(), non_null_u.as_ptr() as *mut i32);
15+
assert_eq!(DANGLING, ident(NonNull::dangling()));
16+
assert_eq!(CASTED, ident(NonNull::dangling()));
2217
}

src/test/run-pass/consts/const-ptr-unique.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44

55
use std::ptr::Unique;
66

7-
const fn as_ptr<T>(ptr: Unique<T>) -> *mut T {
8-
ptr.as_ptr()
7+
const PTR: *mut u32 = Unique::empty().as_ptr();
8+
9+
fn ident<T>(ident: T) -> T {
10+
ident
911
}
1012

1113
pub fn main() {
12-
let mut i: i32 = 10;
13-
let unique = Unique::new(&mut i).unwrap();
14-
assert_eq!(unique.as_ptr(), as_ptr(unique));
14+
assert_eq!(PTR, ident(Unique::<u32>::empty().as_ptr()));
1515
}

0 commit comments

Comments
 (0)