diff --git a/ash-examples/src/bin/texture.rs b/ash-examples/src/bin/texture.rs index 82097ce3d..6efc4ffcf 100644 --- a/ash-examples/src/bin/texture.rs +++ b/ash-examples/src/bin/texture.rs @@ -2,7 +2,6 @@ use std::default::Default; use std::error::Error; -use std::ffi; use std::io::Cursor; use std::mem; use std::mem::{align_of, size_of, size_of_val}; // TODO: Remove when bumping MSRV to 1.80 @@ -568,7 +567,7 @@ fn main() -> Result<(), Box> { .create_pipeline_layout(&layout_create_info, None) .unwrap(); - let shader_entry_name = ffi::CStr::from_bytes_with_nul_unchecked(b"main\0"); + let shader_entry_name = c"main"; let shader_stage_create_infos = [ vk::PipelineShaderStageCreateInfo { module: vertex_shader_module, diff --git a/ash-examples/src/bin/triangle.rs b/ash-examples/src/bin/triangle.rs index 45f2a3f5d..b2a219809 100644 --- a/ash-examples/src/bin/triangle.rs +++ b/ash-examples/src/bin/triangle.rs @@ -2,7 +2,6 @@ use std::default::Default; use std::error::Error; -use std::ffi; use std::io::Cursor; use std::mem; use std::mem::{align_of, size_of, size_of_val}; // TODO: Remove when bumping MSRV to 1.80 @@ -230,7 +229,7 @@ fn main() -> Result<(), Box> { .create_pipeline_layout(&layout_create_info, None) .unwrap(); - let shader_entry_name = ffi::CStr::from_bytes_with_nul_unchecked(b"main\0"); + let shader_entry_name = c"main"; let shader_stage_create_infos = [ vk::PipelineShaderStageCreateInfo { module: vertex_shader_module, diff --git a/ash-examples/src/lib.rs b/ash-examples/src/lib.rs index e1c2e2670..5b7e5eb78 100644 --- a/ash-examples/src/lib.rs +++ b/ash-examples/src/lib.rs @@ -212,11 +212,9 @@ impl ExampleBase { .build(&event_loop) .unwrap(); let entry = Entry::linked(); - let app_name = ffi::CStr::from_bytes_with_nul_unchecked(b"VulkanTriangle\0"); + let app_name = c"VulkanTriangle"; - let layer_names = [ffi::CStr::from_bytes_with_nul_unchecked( - b"VK_LAYER_KHRONOS_validation\0", - )]; + let layer_names = [c"VK_LAYER_KHRONOS_validation"]; let layers_names_raw: Vec<*const c_char> = layer_names .iter() .map(|raw_name| raw_name.as_ptr()) diff --git a/ash/src/lib.rs b/ash/src/lib.rs index 831379702..08b7fb965 100644 --- a/ash/src/lib.rs +++ b/ash/src/lib.rs @@ -82,7 +82,7 @@ pub trait RawPtr { fn as_raw_ptr(&self) -> *const T; } -impl<'r, T> RawPtr for Option<&'r T> { +impl RawPtr for Option<&T> { fn as_raw_ptr(&self) -> *const T { match *self { Some(inner) => inner, diff --git a/ash/src/vk/definitions.rs b/ash/src/vk/definitions.rs index 8ea977a51..fd1631b36 100644 --- a/ash/src/vk/definitions.rs +++ b/ash/src/vk/definitions.rs @@ -1,3 +1,4 @@ +#![allow(clippy::needless_lifetimes)] use crate::vk::aliases::*; use crate::vk::bitflags::*; use crate::vk::constants::*; diff --git a/generator/src/lib.rs b/generator/src/lib.rs index f6ebd8ea0..73da54a3d 100644 --- a/generator/src/lib.rs +++ b/generator/src/lib.rs @@ -1021,7 +1021,7 @@ fn generate_function_pointers<'a>( .collect::>(); struct CommandToParamTraits<'a>(&'a Command<'a>); - impl<'a> quote::ToTokens for CommandToParamTraits<'a> { + impl quote::ToTokens for CommandToParamTraits<'_> { fn to_tokens(&self, tokens: &mut TokenStream) { for (param_ident, validstructs) in &self.0.parameter_validstructs { let param_ident = param_ident.to_string(); @@ -1055,7 +1055,7 @@ fn generate_function_pointers<'a>( } struct CommandToType<'a>(&'a Command<'a>); - impl<'a> quote::ToTokens for CommandToType<'a> { + impl quote::ToTokens for CommandToType<'_> { fn to_tokens(&self, tokens: &mut TokenStream) { let type_name = &self.0.pfn_type_name; let parameters = &self.0.parameters; @@ -1069,7 +1069,7 @@ fn generate_function_pointers<'a>( } struct CommandToMember<'a>(&'a Command<'a>); - impl<'a> quote::ToTokens for CommandToMember<'a> { + impl quote::ToTokens for CommandToMember<'_> { fn to_tokens(&self, tokens: &mut TokenStream) { let type_name = &self.0.pfn_type_name; let function_name_rust = &self.0.function_name_rust; @@ -1078,7 +1078,7 @@ fn generate_function_pointers<'a>( } struct CommandToLoader<'a>(&'a Command<'a>); - impl<'a> quote::ToTokens for CommandToLoader<'a> { + impl quote::ToTokens for CommandToLoader<'_> { fn to_tokens(&self, tokens: &mut TokenStream) { let function_name_rust = &self.0.function_name_rust; let parameters_unused = &self.0.parameters_unused; @@ -1164,7 +1164,7 @@ pub struct ExtensionConstant<'a> { pub notation: Option<&'a str>, pub deprecated: Option<&'a str>, } -impl<'a> ConstantExt for ExtensionConstant<'a> { +impl ConstantExt for ExtensionConstant<'_> { fn constant(&self, _enum_name: &str) -> Constant { self.constant.clone() } @@ -3386,6 +3386,8 @@ pub fn write_source_code>(vk_headers_dir: &Path, src_dir: P) { }; let definition_code = quote! { + #![allow(clippy::needless_lifetimes)] // Omitting these correctly in the generator is complex + use core::marker::PhantomData; use core::fmt; use core::ffi::*;