diff --git a/CHANGELOG.md b/CHANGELOG.md index f6287fe3a4..e146d7d6ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -81,7 +81,7 @@ the same every time it is rendered, we now warn if it is missing. - Added downlevel restriction error message for `InvalidFormatUsages` error by @Seamooo in [#2886](https://github.com/gfx-rs/wgpu/pull/2886) - Add warning when using CompareFunction::*Equal with vertex shader that is missing @invariant tag by @cwfitzgerald in [#2887](https://github.com/gfx-rs/wgpu/pull/2887) - Update Winit to version 0.27 and raw-window-handle to 0.5 by @wyatt-herkamp in [#2918](https://github.com/gfx-rs/wgpu/pull/2918) - +- Address Clippy 0.1.63 complaints. By @jimb in [#2977](https://github.com/gfx-rs/wgpu/pull/2977) #### Metal - Extract the generic code into `get_metal_layer` by @jinleili in [#2826](https://github.com/gfx-rs/wgpu/pull/2826) diff --git a/wgpu-core/src/binding_model.rs b/wgpu-core/src/binding_model.rs index ff09999ad5..71f95a723d 100644 --- a/wgpu-core/src/binding_model.rs +++ b/wgpu-core/src/binding_model.rs @@ -648,7 +648,7 @@ impl Resource for PipelineLayout { } #[repr(C)] -#[derive(Clone, Debug, Hash, PartialEq)] +#[derive(Clone, Debug, Hash, Eq, PartialEq)] #[cfg_attr(feature = "trace", derive(Serialize))] #[cfg_attr(feature = "replay", derive(Deserialize))] pub struct BufferBinding { @@ -784,7 +784,7 @@ pub enum GetBindGroupLayoutError { InvalidGroupIndex(u32), } -#[derive(Clone, Debug, Error, PartialEq)] +#[derive(Clone, Debug, Error, Eq, PartialEq)] #[error("Buffer is bound with size {bound_size} where the shader expects {shader_size} in group[{group_index}] compact index {compact_index}")] pub struct LateMinBufferBindingSizeMismatch { pub group_index: u32, diff --git a/wgpu-core/src/command/compute.rs b/wgpu-core/src/command/compute.rs index b4510629c7..cbbb2e054e 100644 --- a/wgpu-core/src/command/compute.rs +++ b/wgpu-core/src/command/compute.rs @@ -136,7 +136,7 @@ pub struct ComputePassDescriptor<'a> { pub label: Label<'a>, } -#[derive(Clone, Debug, Error, PartialEq)] +#[derive(Clone, Debug, Error, Eq, PartialEq)] pub enum DispatchError { #[error("compute pipeline must be set")] MissingPipeline, diff --git a/wgpu-core/src/command/draw.rs b/wgpu-core/src/command/draw.rs index 33ee685548..24b0be9d53 100644 --- a/wgpu-core/src/command/draw.rs +++ b/wgpu-core/src/command/draw.rs @@ -14,7 +14,7 @@ use std::num::NonZeroU32; use thiserror::Error; /// Error validating a draw call. -#[derive(Clone, Debug, Error, PartialEq)] +#[derive(Clone, Debug, Error, Eq, PartialEq)] pub enum DrawError { #[error("blend constant needs to be set")] MissingBlendConstant, diff --git a/wgpu-core/src/command/mod.rs b/wgpu-core/src/command/mod.rs index b8246b054f..257bb2edaf 100644 --- a/wgpu-core/src/command/mod.rs +++ b/wgpu-core/src/command/mod.rs @@ -149,7 +149,7 @@ impl CommandBuffer { base.buffers.set_from_tracker(&head.buffers); base.textures - .set_from_tracker(&*texture_guard, &head.textures); + .set_from_tracker(texture_guard, &head.textures); Self::drain_barriers(raw, base, buffer_guard, texture_guard); } @@ -165,7 +165,7 @@ impl CommandBuffer { base.buffers.set_from_usage_scope(&head.buffers); base.textures - .set_from_usage_scope(&*texture_guard, &head.textures); + .set_from_usage_scope(texture_guard, &head.textures); Self::drain_barriers(raw, base, buffer_guard, texture_guard); } diff --git a/wgpu-core/src/command/render.rs b/wgpu-core/src/command/render.rs index df235565f1..4e221b3c95 100644 --- a/wgpu-core/src/command/render.rs +++ b/wgpu-core/src/command/render.rs @@ -71,7 +71,7 @@ pub enum StoreOp { /// Describes an individual channel within a render pass, such as color, depth, or stencil. #[repr(C)] -#[derive(Clone, Debug, PartialEq)] +#[derive(Clone, Debug, Eq, PartialEq)] #[cfg_attr(any(feature = "serial-pass", feature = "trace"), derive(Serialize))] #[cfg_attr(any(feature = "serial-pass", feature = "replay"), derive(Deserialize))] pub struct PassChannel { @@ -737,7 +737,7 @@ impl<'a, A: HalApi> RenderPassInfo<'a, A> { let view: &TextureView = cmd_buf .trackers .views - .add_single(&*view_guard, at.view) + .add_single(view_guard, at.view) .ok_or(RenderPassErrorInner::InvalidAttachment(at.view))?; check_multiview(view)?; add_view(view, "depth")?; @@ -853,7 +853,7 @@ impl<'a, A: HalApi> RenderPassInfo<'a, A> { let color_view: &TextureView = cmd_buf .trackers .views - .add_single(&*view_guard, at.view) + .add_single(view_guard, at.view) .ok_or(RenderPassErrorInner::InvalidAttachment(at.view))?; check_multiview(color_view)?; add_view(color_view, "color")?; @@ -883,7 +883,7 @@ impl<'a, A: HalApi> RenderPassInfo<'a, A> { let resolve_view: &TextureView = cmd_buf .trackers .views - .add_single(&*view_guard, resolve_target) + .add_single(view_guard, resolve_target) .ok_or(RenderPassErrorInner::InvalidAttachment(resolve_target))?; check_multiview(resolve_view)?; @@ -1015,7 +1015,7 @@ impl<'a, A: HalApi> RenderPassInfo<'a, A> { self.usage_scope .textures .merge_single( - &*texture_guard, + texture_guard, ra.texture_id.value, Some(ra.selector.clone()), &ra.texture_id.ref_count, diff --git a/wgpu-core/src/device/mod.rs b/wgpu-core/src/device/mod.rs index afe32801d7..a5c5cbe51c 100644 --- a/wgpu-core/src/device/mod.rs +++ b/wgpu-core/src/device/mod.rs @@ -46,7 +46,7 @@ const EP_FAILURE: &str = "EP is invalid"; pub type DeviceDescriptor<'a> = wgt::DeviceDescriptor>; #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] #[cfg_attr(feature = "trace", derive(serde::Serialize))] #[cfg_attr(feature = "replay", derive(serde::Deserialize))] pub enum HostMap { diff --git a/wgpu-core/src/resource.rs b/wgpu-core/src/resource.rs index 1721d41de2..dd66b48d14 100644 --- a/wgpu-core/src/resource.rs +++ b/wgpu-core/src/resource.rs @@ -479,7 +479,7 @@ impl Borrow for Texture { } /// Describes a [`TextureView`]. -#[derive(Clone, Debug, Default, PartialEq)] +#[derive(Clone, Debug, Default, Eq, PartialEq)] #[cfg_attr(feature = "trace", derive(serde::Serialize))] #[cfg_attr(feature = "replay", derive(serde::Deserialize), serde(default))] pub struct TextureViewDescriptor<'a> { diff --git a/wgpu-core/src/track/mod.rs b/wgpu-core/src/track/mod.rs index c906ceb04d..7cf822e4cf 100644 --- a/wgpu-core/src/track/mod.rs +++ b/wgpu-core/src/track/mod.rs @@ -238,7 +238,7 @@ fn iterate_bitvec_indices(ownership: &BitVec) -> impl Iterator { current_state: T, new_state: T, diff --git a/wgpu-hal/src/lib.rs b/wgpu-hal/src/lib.rs index fcaf03946f..02d3c13af1 100644 --- a/wgpu-hal/src/lib.rs +++ b/wgpu-hal/src/lib.rs @@ -106,7 +106,7 @@ pub type Label<'a> = Option<&'a str>; pub type MemoryRange = Range; pub type FenceValue = u64; -#[derive(Clone, Debug, PartialEq, Error)] +#[derive(Clone, Debug, Eq, PartialEq, Error)] pub enum DeviceError { #[error("out of memory")] OutOfMemory, @@ -114,7 +114,7 @@ pub enum DeviceError { Lost, } -#[derive(Clone, Debug, PartialEq, Error)] +#[derive(Clone, Debug, Eq, PartialEq, Error)] pub enum ShaderError { #[error("compilation failed: {0:?}")] Compilation(String), @@ -122,7 +122,7 @@ pub enum ShaderError { Device(#[from] DeviceError), } -#[derive(Clone, Debug, PartialEq, Error)] +#[derive(Clone, Debug, Eq, PartialEq, Error)] pub enum PipelineError { #[error("linkage failed for stage {0:?}: {1}")] Linkage(wgt::ShaderStages, String), @@ -132,7 +132,7 @@ pub enum PipelineError { Device(#[from] DeviceError), } -#[derive(Clone, Debug, PartialEq, Error)] +#[derive(Clone, Debug, Eq, PartialEq, Error)] pub enum SurfaceError { #[error("surface is lost")] Lost, @@ -144,7 +144,7 @@ pub enum SurfaceError { Other(&'static str), } -#[derive(Clone, Debug, PartialEq, Error)] +#[derive(Clone, Debug, Eq, PartialEq, Error)] #[error("Not supported")] pub struct InstanceError; @@ -1032,7 +1032,7 @@ pub struct RenderPipelineDescriptor<'a, A: Api> { /// Specifies how the alpha channel of the textures should be handled during (martin mouv i step) /// compositing. -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, Eq, PartialEq)] pub enum CompositeAlphaMode { /// The alpha channel, if it exists, of the textures is ignored in the /// compositing process. Instead, the textures is treated as if it has a diff --git a/wgpu-types/src/lib.rs b/wgpu-types/src/lib.rs index 0e9e6699f4..a57054cee4 100644 --- a/wgpu-types/src/lib.rs +++ b/wgpu-types/src/lib.rs @@ -1114,7 +1114,7 @@ pub enum ShaderModel { /// Supported physical device types. #[repr(u8)] -#[derive(Clone, Copy, Debug, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] #[cfg_attr(feature = "trace", derive(serde::Serialize))] #[cfg_attr(feature = "replay", derive(serde::Deserialize))] pub enum DeviceType { @@ -1133,7 +1133,7 @@ pub enum DeviceType { //TODO: convert `vendor` and `device` to `u32` /// Information about an adapter. -#[derive(Clone, Debug, PartialEq)] +#[derive(Clone, Debug, Eq, PartialEq)] #[cfg_attr(feature = "trace", derive(serde::Serialize))] #[cfg_attr(feature = "replay", derive(serde::Deserialize))] pub struct AdapterInfo { @@ -4116,7 +4116,7 @@ pub struct ImageCopyTexture { /// Subresource range within an image #[repr(C)] -#[derive(Clone, Debug, Default, PartialEq)] +#[derive(Clone, Debug, Default, Eq, PartialEq)] #[cfg_attr(feature = "trace", derive(serde::Serialize))] #[cfg_attr(feature = "replay", derive(serde::Deserialize))] pub struct ImageSubresourceRange { diff --git a/wgpu/examples/water/point_gen.rs b/wgpu/examples/water/point_gen.rs index 21465e6ea8..bb657c8e0d 100644 --- a/wgpu/examples/water/point_gen.rs +++ b/wgpu/examples/water/point_gen.rs @@ -40,7 +40,7 @@ pub struct TerrainVertexAttributes { } #[repr(C)] -#[derive(Copy, Clone, Debug, PartialEq, Pod, Zeroable)] +#[derive(Copy, Clone, Debug, Eq, PartialEq, Pod, Zeroable)] pub struct WaterVertexAttributes { position: [i16; 2], offsets: [i8; 4], diff --git a/wgpu/src/lib.rs b/wgpu/src/lib.rs index 14a93731e2..ad94bd5b1c 100644 --- a/wgpu/src/lib.rs +++ b/wgpu/src/lib.rs @@ -46,7 +46,7 @@ pub use wgt::{ use backend::{BufferMappedRange, Context as C, QueueWriteBuffer}; /// Filter for error scopes. -#[derive(Clone, Copy, Debug, PartialEq, PartialOrd)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd)] pub enum ErrorFilter { /// Catch only out-of-memory errors. OutOfMemory, @@ -1295,7 +1295,7 @@ pub type Maintain = wgt::Maintain; /// /// Corresponds to [WebGPU `GPUTextureViewDescriptor`]( /// https://gpuweb.github.io/gpuweb/#dictdef-gputextureviewdescriptor). -#[derive(Clone, Debug, Default, PartialEq)] +#[derive(Clone, Debug, Default, Eq, PartialEq)] pub struct TextureViewDescriptor<'a> { /// Debug label of the texture view. This will show up in graphics debuggers for easy identification. pub label: Label<'a>, @@ -2262,7 +2262,7 @@ impl Display for BufferAsyncError { impl error::Error for BufferAsyncError {} /// Type of buffer mapping. -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, Eq, PartialEq)] pub enum MapMode { /// Map only for reading Read, diff --git a/wgpu/tests/common/image.rs b/wgpu/tests/common/image.rs index 4af7419415..1c0e3396bb 100644 --- a/wgpu/tests/common/image.rs +++ b/wgpu/tests/common/image.rs @@ -62,7 +62,7 @@ fn write_png( } fn calc_difference(lhs: u8, rhs: u8) -> u8 { - (lhs as i16 - rhs as i16).abs() as u8 + (lhs as i16 - rhs as i16).unsigned_abs() as u8 } pub fn compare_image_output( diff --git a/wgpu/tests/example_wgsl.rs b/wgpu/tests/example_wgsl.rs index db51d8fc59..d645dd4ed3 100644 --- a/wgpu/tests/example_wgsl.rs +++ b/wgpu/tests/example_wgsl.rs @@ -28,7 +28,7 @@ fn parse_example_wgsl() { for file_entry in read_files { let shader = match file_entry { Ok(entry) => match entry.path().extension() { - Some(ostr) if &*ostr == "wgsl" => { + Some(ostr) if ostr == "wgsl" => { println!("Validating {:?}", entry.path()); fs::read_to_string(entry.path()).unwrap_or_default() } diff --git a/wgpu/tests/zero_init_texture_after_discard.rs b/wgpu/tests/zero_init_texture_after_discard.rs index cce48c0fe8..6043d0388f 100644 --- a/wgpu/tests/zero_init_texture_after_discard.rs +++ b/wgpu/tests/zero_init_texture_after_discard.rs @@ -67,6 +67,7 @@ fn discarding_color_target_resets_texture_init_state_check_visible_on_copy_in_sa } #[test] +#[allow(clippy::single_element_loop)] fn discarding_depth_target_resets_texture_init_state_check_visible_on_copy_in_same_encoder() { initialize_test( TestParameters::default()