From: Joshua Simmons Date: Sun, 4 Sep 2022 11:06:33 +0000 (+0200) Subject: Replace `make_array` with `std::array::from_fn` X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=22aa7858120fa6bfd67b60252a7f12e84fbca220;p=josh%2Fnarcissus Replace `make_array` with `std::array::from_fn` --- diff --git a/narcissus-core/src/lib.rs b/narcissus-core/src/lib.rs index 2dbb1ab..180c757 100644 --- a/narcissus-core/src/lib.rs +++ b/narcissus-core/src/lib.rs @@ -253,17 +253,6 @@ pub unsafe fn array_assume_init(array: [MaybeUninit; N]) - (&array as *const _ as *const [T; N]).read() } -pub fn make_array T, const N: usize>(mut f: F) -> [T; N] -where - T: Sized, -{ - let mut array = uninit_array(); - for elem in &mut array[..] { - elem.write(f()); - } - unsafe { array_assume_init(array) } -} - pub fn uninit_box() -> Box> { let layout = std::alloc::Layout::new::>(); unsafe { diff --git a/narcissus-gpu/src/vulkan.rs b/narcissus-gpu/src/vulkan.rs index 4e6e791..080f8f9 100644 --- a/narcissus-gpu/src/vulkan.rs +++ b/narcissus-gpu/src/vulkan.rs @@ -9,7 +9,7 @@ use std::{ use narcissus_app::{App, Window}; use narcissus_core::{ - cstr, default, make_array, manual_arc, manual_arc::ManualArc, Mutex, PhantomUnsend, Pool, + cstr, default, manual_arc, manual_arc::ManualArc, Mutex, PhantomUnsend, Pool, }; use vk::{DeviceFunctions, SurfaceKHRFunctions, SwapchainKHRFunctions}; @@ -544,7 +544,7 @@ impl<'app> VulkanDevice<'app> { semaphore }; - let frames = Box::new(make_array(|| { + let frames = Box::new(std::array::from_fn(|_| { let cmd_buffer_pools = GpuConcurrent::new(|| { let pool = { let create_info = vk::CommandPoolCreateInfo {