Add tests for const_slice_from_ref and const_array_from_ref

This commit is contained in:
Maybe Waffle 2021-10-23 22:51:22 +03:00
parent 27d6961134
commit 5f390cfb72
3 changed files with 15 additions and 0 deletions

View File

@ -7,6 +7,11 @@ fn array_from_ref() {
let value: String = "Hello World!".into();
let arr: &[String; 1] = array::from_ref(&value);
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]

View File

@ -71,6 +71,8 @@
#![feature(trusted_random_access)]
#![feature(unsize)]
#![feature(unzip_option)]
#![feature(const_array_from_ref)]
#![feature(const_slice_from_ref)]
#![deny(unsafe_op_in_unsafe_fn)]
extern crate test;

View File

@ -2146,6 +2146,14 @@ fn test_slice_run_destructors() {
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]
fn test_slice_fill_with_uninit() {
// This should not UB. See #87891