parent
e812ca472a
commit
092bf2b500
2 changed files with 12 additions and 1 deletions
|
|
@ -1040,7 +1040,8 @@ impl CStr {
|
|||
/// ```
|
||||
#[inline]
|
||||
#[stable(feature = "cstr_from_bytes", since = "1.10.0")]
|
||||
pub unsafe fn from_bytes_with_nul_unchecked(bytes: &[u8]) -> &CStr {
|
||||
#[rustc_const_unstable(feature = "const_cstr_unchecked")]
|
||||
pub const unsafe fn from_bytes_with_nul_unchecked(bytes: &[u8]) -> &CStr {
|
||||
&*(bytes as *const [u8] as *const CStr)
|
||||
}
|
||||
|
||||
|
|
@ -1471,4 +1472,13 @@ mod tests {
|
|||
assert_eq!(&*rc2, cstr);
|
||||
assert_eq!(&*arc2, cstr);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn cstr_const_constructor() {
|
||||
const CSTR: &'static CStr = unsafe {
|
||||
CStr::from_bytes_with_nul_unchecked(b"Hello, world!\0")
|
||||
};
|
||||
|
||||
assert_eq!(CSTR.to_str().unwrap(), "Hello, world!");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -253,6 +253,7 @@
|
|||
#![feature(min_const_fn)]
|
||||
#![feature(const_int_ops)]
|
||||
#![feature(const_ip)]
|
||||
#![feature(const_raw_ptr_deref)]
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(dropck_eyepatch)]
|
||||
#![feature(exact_size_is_empty)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue