[INFO] cloning repository https://github.com/DynamicDevices/mcp-webcam
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DynamicDevices/mcp-webcam" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDynamicDevices%2Fmcp-webcam", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDynamicDevices%2Fmcp-webcam'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4ddd662269a92b7fdf90895e52c8d2bf33521c1f
[INFO] checking DynamicDevices/mcp-webcam against master#292be5c7c05138d753bbd4b30db7a3f1a5c914f7 for pr-148271
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDynamicDevices%2Fmcp-webcam" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DynamicDevices/mcp-webcam
[INFO] finished tweaking git repo https://github.com/DynamicDevices/mcp-webcam
[INFO] tweaked toml for git repo https://github.com/DynamicDevices/mcp-webcam written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DynamicDevices/mcp-webcam on toolchain 292be5c7c05138d753bbd4b30db7a3f1a5c914f7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DynamicDevices/mcp-webcam already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nokhwa-bindings-macos v0.2.3
[INFO] [stderr]   Downloaded nokhwa-core v0.1.7
[INFO] [stderr]   Downloaded nokhwa-bindings-windows v0.4.4
[INFO] [stderr]   Downloaded nasm-rs v0.3.1
[INFO] [stderr]   Downloaded mozjpeg v0.10.13
[INFO] [stderr]   Downloaded core-media-sys v0.1.2
[INFO] [stderr]   Downloaded nokhwa v0.10.9
[INFO] [stderr]   Downloaded mozjpeg-sys v2.2.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4797057dfde150a74d54960ee97ad060cd11858bcc2b5fee5db01982a30a1d6c
[INFO] running `Command { std: "docker" "start" "-a" "4797057dfde150a74d54960ee97ad060cd11858bcc2b5fee5db01982a30a1d6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4797057dfde150a74d54960ee97ad060cd11858bcc2b5fee5db01982a30a1d6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4797057dfde150a74d54960ee97ad060cd11858bcc2b5fee5db01982a30a1d6c", kill_on_drop: false }`
[INFO] [stdout] 4797057dfde150a74d54960ee97ad060cd11858bcc2b5fee5db01982a30a1d6c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03274fecdd3beae7f4ec60b8ce3a82496999909a2092c561ef807b9184edea5c
[INFO] running `Command { std: "docker" "start" "-a" "03274fecdd3beae7f4ec60b8ce3a82496999909a2092c561ef807b9184edea5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling find-msvc-tools v0.1.3
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking flate2 v1.1.4
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking pxfm v0.1.24
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking regex-automata v0.4.11
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]    Compiling nokhwa-bindings-macos v0.2.3
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking clap_builder v4.5.48
[INFO] [stderr]     Checking exr v1.73.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking ascii v1.1.0
[INFO] [stderr]     Checking chunked_transfer v1.5.0
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking tiny_http v0.12.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.40
[INFO] [stderr]    Compiling nasm-rs v0.3.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.11.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking moxcms v0.7.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling mozjpeg-sys v2.2.3
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking mozjpeg v0.10.13
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]     Checking tiff v0.10.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking av1-grain v0.2.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking rav1e v0.7.1
[INFO] [stderr]     Checking clap v4.5.48
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking ravif v0.11.20
[INFO] [stderr]     Checking image v0.25.8
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.23
[INFO] [stderr]     Checking nokhwa-core v0.1.7
[INFO] [stderr]     Checking nokhwa-bindings-windows v0.4.4
[INFO] [stderr]     Checking mcpr v0.2.3
[INFO] [stderr]     Checking nokhwa v0.10.9
[INFO] [stderr]     Checking mcp-webcam v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `nokhwa::CallbackCamera`
[INFO] [stdout]   --> src/webcam.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Camera, CallbackCamera,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ no `CallbackCamera` in the root
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nokhwa-0.10.9/src/lib.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[cfg(feature = "output-threaded")]
[INFO] [stdout]    |       --------------------------- the item is gated behind the `output-threaded` feature
[INFO] [stdout] 55 | #[cfg_attr(feature = "docs-features", doc(cfg(feature = "output-threaded")))]
[INFO] [stdout] 56 | pub use threaded::CallbackCamera;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `query_devices` in crate `nokhwa`
[INFO] [stdout]   --> src/webcam.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |             match nokhwa::query_devices() {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ not found in `nokhwa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 108 |             info!("Opening camera {}", index);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:118:51
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 118 |             let camera_index = CameraIndex::Index(index);
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:125:60
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 125 |                     info!("Successfully opened camera {}", index);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:127:47
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 127 |                     self.current_index = Some(index);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:131:60
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 131 |                     error!("Failed to open camera {}: {}", index, e);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `camera_index` in this scope
[INFO] [stdout]    --> src/webcam.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn capture_image(&mut self, _camera_index: Option<u32>) -> Result<CaptureResult, WebcamError> {
[INFO] [stdout]     |                                     ------------- `_camera_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 148 |             let target_index = camera_index.unwrap_or(0);
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_camera_index` marks it as unused, consider renaming it to `camera_index`
[INFO] [stdout]     |
[INFO] [stdout] 145 -     pub fn capture_image(&mut self, _camera_index: Option<u32>) -> Result<CaptureResult, WebcamError> {
[INFO] [stdout] 145 +     pub fn capture_image(&mut self, camera_index: Option<u32>) -> Result<CaptureResult, WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Resolution`
[INFO] [stdout]   --> src/webcam.rs:14:68
[INFO] [stdout]    |
[INFO] [stdout] 14 |         utils::{CameraIndex, RequestedFormat, RequestedFormatType, Resolution},
[INFO] [stdout]    |                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `nokhwa::CallbackCamera`
[INFO] [stdout]   --> src/webcam.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Camera, CallbackCamera,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ no `CallbackCamera` in the root
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nokhwa-0.10.9/src/lib.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[cfg(feature = "output-threaded")]
[INFO] [stdout]    |       --------------------------- the item is gated behind the `output-threaded` feature
[INFO] [stdout] 55 | #[cfg_attr(feature = "docs-features", doc(cfg(feature = "output-threaded")))]
[INFO] [stdout] 56 | pub use threaded::CallbackCamera;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `query_devices` in crate `nokhwa`
[INFO] [stdout]   --> src/webcam.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |             match nokhwa::query_devices() {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ not found in `nokhwa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 108 |             info!("Opening camera {}", index);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:118:51
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 118 |             let camera_index = CameraIndex::Index(index);
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:125:60
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 125 |                     info!("Successfully opened camera {}", index);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:127:47
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 127 |                     self.current_index = Some(index);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `index` in this scope
[INFO] [stdout]    --> src/webcam.rs:131:60
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |                                   ------ `_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 131 |                     error!("Failed to open camera {}: {}", index, e);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_index` marks it as unused, consider renaming it to `index`
[INFO] [stdout]     |
[INFO] [stdout] 105 -     pub fn open_camera(&mut self, _index: u32) -> Result<(), WebcamError> {
[INFO] [stdout] 105 +     pub fn open_camera(&mut self, index: u32) -> Result<(), WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `camera_index` in this scope
[INFO] [stdout]    --> src/webcam.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn capture_image(&mut self, _camera_index: Option<u32>) -> Result<CaptureResult, WebcamError> {
[INFO] [stdout]     |                                     ------------- `_camera_index` defined here
[INFO] [stdout] ...
[INFO] [stdout] 148 |             let target_index = camera_index.unwrap_or(0);
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the leading underscore in `_camera_index` marks it as unused, consider renaming it to `camera_index`
[INFO] [stdout]     |
[INFO] [stdout] 145 -     pub fn capture_image(&mut self, _camera_index: Option<u32>) -> Result<CaptureResult, WebcamError> {
[INFO] [stdout] 145 +     pub fn capture_image(&mut self, camera_index: Option<u32>) -> Result<CaptureResult, WebcamError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Resolution`
[INFO] [stdout]   --> src/webcam.rs:14:68
[INFO] [stdout]    |
[INFO] [stdout] 14 |         utils::{CameraIndex, RequestedFormat, RequestedFormatType, Resolution},
[INFO] [stdout]    |                                                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/webcam.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     let cameras: Vec<CameraInfo> = devices
[INFO] [stdout]    |                                                    ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> src/webcam.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         .map(|(index, device)| CameraInfo {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 80 |                             index: index as u32,
[INFO] [stdout] 81 |                             name: device.human_name().to_string(),
[INFO] [stdout]    |                                   ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         .map(|(index, device): (_, _)| CameraInfo {
[INFO] [stdout]    |                                              ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/webcam.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     let cameras: Vec<CameraInfo> = devices
[INFO] [stdout]    |                                                    ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> src/webcam.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         .map(|(index, device)| CameraInfo {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 80 |                             index: index as u32,
[INFO] [stdout] 81 |                             name: device.human_name().to_string(),
[INFO] [stdout]    |                                   ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         .map(|(index, device): (_, _)| CameraInfo {
[INFO] [stdout]    |                                              ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `width` found for struct `Buffer` in the current scope
[INFO] [stdout]    --> src/webcam.rs:165:31
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let width = frame.width();
[INFO] [stdout]     |                               ^^^^^ method not found in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `height` found for struct `Buffer` in the current scope
[INFO] [stdout]    --> src/webcam.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let height = frame.height();
[INFO] [stdout]     |                                ^^^^^^ method not found in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `width` found for struct `Buffer` in the current scope
[INFO] [stdout]    --> src/webcam.rs:165:31
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let width = frame.width();
[INFO] [stdout]     |                               ^^^^^ method not found in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `height` found for struct `Buffer` in the current scope
[INFO] [stdout]    --> src/webcam.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let height = frame.height();
[INFO] [stdout]     |                                ^^^^^^ method not found in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `into_rgb8` found for struct `Buffer` in the current scope
[INFO] [stdout]    --> src/webcam.rs:171:34
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let rgb_data = frame.into_rgb8();
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `into_raw` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 171 -             let rgb_data = frame.into_rgb8();
[INFO] [stdout] 171 +             let rgb_data = frame.into_raw();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `into_rgb8` found for struct `Buffer` in the current scope
[INFO] [stdout]    --> src/webcam.rs:171:34
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let rgb_data = frame.into_rgb8();
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `into_raw` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 171 -             let rgb_data = frame.into_rgb8();
[INFO] [stdout] 171 +             let rgb_data = frame.into_raw();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn CaptureBackendTrait + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mcp_server.rs:160:54
[INFO] [stdout]     |
[INFO] [stdout] 160 |           server.register_tool_handler("list_cameras", move |_params: Value| -> Result<Value, MCPError> {
[INFO] [stdout]     |  ________________---------------------_________________^
[INFO] [stdout]     | |                |
[INFO] [stdout]     | |                required by a bound introduced by this call
[INFO] [stdout] 161 | |             debug!("Handling list_cameras request");
[INFO] [stdout] 162 | |             
[INFO] [stdout] 163 | |             let manager = webcam_manager_list.lock()
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |         })?;
[INFO] [stdout]     | |_________^ `(dyn CaptureBackendTrait + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn CaptureBackendTrait + 'static)`
[INFO] [stdout]     = note: required for `Unique<(dyn CaptureBackendTrait + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn CaptureBackendTrait + 'static)>`
[INFO] [stdout]    --> /rustc/292be5c7c05138d753bbd4b30db7a3f1a5c914f7/library/alloc/src/boxed.rs:231:12
[INFO] [stdout] note: required because it appears within the type `Camera`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nokhwa-0.10.9/src/camera.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Camera {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] note: required because it appears within the type `std::option::Option<Camera>`
[INFO] [stdout]    --> /rustc/292be5c7c05138d753bbd4b30db7a3f1a5c914f7/library/core/src/option.rs:599:10
[INFO] [stdout] note: required because it appears within the type `WebcamManager`
[INFO] [stdout]    --> src/webcam.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | pub struct WebcamManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `std::sync::Mutex<WebcamManager>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<WebcamManager>>` to implement `Send`
[INFO] [stdout] note: required because it's used within this closure
[INFO] [stdout]    --> src/mcp_server.rs:160:54
[INFO] [stdout]     |
[INFO] [stdout] 160 |         server.register_tool_handler("list_cameras", move |_params: Value| -> Result<Value, MCPError> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Server::<T>::register_tool_handler`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mcpr-0.2.3/src/server.rs:84:51
[INFO] [stdout]     |
[INFO] [stdout]  82 |     pub fn register_tool_handler<F>(&mut self, tool_name: &str, handler: F) -> Result<(), MCPError>
[INFO] [stdout]     |            --------------------- required by a bound in this associated function
[INFO] [stdout]  83 |     where
[INFO] [stdout]  84 |         F: Fn(Value) -> Result<Value, MCPError> + Send + Sync + 'static,
[INFO] [stdout]     |                                                   ^^^^ required by this bound in `Server::<T>::register_tool_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn CaptureBackendTrait + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mcp_server.rs:160:54
[INFO] [stdout]     |
[INFO] [stdout] 160 |           server.register_tool_handler("list_cameras", move |_params: Value| -> Result<Value, MCPError> {
[INFO] [stdout]     |  ________________---------------------_________________^
[INFO] [stdout]     | |                |
[INFO] [stdout]     | |                required by a bound introduced by this call
[INFO] [stdout] 161 | |             debug!("Handling list_cameras request");
[INFO] [stdout] 162 | |             
[INFO] [stdout] 163 | |             let manager = webcam_manager_list.lock()
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |         })?;
[INFO] [stdout]     | |_________^ `(dyn CaptureBackendTrait + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn CaptureBackendTrait + 'static)`
[INFO] [stdout]     = note: required for `Unique<(dyn CaptureBackendTrait + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn CaptureBackendTrait + 'static)>`
[INFO] [stdout]    --> /rustc/292be5c7c05138d753bbd4b30db7a3f1a5c914f7/library/alloc/src/boxed.rs:231:12
[INFO] [stdout] note: required because it appears within the type `Camera`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nokhwa-0.10.9/src/camera.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Camera {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] note: required because it appears within the type `std::option::Option<Camera>`
[INFO] [stdout]    --> /rustc/292be5c7c05138d753bbd4b30db7a3f1a5c914f7/library/core/src/option.rs:599:10
[INFO] [stdout] note: required because it appears within the type `WebcamManager`
[INFO] [stdout]    --> src/webcam.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | pub struct WebcamManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `std::sync::Mutex<WebcamManager>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<WebcamManager>>` to implement `Send`
[INFO] [stdout] note: required because it's used within this closure
[INFO] [stdout]    --> src/mcp_server.rs:160:54
[INFO] [stdout]     |
[INFO] [stdout] 160 |         server.register_tool_handler("list_cameras", move |_params: Value| -> Result<Value, MCPError> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Server::<T>::register_tool_handler`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mcpr-0.2.3/src/server.rs:84:51
[INFO] [stdout]     |
[INFO] [stdout]  82 |     pub fn register_tool_handler<F>(&mut self, tool_name: &str, handler: F) -> Result<(), MCPError>
[INFO] [stdout]     |            --------------------- required by a bound in this associated function
[INFO] [stdout]  83 |     where
[INFO] [stdout]  84 |         F: Fn(Value) -> Result<Value, MCPError> + Send + Sync + 'static,
[INFO] [stdout]     |                                                   ^^^^ required by this bound in `Server::<T>::register_tool_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0425, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mcp-webcam` (lib) due to 14 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0425, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mcp-webcam` (lib test) due to 14 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "03274fecdd3beae7f4ec60b8ce3a82496999909a2092c561ef807b9184edea5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03274fecdd3beae7f4ec60b8ce3a82496999909a2092c561ef807b9184edea5c", kill_on_drop: false }`
[INFO] [stdout] 03274fecdd3beae7f4ec60b8ce3a82496999909a2092c561ef807b9184edea5c
