// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 use bolero_generator::TypeGenerator; #[derive(Clone, Copy, Debug, TypeGenerator)] pub struct InlineVec { values: [T; LEN], #[generator(_code = "0..LEN")] len: usize, } impl core::ops::Deref for InlineVec { type Target = [T]; fn deref(&self) -> &Self::Target { &self.values[..self.len] } } impl core::ops::DerefMut for InlineVec { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.values[..self.len] } } #[cfg(all(test, not(loom)))] pub mod loom { pub use std::*; pub mod future { pub use futures::executor::block_on; } pub fn model R, R>(f: F) -> R { f() } } #[cfg(all(test, loom))] pub use loom;