cancel cursor actor on drop #3300
Triggered via pull request
September 22, 2025 08:18
Status
Success
Total duration
18m 39s
Artifacts
–
ci.yml
on: pull_request
Detect Changes
7s
Typecheck
1m 34s
Format (Biome)
9s
Format (Cargo)
19s
Lint (Biome)
12s
Matrix: Build Desktop
Annotations
13 warnings and 1 notice
|
this `if` statement can be collapsed:
crates/recording/src/sources/audio_mixer.rs#L246
warning: this `if` statement can be collapsed
--> crates/recording/src/sources/audio_mixer.rs:246:9
|
246 | / if let Some(start_timestamp) = self.start_timestamp {
247 | | if let Some(elapsed_since_start) = now
248 | | .duration_since(self.timestamps)
249 | | .checked_sub(start_timestamp.duration_since(self.timestamps))
... |
285 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if
= note: `#[warn(clippy::collapsible_if)]` on by default
help: collapse nested if block
|
246 ~ if let Some(start_timestamp) = self.start_timestamp
247 ~ && let Some(elapsed_since_start) = now
248 | .duration_since(self.timestamps)
...
283 | }
284 ~ }
|
|
|
accessing first element with `s.buffer.get(0)`:
crates/recording/src/sources/audio_mixer.rs#L238
warning: accessing first element with `s.buffer.get(0)`
--> crates/recording/src/sources/audio_mixer.rs:238:33
|
238 | .filter_map(|s| s.buffer.get(0))
| ^^^^^^^^^^^^^^^ help: try: `s.buffer.front()`
|
= 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
|
|
method `default` can be confused for the standard trait method `std::default::Default::default`:
crates/recording/src/feeds/microphone.rs#L96
warning: method `default` can be confused for the standard trait method `std::default::Default::default`
--> crates/recording/src/feeds/microphone.rs:96:5
|
96 | / pub fn default() -> Option<(String, Device, SupportedStreamConfig)> {
97 | | let host = cpal::default_host();
98 | | host.default_input_device().and_then(get_usable_device)
99 | | }
| |_____^
|
= help: consider implementing the trait `std::default::Default` or choosing a less ambiguous method name
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait
= note: `#[warn(clippy::should_implement_trait)]` on by default
|
|
unused variable: `prev_audio_config`:
crates/editor/src/playback.rs#L257
warning: unused variable: `prev_audio_config`
--> crates/editor/src/playback.rs:257:17
|
257 | prev_audio_config = project.audio.clone();
| ^^^^^^^^^^^^^^^^^
|
= help: did you mean to capture by reference instead?
= note: `#[warn(unused_variables)]` on by default
|
|
value assigned to `prev_audio_config` is never read:
crates/editor/src/playback.rs#L257
warning: value assigned to `prev_audio_config` is never read
--> crates/editor/src/playback.rs:257:17
|
257 | prev_audio_config = project.audio.clone();
| ^^^^^^^^^^^^^^^^^
|
= help: maybe it is overwritten before being read?
= note: `#[warn(unused_assignments)]` on by default
|
|
manual implementation of an assign operation:
crates/enc-ffmpeg/src/audio/buffered_resampler.rs#L86
warning: manual implementation of an assign operation
--> crates/enc-ffmpeg/src/audio/buffered_resampler.rs:86:13
|
86 | next_pts = next_pts + samples as i64;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `next_pts += samples as i64`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern
= note: `#[warn(clippy::assign_op_pattern)]` on by default
|
|
redundant pattern matching, consider using `is_some()`:
crates/enc-ffmpeg/src/audio/buffered_resampler.rs#L72
warning: redundant pattern matching, consider using `is_some()`
--> crates/enc-ffmpeg/src/audio/buffered_resampler.rs:72:19
|
72 | while let Some(_) = self.resampler.delay() {
| ----------^^^^^^^------------------------- help: try: `while self.resampler.delay().is_some()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching
= note: `#[warn(clippy::redundant_pattern_matching)]` on by default
|
|
this `if` statement can be collapsed:
crates/enc-ffmpeg/src/audio/buffered_resampler.rs#L53
warning: this `if` statement can be collapsed
--> crates/enc-ffmpeg/src/audio/buffered_resampler.rs:53:9
|
53 | / if let Some(min_next_pts) = self.min_next_pts {
54 | | if let Some(pts) = frame.pts() {
55 | | frame.set_pts(Some(pts.max(min_next_pts)));
56 | | }
57 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if
= note: `#[warn(clippy::collapsible_if)]` on by default
help: collapse nested if block
|
53 ~ if let Some(min_next_pts) = self.min_next_pts
54 ~ && let Some(pts) = frame.pts() {
55 | frame.set_pts(Some(pts.max(min_next_pts)));
56 ~ }
|
|
|
unneeded `return` statement:
crates/enc-ffmpeg/src/audio/buffered_resampler.rs#L45
warning: unneeded `return` statement
--> crates/enc-ffmpeg/src/audio/buffered_resampler.rs:45:9
|
45 | return remaining_samples;
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
= note: `#[warn(clippy::needless_return)]` on by default
help: remove `return`
|
45 - return remaining_samples;
45 + remaining_samples
|
|
|
associated constant `TIME_BASE` is never used:
crates/enc-ffmpeg/src/video/h264.rs#L152
warning: associated constant `TIME_BASE` is never used
--> crates/enc-ffmpeg/src/video/h264.rs:152:11
|
151 | impl H264Encoder {
| ---------------- associated constant in this implementation
152 | const TIME_BASE: i32 = 15000;
| ^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
|
|
Clippy
Cache not found for keys: v0-rust-clippy-Darwin-arm64-8f100275-55018472, v0-rust-clippy-Darwin-arm64-8f100275
|
|
Build Desktop (aarch64-apple-darwin, macos-latest)
Cache not found for keys: v0-rust-aarch64-apple-darwin-Darwin-arm64-8f100275-55018472, v0-rust-aarch64-apple-darwin-Darwin-arm64-8f100275
|
|
Build Desktop (x86_64-pc-windows-msvc, windows-latest)
Cache not found for keys: v0-rust-x86_64-pc-windows-msvc-Windows_NT-x64-424926a2-55018472, v0-rust-x86_64-pc-windows-msvc-Windows_NT-x64-424926a2
|
|
Build Desktop (x86_64-pc-windows-msvc, windows-latest)
The windows-latest label will migrate from Windows Server 2022 to Windows Server 2025 beginning September 2, 2025. For more information see https://github.com/actions/runner-images/issues/12677
|