Add tests for const_slice_from_ref
and const_array_from_ref
This commit is contained in:
parent
27d6961134
commit
5f390cfb72
@ -7,6 +7,11 @@ fn array_from_ref() {
|
|||||||
let value: String = "Hello World!".into();
|
let value: String = "Hello World!".into();
|
||||||
let arr: &[String; 1] = array::from_ref(&value);
|
let arr: &[String; 1] = array::from_ref(&value);
|
||||||
assert_eq!(&[value.clone()], arr);
|
assert_eq!(&[value.clone()], arr);
|
||||||
|
|
||||||
|
const VALUE: &&str = &"Hello World!";
|
||||||
|
const ARR: &[&str; 1] = array::from_ref(VALUE);
|
||||||
|
assert_eq!(&[*VALUE], ARR);
|
||||||
|
assert!(core::ptr::eq(VALUE, &ARR[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -71,6 +71,8 @@
|
|||||||
#![feature(trusted_random_access)]
|
#![feature(trusted_random_access)]
|
||||||
#![feature(unsize)]
|
#![feature(unsize)]
|
||||||
#![feature(unzip_option)]
|
#![feature(unzip_option)]
|
||||||
|
#![feature(const_array_from_ref)]
|
||||||
|
#![feature(const_slice_from_ref)]
|
||||||
#![deny(unsafe_op_in_unsafe_fn)]
|
#![deny(unsafe_op_in_unsafe_fn)]
|
||||||
|
|
||||||
extern crate test;
|
extern crate test;
|
||||||
|
@ -2146,6 +2146,14 @@ fn test_slice_run_destructors() {
|
|||||||
assert_eq!(x.get(), 1);
|
assert_eq!(x.get(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_const_from_ref() {
|
||||||
|
const VALUE: &i32 = &1;
|
||||||
|
const SLICE: &[i32] = core::slice::from_ref(VALUE);
|
||||||
|
|
||||||
|
assert!(core::ptr::eq(VALUE, &SLICE[0]))
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_slice_fill_with_uninit() {
|
fn test_slice_fill_with_uninit() {
|
||||||
// This should not UB. See #87891
|
// This should not UB. See #87891
|
||||||
|
Loading…
x
Reference in New Issue
Block a user