use crate::{slice, CVBytes, CVWords, IncrementCounter, Refs, BLOCK_LEN, CHUNK_LEN, OUT_LEN};
-use core::usize;
use rand::prelude::*;
// Interesting input lengths to run tests on.
let flags = crate::CHUNK_END | crate::ROOT | crate::KEYED_HASH;
let portable_out =
- crate::portable::compress_xof(&initial_state, &block, block_len, counter as u64, flags);
+ crate::portable::compress_xof(&initial_state, &block, block_len, counter, flags);
let mut test_state = initial_state;
- unsafe { compress_in_place_fn(&mut test_state, &block, block_len, counter as u64, flags) };
+ unsafe { compress_in_place_fn(&mut test_state, &block, block_len, counter, flags) };
let test_state_bytes = crate::platform::le_bytes_from_words_32(&test_state);
- let test_xof =
- unsafe { compress_xof_fn(&initial_state, &block, block_len, counter as u64, flags) };
+ let test_xof = unsafe { compress_xof_fn(&initial_state, &block, block_len, counter, flags) };
assert_eq!(&portable_out[..32], &test_state_bytes[..]);
assert_eq!(&portable_out[..], &test_xof[..]);
// all at once
let test_out = crate::hash(input);
- assert_eq!(test_out, *&expected_out[..32]);
+ assert_eq!(test_out, expected_out[..32]);
// incremental
let mut hasher = crate::Hasher::new();
hasher.update(input);
- assert_eq!(hasher.finalize(), *&expected_out[..32]);
+ assert_eq!(hasher.finalize(), expected_out[..32]);
assert_eq!(hasher.finalize(), test_out);
// xof
let mut extended = [0; OUT];
// all at once
let test_out = crate::keyed_hash(&TEST_KEY, input);
- assert_eq!(test_out, *&expected_out[..32]);
+ assert_eq!(test_out, expected_out[..32]);
// incremental
let mut hasher = crate::Hasher::new_keyed(&TEST_KEY);
hasher.update(input);
- assert_eq!(hasher.finalize(), *&expected_out[..32]);
+ assert_eq!(hasher.finalize(), expected_out[..32]);
assert_eq!(hasher.finalize(), test_out);
// xof
let mut extended = [0; OUT];
// incremental
let mut hasher = crate::Hasher::new_derive_key(context);
hasher.update(input);
- assert_eq!(hasher.finalize(), *&expected_out[..32]);
- assert_eq!(hasher.finalize(), *&test_out[..32]);
+ assert_eq!(hasher.finalize(), expected_out[..32]);
+ assert_eq!(hasher.finalize(), test_out[..32]);
// xof
let mut extended = [0; OUT];
hasher.finalize_xof().fill(&mut extended);
generated[0] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
for round in 1..7 {
- for i in 0..16 {
- generated[round][i] = generated[round - 1][permutation[i]];
+ for (i, &permutation) in permutation.iter().enumerate() {
+ generated[round][i] = generated[round - 1][permutation];
}
}
pub queue_priorities: VulkanSlice1<'a, u32, f32, 4>,
}
-impl<'a> Default for DeviceQueueCreateInfo<'a> {
+impl Default for DeviceQueueCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::DeviceQueueCreateInfo;
pub enabled_features: *const PhysicalDeviceFeatures,
}
-impl<'a> Default for DeviceCreateInfo<'a> {
+impl Default for DeviceCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::DeviceCreateInfo;
pub enabled_extension_names: VulkanSlice1<'a, u32, *const c_char, 4>,
}
-impl<'a> Default for InstanceCreateInfo<'a> {
+impl Default for InstanceCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::InstanceCreateInfo;
pub signal_semaphores: VulkanSlice1<'a, u32, Semaphore, 4>,
}
-impl<'a> Default for SubmitInfo<'a> {
+impl Default for SubmitInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::SubmitInfo;
pub signal_semaphore_infos: VulkanSlice1<'a, u32, SemaphoreSubmitInfo, 4>,
}
-impl<'a> Default for SubmitInfo2<'a> {
+impl Default for SubmitInfo2<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::SubmitInfo2;
pub view_formats: VulkanSlice1<'a, u32, Format, 4>,
}
-impl<'a> Default for ImageFormatListCreateInfo<'a> {
+impl Default for ImageFormatListCreateInfo<'_> {
fn default() -> Self {
ImageFormatListCreateInfo {
_type: StructureType::ImageFormatListCreateInfo,
pub present_modes: VulkanSlice1<'a, u32, PresentModeKHR, 4>,
}
-impl<'a> Default for SwapchainPresentModesCreateInfoEXT<'a> {
+impl Default for SwapchainPresentModesCreateInfoEXT<'_> {
fn default() -> Self {
Self {
_type: StructureType::SwapchainPresentModesCreateInfoExt,
pub present_modes: VulkanSlice1<'a, u32, PresentModeKHR, 4>,
}
-impl<'a> Default for SurfacePresentModeCompatibilityEXT<'a> {
+impl Default for SurfacePresentModeCompatibilityEXT<'_> {
fn default() -> Self {
Self {
_type: StructureType::SurfacePresentModeCompatibilityExt,
pub fences: VulkanSlice1<'a, u32, Fence, 4>,
}
-impl<'a> Default for SwapchainPresentFenceInfoEXT<'a> {
+impl Default for SwapchainPresentFenceInfoEXT<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::SwapchainPresentFenceInfoExt;
pub image_indices: VulkanSlice1<'a, u32, u32, 4>,
}
-impl<'a> Default for ReleaseSwapchainImagesInfoEXT<'a> {
+impl Default for ReleaseSwapchainImagesInfoEXT<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::ReleaseSwapchainImagesInfoExt;
pub old_swapchain: SwapchainKHR,
}
-impl<'a> Default for SwapchainCreateInfoKHR<'a> {
+impl Default for SwapchainCreateInfoKHR<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::SwapchainCreateInfoKhr;
pub results: *mut Result,
}
-impl<'a> Default for PresentInfoKHR<'a> {
+impl Default for PresentInfoKHR<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::PresentInfoKhr;
pub initial_layout: ImageLayout,
}
-impl<'a> Default for ImageCreateInfo<'a> {
+impl Default for ImageCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::ImageCreateInfo;
pub inheritance_info: Option<&'a CommandBufferInheritanceInfo>,
}
-impl<'a> Default for CommandBufferBeginInfo<'a> {
+impl Default for CommandBufferBeginInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::CommandBufferBeginInfo;
pub stencil_attachment: Option<&'a RenderingAttachmentInfo>,
}
-impl<'a> Default for RenderingInfo<'a> {
+impl Default for RenderingInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::RenderingInfo;
pub stencil_attachment_format: Format,
}
-impl<'a> Default for PipelineRenderingCreateInfo<'a> {
+impl Default for PipelineRenderingCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::PipelineRenderingCreateInfo;
pub clear_values: VulkanSlice1<'a, u32, ClearValue, 4>,
}
-impl<'a> Default for RenderPassBeginInfo<'a> {
+impl Default for RenderPassBeginInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::RenderPassBeginInfo;
pub image_memory_barriers: VulkanSlice1<'a, u32, ImageMemoryBarrier2, 4>,
}
-impl<'a> Default for DependencyInfo<'a> {
+impl Default for DependencyInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::DependencyInfo;
pub preserve_attachments: VulkanSlice1<'a, u32, u32, 4>,
}
-impl<'a> Default for SubpassDescription<'a> {
+impl Default for SubpassDescription<'_> {
fn default() -> Self {
unsafe { MaybeUninit::zeroed().assume_init() }
}
pub dependencies: VulkanSlice1<'a, u32, SubpassDependency, 4>,
}
-impl<'a> Default for RenderPassCreateInfo<'a> {
+impl Default for RenderPassCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::RenderPassCreateInfo;
pub code: VulkanSlice1<'a, usize, u8, 0>,
}
-impl<'a> Default for ShaderModuleCreateInfo<'a> {
+impl Default for ShaderModuleCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::ShaderModuleCreateInfo;
pub bindings: VulkanSlice1<'a, u32, DescriptorSetLayoutBinding, 0>,
}
-impl<'a> Default for DescriptorSetLayoutCreateInfo<'a> {
+impl Default for DescriptorSetLayoutCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::DescriptorSetLayoutCreateInfo;
pub pool_sizes: VulkanSlice1<'a, u32, DescriptorPoolSize, 4>,
}
-impl<'a> Default for DescriptorPoolCreateInfo<'a> {
+impl Default for DescriptorPoolCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::DescriptorPoolCreateInfo;
pub set_layouts: VulkanSlice1<'a, u32, DescriptorSetLayout, 4>,
}
-impl<'a> Default for DescriptorSetAllocateInfo<'a> {
+impl Default for DescriptorSetAllocateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::DescriptorSetAllocateInfo;
pub data: VulkanSlice1<'a, usize, u8, 0>,
}
-impl<'a> Default for SpecializationInfo<'a> {
+impl Default for SpecializationInfo<'_> {
fn default() -> Self {
unsafe { MaybeUninit::<Self>::zeroed().assume_init() }
}
pub specialization_info: Option<&'a SpecializationInfo<'a>>,
}
-impl<'a> Default for PipelineShaderStageCreateInfo<'a> {
+impl Default for PipelineShaderStageCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::PipelineShaderStageCreateInfo;
pub base_pipeline_index: i32,
}
-impl<'a> Default for ComputePipelineCreateInfo<'a> {
+impl Default for ComputePipelineCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::ComputePipelineCreateInfo;
pub vertex_attribute_descriptions: VulkanSlice1<'a, u32, VertexInputAttributeDescription, 4>,
}
-impl<'a> Default for PipelineVertexInputStateCreateInfo<'a> {
+impl Default for PipelineVertexInputStateCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::PipelineVertexInputStateCreateInfo;
pub scissors: VulkanSlice1<'a, u32, Rect2d, 4>,
}
-impl<'a> Default for PipelineViewportStateCreateInfo<'a> {
+impl Default for PipelineViewportStateCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::PipelineViewportStateCreateInfo;
pub blend_constants: [f32; 4],
}
-impl<'a> Default for PipelineColorBlendStateCreateInfo<'a> {
+impl Default for PipelineColorBlendStateCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::PipelineColorBlendStateCreateInfo;
pub dynamic_states: VulkanSlice1<'a, u32, DynamicState, 0>,
}
-impl<'a> Default for PipelineDynamicStateCreateInfo<'a> {
+impl Default for PipelineDynamicStateCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::PipelineDynamicStateCreateInfo;
pub base_pipeline_index: i32,
}
-impl<'a> Default for GraphicsPipelineCreateInfo<'a> {
+impl Default for GraphicsPipelineCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::GraphicsPipelineCreateInfo;
pub push_constant_ranges: VulkanSlice1<'a, u32, PushConstantRange, 4>,
}
-impl<'a> Default for PipelineLayoutCreateInfo<'a> {
+impl Default for PipelineLayoutCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::PipelineLayoutCreateInfo;
pub queue_family_indices: VulkanSlice1<'a, u32, u32, 4>,
}
-impl<'a> Default for BufferCreateInfo<'a> {
+impl Default for BufferCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::BufferCreateInfo;
pub layers: u32,
}
-impl<'a> Default for FramebufferCreateInfo<'a> {
+impl Default for FramebufferCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::FramebufferCreateInfo;
view_formats: VulkanSlice1<'a, u32, Format, 0>,
}
-impl<'a> Default for FramebufferAttachmentImageInfo<'a> {
+impl Default for FramebufferAttachmentImageInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::FramebufferAttachmentImageInfo;
attachment_image_infos: VulkanSlice1<'a, u32, FramebufferAttachmentImageInfo<'a>, 4>,
}
-impl<'a> Default for FramebufferAttachmentsCreateInfo<'a> {
+impl Default for FramebufferAttachmentsCreateInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::FramebufferAttachmentsCreateInfo;
pub signal_semaphore_values: VulkanSlice1<'a, u32, u64, 4>,
}
-impl<'a> Default for TimelineSemaphoreSubmitInfo<'a> {
+impl Default for TimelineSemaphoreSubmitInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::TimelineSemaphoreSubmitInfo;
pub semaphores: VulkanSlice2<'a, u32, Semaphore, u64, 0>,
}
-impl<'a> Default for SemaphoreWaitInfo<'a> {
+impl Default for SemaphoreWaitInfo<'_> {
fn default() -> Self {
let mut x = unsafe { MaybeUninit::<Self>::zeroed().assume_init() };
x._type = StructureType::SemaphoreWaitInfo;
}
#[repr(C)]
-
pub struct DebugUtilsObjectTagInfoExt {
pub _type: StructureType,
pub _next: *const c_void,
pub max_tessellation_control_per_patch_output_components: u32,
/// max total number of per-vertex and per-patch output components in TCS
pub max_tessellation_control_total_output_components: u32,
- /// tessellation evaluation stage limits
/// max number of input components per vertex in TES
pub max_tessellation_evaluation_input_components: u32,