Skip to content

fix(deps): update rust crate cached to 0.52 #5218

fix(deps): update rust crate cached to 0.52

fix(deps): update rust crate cached to 0.52 #5218

Triggered via push July 17, 2024 21:51
Status Success
Total duration 12m 26s
Artifacts

audits.yml

on: push
security_audit
18s
security_audit
Fit to window
Zoom out
Zoom in

Annotations

1 error and 63 warnings
cannot find function `read_gobo_image` in this scope: crates/components/fixtures/qlcplus/src/resource_reader.rs#L18
error[E0425]: cannot find function `read_gobo_image` in this scope --> crates/components/fixtures/qlcplus/src/resource_reader.rs:18:9 | 18 | read_gobo_image(&path, filename) | ^^^^^^^^^^^^^^^ not found in this scope
security_audit
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/audit-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/
security_audit
The following actions uses Node.js version which is deprecated and will be forced to run on node20: actions-rs/audit-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/
security_audit
7 warnings found!
security_audit
Unknown warning kind unsound found, please, file a bug
security_audit
Unknown warning kind unsound found, please, file a bug
security_audit
Unknown warning kind unsound found, please, file a bug
unused import: `cached::UnboundCache`: crates/components/fixtures/qlcplus/src/resource_reader.rs#L2
warning: unused import: `cached::UnboundCache` --> crates/components/fixtures/qlcplus/src/resource_reader.rs:2:5 | 2 | use cached::UnboundCache; | ^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
using `clone` on type `Ipv4Addr` which implements the `Copy` trait: crates/components/connections/queries/src/get_connections.rs#L78
warning: using `clone` on type `Ipv4Addr` which implements the `Copy` trait --> crates/components/connections/queries/src/get_connections.rs:78:35 | 78 | ... host: config.config.host.clone(), | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `config.config.host` | = 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
the following explicit lifetimes could be elided: 'a: crates/components/connections/protocols/citp/src/connection/handlers/mod.rs#L39
warning: the following explicit lifetimes could be elided: 'a --> crates/components/connections/protocols/citp/src/connection/handlers/mod.rs:39:17 | 39 | fn announce<'a>(&'a self) -> anyhow::Result<Option<Self::Result<'a>>> { | ^^ ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 39 - fn announce<'a>(&'a self) -> anyhow::Result<Option<Self::Result<'a>>> { 39 + fn announce(&self) -> anyhow::Result<Option<Self::Result<'_>>> { |
the following explicit lifetimes could be elided: 'a: crates/components/connections/protocols/citp/src/connection/handlers/caex/fixture_list_request.rs#L37
warning: the following explicit lifetimes could be elided: 'a --> crates/components/connections/protocols/citp/src/connection/handlers/caex/fixture_list_request.rs:37:17 | 37 | fn announce<'a>(&'a self) -> anyhow::Result<Option<Self::Result<'a>>> { | ^^ ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 37 - fn announce<'a>(&'a self) -> anyhow::Result<Option<Self::Result<'a>>> { 37 + fn announce(&self) -> anyhow::Result<Option<Self::Result<'_>>> { |
field `from` is never read: crates/runtime/pipeline/nodes/behaviors/envelope/src/lib.rs#L185
warning: field `from` is never read --> crates/runtime/pipeline/nodes/behaviors/envelope/src/lib.rs:185:14 | 185 | Attack { from: f64, to: f64 }, | ------ ^^^^ | | | field in this variant | = note: `#[warn(dead_code)]` on by default
field `reverse` is never read: crates/runtime/pipeline/nodes/behaviors/oscillator/src/lib.rs#L159
warning: field `reverse` is never read --> crates/runtime/pipeline/nodes/behaviors/oscillator/src/lib.rs:159:9 | 153 | struct OscillatorContext { | ----------------- field in this struct ... 159 | pub reverse: bool, | ^^^^^^^ | = note: `#[warn(dead_code)]` on by default
an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true: crates/runtime/pipeline/nodes/behaviors/color/src/constant.rs#L199
warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true --> crates/runtime/pipeline/nodes/behaviors/color/src/constant.rs:199:1 | 199 | impl Into<u8> for ConstantColorNode { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into = note: `#[warn(clippy::from_over_into)]` on by default help: replace the `Into` implementation with `From<constant::ConstantColorNode>` | 199 ~ impl From<ConstantColorNode> for u8 { 200 ~ fn from(val: ConstantColorNode) -> Self { 201 ~ match val { 202 ~ ConstantColorNode::Rgb { .. } => 0, 203 ~ ConstantColorNode::Hsv { .. } => 1, |
clamp-like pattern without using clamp function: crates/runtime/pipeline/nodes/connections/protocols/dmx/src/output.rs#L82
warning: clamp-like pattern without using clamp function --> crates/runtime/pipeline/nodes/connections/protocols/dmx/src/output.rs:82:25 | 82 | let value = (value * u8::MAX as f64).min(255.).max(0.).floor() as u8; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `(value * 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
`to_string` applied to a type that implements `Display` in `format!` args: crates/runtime/pipeline/nodes/fixture/src/group_control.rs#L126
warning: `to_string` applied to a type that implements `Display` in `format!` args --> crates/runtime/pipeline/nodes/fixture/src/group_control.rs:126:29 | 126 | self.control.to_string() | ^^^^^^^^^^^^ help: remove this | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args
`to_string` applied to a type that implements `Display` in `format!` args: crates/runtime/pipeline/nodes/fixture/src/group_control.rs#L120
warning: `to_string` applied to a type that implements `Display` in `format!` args --> crates/runtime/pipeline/nodes/fixture/src/group_control.rs:120:29 | 120 | self.control.to_string() | ^^^^^^^^^^^^ help: remove this | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args
`to_string` applied to a type that implements `Display` in `format!` args: crates/runtime/pipeline/nodes/fixture/src/fixture_control.rs#L117
warning: `to_string` applied to a type that implements `Display` in `format!` args --> crates/runtime/pipeline/nodes/fixture/src/fixture_control.rs:117:29 | 117 | self.control.to_string() | ^^^^^^^^^^^^ help: remove this | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args
`to_string` applied to a type that implements `Display` in `format!` args: crates/runtime/pipeline/nodes/fixture/src/fixture_control.rs#L111
warning: `to_string` applied to a type that implements `Display` in `format!` args --> crates/runtime/pipeline/nodes/fixture/src/fixture_control.rs:111:29 | 111 | self.control.to_string() | ^^^^^^^^^^^^ help: remove this | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args = note: `#[warn(clippy::to_string_in_format_args)]` on by default
unused variable: `image`: crates/runtime/layouts/src/debug_ui_pane.rs#L42
warning: unused variable: `image` --> crates/runtime/layouts/src/debug_ui_pane.rs:42:45 | 42 | ... if let Some(image) = control.decoration.image { | ^^^^^ help: if this is intentional, prefix it with an underscore: `_image` | = note: `#[warn(unused_variables)]` on by default
called `map(..).flatten()` on `Iterator`: crates/runtime/pipeline/nodes/connections/protocols/osc/src/output.rs#L180
warning: called `map(..).flatten()` on `Iterator` --> crates/runtime/pipeline/nodes/connections/protocols/osc/src/output.rs:180:14 | 180 | .map(|(key, value)| { | ______________^ 181 | | let mut result = map_data_to_osc(value); 182 | | result.insert(0, OscType::String(key)); 183 | | result 184 | | }) 185 | | .flatten() | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten help: try replacing `map` with `flat_map` and remove the `.flatten()` | 180 ~ .flat_map(|(key, value)| { 181 + let mut result = map_data_to_osc(value); 182 + result.insert(0, OscType::String(key)); 183 + result 184 + }) |
called `map(..).flatten()` on `Iterator`: crates/runtime/pipeline/nodes/connections/protocols/osc/src/output.rs#L177
warning: called `map(..).flatten()` on `Iterator` --> crates/runtime/pipeline/nodes/connections/protocols/osc/src/output.rs:177:59 | 177 | StructuredData::Array(items) => items.into_iter().map(map_data_to_osc).flatten().collect(), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(map_data_to_osc)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten = note: `#[warn(clippy::map_flatten)]` on by default
an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true: crates/runtime/pipeline/nodes/connections/protocols/midi/src/output.rs#L345
warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true --> crates/runtime/pipeline/nodes/connections/protocols/midi/src/output.rs:345:1 | 345 | impl Into<u8> for MidiOutputConfig { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into help: replace the `Into` implementation with `From<output::MidiOutputConfig>` | 345 ~ impl From<MidiOutputConfig> for u8 { 346 ~ fn from(val: MidiOutputConfig) -> Self { 347 ~ match val { 348 ~ MidiOutputConfig::Note { .. } => 0, 349 ~ MidiOutputConfig::Control { .. } => 1, |
an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true: crates/runtime/pipeline/nodes/connections/protocols/midi/src/input.rs#L271
warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true --> crates/runtime/pipeline/nodes/connections/protocols/midi/src/input.rs:271:1 | 271 | impl Into<u8> for MidiInputConfig { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into = note: `#[warn(clippy::from_over_into)]` on by default help: replace the `Into` implementation with `From<input::MidiInputConfig>` | 271 ~ impl From<MidiInputConfig> for u8 { 272 ~ fn from(val: MidiInputConfig) -> Self { 273 ~ match val { 274 ~ MidiInputConfig::Note { .. } => 0, 275 ~ MidiInputConfig::Control { .. } => 1, |
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
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/runtime/pipeline/nodes/behaviors/scripting/src/lib.rs#L70
warning: assigning the result of `Clone::clone()` may be inefficient --> crates/runtime/pipeline/nodes/behaviors/scripting/src/lib.rs:70:13 | 70 | state.script = self.script.clone(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_from()`: `state.script.clone_from(&self.script)` | = 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 + } |
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
associated items `new` and `iter` are never used: crates/runtime/pipeline/nodes/pixels/src/pattern/mod.rs#L182
warning: associated items `new` and `iter` are never used --> crates/runtime/pipeline/nodes/pixels/src/pattern/mod.rs:182:12 | 181 | impl<'a> PixelGrid<'a> { | ---------------------- associated items in this implementation 182 | pub fn new(pixels: &'a mut [(f64, f64, f64)], (width, height): (usize, usize)) -> Self { | ^^^ ... 206 | pub fn iter(&self) -> impl Iterator<Item = &(f64, f64, f64)> { | ^^^^ | = note: `#[warn(dead_code)]` on by default
you should consider adding a `Default` implementation for `ImageId`: crates/components/plan/src/lib.rs#L121
warning: you should consider adding a `Default` implementation for `ImageId` --> crates/components/plan/src/lib.rs:121:5 | 121 | / pub fn new() -> Self { 122 | | Self(Uuid::new_v4()) 123 | | } | |_____^ | = 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 | 120 + impl Default for ImageId { 121 + fn default() -> Self { 122 + Self::new() 123 + } 124 + } |
unused variable: `origin`: crates/components/plan/src/commands/spread_fixtures.rs#L142
warning: unused variable: `origin` --> crates/components/plan/src/commands/spread_fixtures.rs:142:9 | 142 | origin: (f64, f64), | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
unused variable: `origin`: crates/components/plan/src/commands/spread_fixtures.rs#L104
warning: unused variable: `origin` --> crates/components/plan/src/commands/spread_fixtures.rs:104:9 | 104 | origin: (f64, f64), | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin` | = note: `#[warn(unused_variables)]` on by default
accessing first element with `self.0.get(0)`: crates/components/sequencer/src/effects/spline.rs#L28
warning: accessing first element with `self.0.get(0)` --> crates/components/sequencer/src/effects/spline.rs:28:25 | 28 | .or_else(|| self.0.get(0).map(|c| (0, c))) | ^^^^^^^^^^^^^ help: try: `self.0.first()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first = note: `#[warn(clippy::get_first)]` on by default
this bound is already specified as the supertrait of `DerefMut`: crates/components/sequencer/src/effects/engine.rs#L71
warning: this bound is already specified as the supertrait of `DerefMut` --> crates/components/sequencer/src/effects/engine.rs:71:54 | 71 | pub fn effect_mut(&self, id: u32) -> Option<impl Deref<Target = Effect> + DerefMut + '_> { | ^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implied_bounds_in_impls = note: `#[warn(clippy::implied_bounds_in_impls)]` on by default help: try removing this bound | 71 - pub fn effect_mut(&self, id: u32) -> Option<impl Deref<Target = Effect> + DerefMut + '_> { 71 + pub fn effect_mut(&self, id: u32) -> Option<impl DerefMut<Target = Effect> + '_> { |
field `start_time` is never read: crates/components/sequencer/src/state.rs#L147
warning: field `start_time` is never read --> crates/components/sequencer/src/state.rs:147:9 | 146 | pub(crate) struct CueChannel { | ---------- field in this struct 147 | pub start_time: SequenceTimestamp, | ^^^^^^^^^^ | = note: `CueChannel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
method `has_passed` is never used: crates/components/sequencer/src/state.rs#L118
warning: method `has_passed` is never used --> crates/components/sequencer/src/state.rs:118:19 | 117 | impl SequenceTimestamp { | ---------------------- method in this implementation 118 | pub(crate) fn has_passed( | ^^^^^^^^^^
associated function `new` is never used: crates/components/sequencer/src/cue.rs#L297
warning: associated function `new` is never used --> crates/components/sequencer/src/cue.rs:297:19 | 296 | impl CueControl { | --------------- associated function in this implementation 297 | pub(crate) fn new( | ^^^
associated function `new` is never used: crates/components/sequencer/src/cue.rs#L49
warning: associated function `new` is never used --> crates/components/sequencer/src/cue.rs:49:19 | 48 | impl Cue { | -------- associated function in this implementation 49 | pub(crate) fn new(id: u32, name: impl Into<String>, controls: Vec<CueControl>) -> Self { | ^^^ | = note: `#[warn(dead_code)]` on by default
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
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 function has too many arguments (8/7): crates/components/fixtures/src/manager.rs#L46
warning: this function has too many arguments (8/7) --> crates/components/fixtures/src/manager.rs:46:5 | 46 | / pub fn add_fixture( 47 | | &self, 48 | | fixture_id: u32, 49 | | name: String, ... | 54 | | configuration: FixtureConfiguration, 55 | | ) { | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
use of `default` to create a unit struct: crates/components/fixtures/src/library.rs#L139
warning: use of `default` to create a unit struct --> crates/components/fixtures/src/library.rs:139:65 | 139 | library_loader: Arc::new(Box::new(EmptyLibraryLoader::default())), | ^^^^^^^^^^^ help: remove this call to `default` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_constructed_unit_structs = note: `#[warn(clippy::default_constructed_unit_structs)]` on by default
clamp-like pattern without using clamp function: crates/components/fixtures/src/fixture.rs#L492
warning: clamp-like pattern without using clamp function --> crates/components/fixtures/src/fixture.rs:492:19 | 492 | let clamped = input.min(1.0).max(0.0); | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `input.clamp(0.0, 1.0)` | = 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
clamp-like pattern without using clamp function: crates/components/fixtures/src/fixture.rs#L485
warning: clamp-like pattern without using clamp function --> crates/components/fixtures/src/fixture.rs:485:19 | 485 | let clamped = input.min(1.0).max(0.0); | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `input.clamp(0.0, 1.0)` | = 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
clamp-like pattern without using clamp function: crates/components/fixtures/src/fixture.rs#L478
warning: clamp-like pattern without using clamp function --> crates/components/fixtures/src/fixture.rs:478:19 | 478 | let clamped = input.min(1.0).max(0.0); | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `input.clamp(0.0, 1.0)` | = 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
returning the result of a `let` binding from a block: crates/components/fixtures/src/fixture.rs#L177
warning: returning the result of a `let` binding from a block --> crates/components/fixtures/src/fixture.rs:177:9 | 175 | let value = self.adapt_read_limits(control, value); | --------------------------------------------------- unnecessary `let` binding 176 | 177 | value | ^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return help: return the expression directly | 175 ~ 176 | 177 ~ self.adapt_read_limits(control, value) |
returning the result of a `let` binding from a block: crates/components/fixtures/src/fixture.rs#L170
warning: returning the result of a `let` binding from a block --> crates/components/fixtures/src/fixture.rs:170:9 | 168 | let value = self.adapt_write_limits(control, value); | ---------------------------------------------------- unnecessary `let` binding 169 | 170 | value | ^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return = note: `#[warn(clippy::let_and_return)]` on by default help: return the expression directly | 168 ~ 169 | 170 ~ self.adapt_write_limits(control, value) |
trait `OptionExt` is never used: crates/components/fixtures/src/programmer/mod.rs#L713
warning: trait `OptionExt` is never used --> crates/components/fixtures/src/programmer/mod.rs:713:7 | 713 | trait OptionExt<T> { | ^^^^^^^^^ | = 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
useless conversion to the same type: `std::string::String`: crates/runtime/pipeline/node/src/settings.rs#L320
warning: useless conversion to the same type: `std::string::String` --> crates/runtime/pipeline/node/src/settings.rs:320:20 | 320 | value: value.into(), | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
lint `clippy::derive_hash_xor_eq` has been renamed to `clippy::derived_hash_with_manual_eq`: crates/runtime/pipeline/node/src/settings.rs#L236
warning: lint `clippy::derive_hash_xor_eq` has been renamed to `clippy::derived_hash_with_manual_eq` --> crates/runtime/pipeline/node/src/settings.rs:236:9 | 236 | #[allow(clippy::derive_hash_xor_eq)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::derived_hash_with_manual_eq` | = note: `#[warn(renamed_and_removed_lints)]` 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
returning the result of a `let` binding from a block: crates/runtime/wgpu/src/context.rs#L85
warning: returning the result of a `let` binding from a block --> crates/runtime/wgpu/src/context.rs:85:9 | 74 | / let texture = self.device.create_texture(&wgpu::TextureDescriptor { 75 | | label, 76 | | size, 77 | | mip_level_count: 1, ... | 82 | | view_formats: &[format], 83 | | }); | |___________- unnecessary `let` binding 84 | 85 | texture | ^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return = note: `#[warn(clippy::let_and_return)]` on by default help: return the expression directly | 74 ~ 75 | 76 ~ self.device.create_texture(&wgpu::TextureDescriptor { 77 + label, 78 + size, 79 + mip_level_count: 1, 80 + sample_count: 1, 81 + dimension: wgpu::TextureDimension::D2, 82 + format, 83 + usage, 84 + view_formats: &[format], 85 + }) |
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
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
field `0` is never read: crates/util/bus/src/lib.rs#L145
warning: field `0` is never read --> crates/util/bus/src/lib.rs:145:37 | 145 | 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 | 145 | struct SubscriberStream<T: 'static>((), RecvStream<'static, T>); | ~~
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