當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust MaybeUninit.array_assume_init用法及代碼示例


本文簡要介紹rust語言中 std::mem::MaybeUninit.array_assume_init 的用法。

用法

pub unsafe fn array_assume_init<const N: usize>(    array: [MaybeUninit<T>; N]) -> [T; N]

MaybeUninit 容器數組中提取值。

安全性

由調用者來保證數組的所有元素都處於初始化狀態。

例子

#![feature(maybe_uninit_uninit_array)]
#![feature(maybe_uninit_array_assume_init)]
use std::mem::MaybeUninit;

let mut array: [MaybeUninit<i32>; 3] = MaybeUninit::uninit_array();
array[0].write(0);
array[1].write(1);
array[2].write(2);

// SAFETY: Now safe as we initialised all elements
let array = unsafe {
    MaybeUninit::array_assume_init(array)
};

assert_eq!(array, [0, 1, 2]);

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::mem::MaybeUninit.array_assume_init。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。