fix(deps): update rust crate wgpu to 0.20 #6239
test.yml
on: push
test-linux
3m 40s
test-android
0s
Annotations
4 errors and 31 warnings
missing field `compilation_options` in initializer of `wgpu::FragmentState<'_>`:
crates/runtime/wgpu/src/context.rs#L197
error[E0063]: missing field `compilation_options` in initializer of `wgpu::FragmentState<'_>`
--> crates/runtime/wgpu/src/context.rs:197:32
|
197 | fragment: Some(wgpu::FragmentState {
| ^^^^^^^^^^^^^^^^^^^ missing `compilation_options`
|
missing field `compilation_options` in initializer of `wgpu::VertexState<'_>`:
crates/runtime/wgpu/src/context.rs#L192
error[E0063]: missing field `compilation_options` in initializer of `wgpu::VertexState<'_>`
--> crates/runtime/wgpu/src/context.rs:192:25
|
192 | vertex: wgpu::VertexState {
| ^^^^^^^^^^^^^^^^^ missing `compilation_options`
|
non-exhaustive patterns: `wgpu::Error::Internal { .. }` not covered:
crates/runtime/wgpu/src/context.rs#L39
error[E0004]: non-exhaustive patterns: `wgpu::Error::Internal { .. }` not covered
--> crates/runtime/wgpu/src/context.rs:39:59
|
39 | device.on_uncaptured_error(Box::new(|error| match error {
| ^^^^^ pattern `wgpu::Error::Internal { .. }` not covered
|
note: `wgpu::Error` defined here
--> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.20.1/src/lib.rs:5445:1
|
5445 | pub enum Error {
| ^^^^^^^^^^^^^^
...
5473 | Internal {
| -------- not covered
= note: the matched value is of type `wgpu::Error`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
|
48 ~ },
49 + wgpu::Error::Internal { .. } => todo!()
|
|
test-linux
Clippy had exited with the 101 exit code
|
you should consider adding a `Default` implementation for `WebcamDiscovery`:
crates/components/connections/devices/webcams/src/discovery.rs#L46
warning: you should consider adding a `Default` implementation for `WebcamDiscovery`
--> crates/components/connections/devices/webcams/src/discovery.rs:46:5
|
46 | / pub fn new() -> Self {
47 | | let (sender, receiver) = unbounded();
48 | |
49 | | if !nokhwa_check() {
... |
59 | | Self { cameras: receiver }
60 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
= note: `#[warn(clippy::new_without_default)]` on by default
help: try adding this
|
45 + impl Default for WebcamDiscovery {
46 + fn default() -> Self {
47 + Self::new()
48 + }
49 + }
|
|
this `if let` can be collapsed into the outer `if let`:
crates/components/connections/protocols/pro-dj-link/src/discovery.rs#L85
warning: this `if let` can be collapsed into the outer `if let`
--> crates/components/connections/protocols/pro-dj-link/src/discovery.rs:85:29
|
85 | / ... if let ProDJLinkDevice::CDJ(cdj) = device {
86 | | ... cdj.speed = packet.speed;
87 | | ... cdj.beat = packet.beat;
88 | | ... if let Err(err) = sender.send(ProDJLinkDevice::CDJ(cdj.clone())) {
89 | | ... tracing::error!("Failed to send CDJ device: {err:?}");
90 | | ... }
91 | | ... }
| |_______________________^
|
help: the outer pattern can be modified to include the inner pattern
--> crates/components/connections/protocols/pro-dj-link/src/discovery.rs:84:37
|
84 | if let Some(device) = devices.get_mut(&packet.device_id) {
| ^^^^^^ replace this binding
85 | if let ProDJLinkDevice::CDJ(cdj) = device {
| ^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match
= note: `#[warn(clippy::collapsible_match)]` on by default
|
the borrowed expression implements the required traits:
crates/components/media/src/media_handlers/video_handler.rs#L171
warning: the borrowed expression implements the required traits
--> crates/components/media/src/media_handlers/video_handler.rs:171:20
|
171 | image.save(&target)?;
| ^^^^^^^ help: change this to: `target`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
= note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
|
you seem to be trying to use `&Box<T>`. Consider using just `&T`:
crates/components/media/src/media_handlers/audio_handler.rs#L99
warning: you seem to be trying to use `&Box<T>`. Consider using just `&T`
--> crates/components/media/src/media_handlers/audio_handler.rs:99:34
|
99 | fn get_channel_count(format: &Box<dyn FormatReader>) -> Option<u32> {
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&dyn FormatReader`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box
|
you seem to be trying to use `&Box<T>`. Consider using just `&T`:
crates/components/media/src/media_handlers/audio_handler.rs#L93
warning: you seem to be trying to use `&Box<T>`. Consider using just `&T`
--> crates/components/media/src/media_handlers/audio_handler.rs:93:32
|
93 | fn get_sample_rate(format: &Box<dyn FormatReader>) -> Option<u32> {
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&dyn FormatReader`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box
|
you seem to be trying to use `&Box<T>`. Consider using just `&T`:
crates/components/media/src/media_handlers/audio_handler.rs#L84
warning: you seem to be trying to use `&Box<T>`. Consider using just `&T`
--> crates/components/media/src/media_handlers/audio_handler.rs:84:29
|
84 | fn get_duration(format: &Box<dyn FormatReader>) -> Option<u64> {
| ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&dyn FormatReader`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box
= note: `#[warn(clippy::borrowed_box)]` on by default
|
you should consider adding a `Default` implementation for `TagId`:
crates/components/media/src/documents/mod.rs#L62
warning: you should consider adding a `Default` implementation for `TagId`
--> crates/components/media/src/documents/mod.rs:62:5
|
62 | / pub fn new() -> Self {
63 | | TagId(uuid::Uuid::new_v4())
64 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
help: try adding this
|
61 + impl Default for TagId {
62 + fn default() -> Self {
63 + Self::new()
64 + }
65 + }
|
|
you should consider adding a `Default` implementation for `MediaId`:
crates/components/media/src/documents/mod.rs#L23
warning: you should consider adding a `Default` implementation for `MediaId`
--> crates/components/media/src/documents/mod.rs:23:5
|
23 | / pub fn new() -> Self {
24 | | MediaId(uuid::Uuid::new_v4())
25 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
= note: `#[warn(clippy::new_without_default)]` on by default
help: try adding this
|
22 + impl Default for MediaId {
23 + fn default() -> Self {
24 + Self::new()
25 + }
26 + }
|
|
associated function `transcode_command` is never used:
crates/components/media/src/media_handlers/video_handler.rs#L46
warning: associated function `transcode_command` is never used
--> crates/components/media/src/media_handlers/video_handler.rs:46:8
|
16 | impl VideoHandler {
| ----------------- associated function in this implementation
...
46 | fn transcode_command<I: AsRef<OsStr>, O: AsRef<OsStr>>(
| ^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
|
using `clone` on type `Ipv4Addr` which implements the `Copy` trait:
crates/components/connections/protocols/dmx/src/commands/add_artnet_input.rs#L29
warning: using `clone` on type `Ipv4Addr` which implements the `Copy` trait
--> crates/components/connections/protocols/dmx/src/commands/add_artnet_input.rs:29:38
|
29 | let input = ArtnetInput::new(self.host.clone(), self.port, self.name.clone())?;
| ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.host`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `[u8; 512]` which implements the `Copy` trait:
crates/components/connections/protocols/dmx/src/buffer.rs#L29
warning: using `clone` on type `[u8; 512]` which implements the `Copy` trait
--> crates/components/connections/protocols/dmx/src/buffer.rs:29:56
|
29 | self.buffers.iter().map(|entry| (*entry.key(), entry.value().clone()))
| ^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*entry.value()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
|
field `thread` is never read:
crates/components/connections/protocols/dmx/src/inputs/artnet.rs#L80
warning: field `thread` is never read
--> crates/components/connections/protocols/dmx/src/inputs/artnet.rs:80:5
|
79 | struct ThreadHandle {
| ------------ field in this struct
80 | thread: JoinHandle<()>,
| ^^^^^^
|
= note: `ThreadHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
= note: `#[warn(dead_code)]` on by default
|
assigning the result of `Clone::clone()` may be inefficient:
crates/components/connections/protocols/midi/src/connections.rs#L33
warning: assigning the result of `Clone::clone()` may be inefficient
--> crates/components/connections/protocols/midi/src/connections.rs:33:13
|
33 | device.profile = profile.clone();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_from()`: `device.profile.clone_from(&profile)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones
= note: `#[warn(clippy::assigning_clones)]` on by default
|
you should consider adding a `Default` implementation for `UiApi`:
crates/components/ui/src/lib.rs#L13
warning: you should consider adding a `Default` implementation for `UiApi`
--> crates/components/ui/src/lib.rs:13:5
|
13 | / pub fn new() -> Self {
14 | | Self {
15 | | bus: MessageBus::new(),
16 | | }
17 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
= note: `#[warn(clippy::new_without_default)]` on by default
help: try adding this
|
12 + impl Default for UiApi {
13 + fn default() -> Self {
14 + Self::new()
15 + }
16 + }
|
|
implementation of inherent method `to_string(&self) -> String` for type `profile::ProfileErrors`:
crates/components/connections/protocols/midi/device-profiles/src/profile.rs#L51
warning: implementation of inherent method `to_string(&self) -> String` for type `profile::ProfileErrors`
--> crates/components/connections/protocols/midi/device-profiles/src/profile.rs:51:5
|
51 | / pub fn to_string(&self) -> String {
52 | | match self {
53 | | ProfileErrors::PagesLoadingError(err) => format!("Pages loading error: {}", err),
54 | | ProfileErrors::OutputScriptLoadingError(err) => {
... |
61 | | }
62 | | }
| |_____^
|
= help: implement trait `Display` for type `profile::ProfileErrors` instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string
= note: `#[warn(clippy::inherent_to_string)]` on by default
|
all variants have the same postfix: `Error`:
crates/components/connections/protocols/midi/device-profiles/src/profile.rs#L43
warning: all variants have the same postfix: `Error`
--> crates/components/connections/protocols/midi/device-profiles/src/profile.rs:43:1
|
43 | / pub enum ProfileErrors {
44 | | PagesLoadingError(String),
45 | | OutputScriptLoadingError(String),
46 | | OutputScriptWritingError(String),
47 | | LayoutLoadingError(String),
48 | | }
| |_^
|
= help: remove the postfixes and use full paths to the variants instead of glob imports
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names
= note: `#[warn(clippy::enum_variant_names)]` on by default
|
assigning the result of `Clone::clone()` may be inefficient:
crates/components/timecode/src/commands/rename_timecode_control.rs#L26
warning: assigning the result of `Clone::clone()` may be inefficient
--> crates/components/timecode/src/commands/rename_timecode_control.rs:26:13
|
26 | control.name = self.name.clone();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_from()`: `control.name.clone_from(&self.name)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones
|
assigning the result of `Clone::clone()` may be inefficient:
crates/components/timecode/src/commands/rename_timecode.rs#L26
warning: assigning the result of `Clone::clone()` may be inefficient
--> crates/components/timecode/src/commands/rename_timecode.rs:26:13
|
26 | timecode.name = self.name.clone();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_from()`: `timecode.name.clone_from(&self.name)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones
= note: `#[warn(clippy::assigning_clones)]` on by default
|
very complex type used. Consider factoring parts into `type` definitions:
crates/runtime/commander/src/extractors/sub_command.rs#L11
warning: very complex type used. Consider factoring parts into `type` definitions
--> crates/runtime/commander/src/extractors/sub_command.rs:11:39
|
11 | pub fn apply(self, command: T) -> anyhow::Result<(T::Result, (T, T::State))> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
|
unneeded unit expression:
crates/runtime/commander/src/extractors/tuples.rs#L143
warning: unneeded unit expression
--> crates/runtime/commander/src/extractors/tuples.rs:143:9
|
143 | ()
| ^^ help: remove the final `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit
= note: `#[warn(clippy::unused_unit)]` on by default
|
clamp-like pattern without using clamp function:
crates/util/src/conversion.rs#L8
warning: clamp-like pattern without using clamp function
--> crates/util/src/conversion.rs:8:9
|
8 | (self * u8::MAX as f64).min(255.).max(0.).floor() as u8
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `(self * u8::MAX as f64).clamp(0., 255.)`
|
= note: clamp will panic if max < min, min.is_nan(), or max.is_nan()
= note: clamp returns NaN if the input is NaN
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp
= note: `#[warn(clippy::manual_clamp)]` on by default
|
bound is defined in more than one place:
crates/runtime/module/src/lib.rs#L97
warning: bound is defined in more than one place
--> crates/runtime/module/src/lib.rs:97:24
|
97 | fn block_in_thread<A: 'static, F: Future + 'static>(&self, future_action: A)
| ^
98 | where
99 | A: FnOnce() -> F + Send;
| ^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
= note: `#[warn(clippy::multiple_bound_locations)]` on by default
|
unneeded unit expression:
crates/runtime/debug-ui/src/noop.rs#L34
warning: unneeded unit expression
--> crates/runtime/debug-ui/src/noop.rs:34:9
|
34 | ()
| ^^ help: remove the final `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit
|
unneeded unit expression:
crates/runtime/debug-ui/src/noop.rs#L13
warning: unneeded unit expression
--> crates/runtime/debug-ui/src/noop.rs:13:9
|
13 | ()
| ^^ help: remove the final `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit
= note: `#[warn(clippy::unused_unit)]` on by default
|
field `0` is never read:
crates/util/bus/src/lib.rs#L134
warning: field `0` is never read
--> crates/util/bus/src/lib.rs:134:37
|
134 | struct SubscriberStream<T: 'static>(Arc<flume::Sender<T>>, RecvStream<'static, T>);
| ---------------- ^^^^^^^^^^^^^^^^^^^^^
| |
| field in this struct
|
= note: `#[warn(dead_code)]` on by default
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
134 | struct SubscriberStream<T: 'static>((), RecvStream<'static, T>);
| ~~
|
test-linux
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
test-linux
The following actions uses Node.js version which is deprecated and will be forced to run on node20: actions/checkout@v3, actions/cache@v3, actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
test-linux
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
test-linux
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
test-linux
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
test-linux
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|