[INFO] cloning repository https://github.com/topecongiro/rtsp-client
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/topecongiro/rtsp-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftopecongiro%2Frtsp-client", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftopecongiro%2Frtsp-client'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] be0f745128d04f873c8ce8d7554d087b4487f0d7
[INFO] testing topecongiro/rtsp-client against nightly-2025-01-18+rustflags=-Zrandomize-layout for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftopecongiro%2Frtsp-client" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/topecongiro/rtsp-client on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/topecongiro/rtsp-client
[INFO] finished tweaking git repo https://github.com/topecongiro/rtsp-client
[INFO] tweaked toml for git repo https://github.com/topecongiro/rtsp-client written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/topecongiro/rtsp-client 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" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0b3af855d2195a8fa79b0c5346c9655012b7c23234763666eb33a50bd4688b36
[INFO] running `Command { std: "docker" "start" "-a" "0b3af855d2195a8fa79b0c5346c9655012b7c23234763666eb33a50bd4688b36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b3af855d2195a8fa79b0c5346c9655012b7c23234763666eb33a50bd4688b36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b3af855d2195a8fa79b0c5346c9655012b7c23234763666eb33a50bd4688b36", kill_on_drop: false }`
[INFO] [stdout] 0b3af855d2195a8fa79b0c5346c9655012b7c23234763666eb33a50bd4688b36
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c84dc7272c4a104641891550f64fa109cfd8d6d5eb523bb14be6064f6feac843
[INFO] running `Command { std: "docker" "start" "-a" "c84dc7272c4a104641891550f64fa109cfd8d6d5eb523bb14be6064f6feac843", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.117
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling tinyvec v1.5.1
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling lock_api v0.4.6
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling cpufeatures v0.2.1
[INFO] [stderr]    Compiling once_cell v1.9.0
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.8
[INFO] [stderr]    Compiling unicode-bidi v0.3.7
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]    Compiling http-auth v0.1.5
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling anyhow v1.0.53
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling os_str_bytes v6.0.0
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling getrandom v0.2.4
[INFO] [stderr]    Compiling mio v0.7.14
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling textwrap v0.14.2
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling md-5 v0.9.1
[INFO] [stderr]    Compiling sdp-types v0.1.3
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling env_logger v0.9.0
[INFO] [stderr]    Compiling tokio-macros v1.7.0
[INFO] [stderr]    Compiling clap_derive v3.0.14
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling tokio v1.16.1
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling clap v3.0.14
[INFO] [stderr]    Compiling tokio-stream v0.1.8
[INFO] [stderr]    Compiling rtsp_client v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tokio::select`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::select;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::io::AsyncReadExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]  --> src/rtsp.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::net::{IpAddr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::RangeInclusive`
[INFO] [stdout]  --> src/rtsp.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::RangeInclusive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/rtsp.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> src/rtsp.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::{net::{TcpStream, UdpSocket}, io::AsyncWriteExt};
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtp::RtpStream`
[INFO] [stdout]   --> src/rtsp.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::rtp::RtpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/rtsp/data_stream.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{anyhow, bail};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToSocketAddrs`
[INFO] [stdout]   --> src/rtsp/data_stream.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::net::{ToSocketAddrs, UdpSocket};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> src/rtsp/data_stream.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Config`
[INFO] [stdout]   --> src/rtsp/data_stream.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::StreamExt`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio_stream::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `video_stream`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let video_stream = client.connect(url).await?;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_video_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/main.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut buf = vec![0u8; 1500];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf2`
[INFO] [stdout]   --> src/main.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut buf2 = vec![0u8; 1500];
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_buf2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interval`
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut interval = interval(Duration::from_secs(5));
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut client = RtspClient::new(config).await?;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut buf = vec![0u8; 1500];
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut buf2 = vec![0u8; 1500];
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut interval = interval(Duration::from_secs(5));
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtp.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl RtpStream {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 30 |     pub(crate) fn new(socket: Arc<UdpSocket>) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/rtp/packet.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub(crate) struct RtpPacket {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 8  |     /// The size of padding at the end or the packet. If `None`, there is no padding.
[INFO] [stdout] 9  |     padding: Option<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     /// An extension header.
[INFO] [stdout] 11 |     extension_header: Option<ExtensionHeader>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     has_marker: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     csrc_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     payload_type: RtpPayloadType,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 15 |     sequence_number: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     timestamp: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     ssrc: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     csrc_list: [u32; 15], // FIXME: not ideal :(
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     payload: Bytes,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RtpPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `contents` are never read
[INFO] [stdout]   --> src/rtp/packet.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) struct ExtensionHeader {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 24 |     id: u16,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 25 |     contents: Bytes,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExtensionHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/rtp/packet.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Unknown(u8),
[INFO] [stdout]    |     ------- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RtpPayloadType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Unknown(()),
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rtsp_stream` and `data_stream` are never read
[INFO] [stdout]   --> src/rtsp.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) struct VideoStream {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 62 |     rtsp_stream: RtspStream,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 63 |     data_stream: DataStream,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `play` is never used
[INFO] [stdout]    --> src/rtsp.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 97  | impl RtspStream {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub(crate) async fn play(&mut self, session: u32) -> anyhow::Result<PlayResponse> {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Options` and `Play` are never constructed
[INFO] [stdout]    --> src/rtsp.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | enum RtspMethod {
[INFO] [stdout]     |      ---------- variants in this enum
[INFO] [stdout] 243 |     Describe,
[INFO] [stdout] 244 |     Options,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 245 |     Play,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RtspMethod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `response` is never read
[INFO] [stdout]    --> src/rtsp.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub(crate) struct DescribeResponse {
[INFO] [stdout]     |                   ---------------- field in this struct
[INFO] [stdout] 288 |     response: RtspResponse,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DescribeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `session` is never used
[INFO] [stdout]    --> src/rtsp.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl DescribeResponse {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 293 |     pub(crate) fn session(&self) -> &sdp_types::Session {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayResponse` is never constructed
[INFO] [stdout]    --> src/rtsp.rs:313:19
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub(crate) struct PlayResponse {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `response` and `session` are never read
[INFO] [stdout]    --> src/rtsp.rs:319:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub(crate) struct SetupResponse {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 319 |     response: RtspResponse,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 320 |     peer_ports: (u16, u16),
[INFO] [stdout] 321 |     session: (u32, usize), // (Session ID, timeout)
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SetupResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `timeout` and `session_id` are never used
[INFO] [stdout]    --> src/rtsp.rs:325:19
[INFO] [stdout]     |
[INFO] [stdout] 324 | impl SetupResponse {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 325 |     pub(crate) fn timeout(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub(crate) fn session_id(&self) -> u32 {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]    --> src/rtsp.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 374 | pub(crate) struct Config {
[INFO] [stdout]     |                   ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 378 |     version: RtspVersion,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rtp_socket`, `rtcp_socket`, and `ports` are never read
[INFO] [stdout]   --> src/rtsp/data_stream.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct DataStream {
[INFO] [stdout]    |                   ---------- fields in this struct
[INFO] [stdout] 16 |     rtp_socket: Arc<UdpSocket>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 17 |     rtcp_socket: Arc<UdpSocket>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 18 |     ports: RtpRtcpPorts,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `local` and `peer` are never read
[INFO] [stdout]   --> src/rtsp/data_stream.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) struct RtpRtcpPorts {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 22 |     local: (u16, u16),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     peer: (u16, u16),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `local_rtp_port` and `local_rtcp_port` are never used
[INFO] [stdout]   --> src/rtsp/data_stream.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl DataStream {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 33 |     pub(crate) fn local_rtp_port(&self) -> u16 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub(crate) fn local_rtcp_port(&self) -> u16 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `punch_firewall_hole` is never used
[INFO] [stdout]   --> src/rtsp/data_stream.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | async fn punch_firewall_hole(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         env_logger::builder()
[INFO] [stdout] 37 | |             .filter_module(env!("CARGO_PKG_NAME"), LevelFilter::Trace)
[INFO] [stdout] 38 | |             .try_init();
[INFO] [stdout]    | |_______________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let _ = env_logger::builder()
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.87s
[INFO] running `Command { std: "docker" "inspect" "c84dc7272c4a104641891550f64fa109cfd8d6d5eb523bb14be6064f6feac843", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c84dc7272c4a104641891550f64fa109cfd8d6d5eb523bb14be6064f6feac843", kill_on_drop: false }`
[INFO] [stdout] c84dc7272c4a104641891550f64fa109cfd8d6d5eb523bb14be6064f6feac843
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a26f762a412ba5b3e75a542fdf81ef1992a1b2b4a2ce62c1163757e2fa4f1b42
[INFO] running `Command { std: "docker" "start" "-a" "a26f762a412ba5b3e75a542fdf81ef1992a1b2b4a2ce62c1163757e2fa4f1b42", kill_on_drop: false }`
[INFO] [stderr]    Compiling rtsp_client v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tokio::select`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::select;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::io::AsyncReadExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]  --> src/rtsp.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::net::{IpAddr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::RangeInclusive`
[INFO] [stdout]  --> src/rtsp.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::RangeInclusive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/rtsp.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> src/rtsp.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::{net::{TcpStream, UdpSocket}, io::AsyncWriteExt};
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtp::RtpStream`
[INFO] [stdout]   --> src/rtsp.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::rtp::RtpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/rtsp/data_stream.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{anyhow, bail};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToSocketAddrs`
[INFO] [stdout]   --> src/rtsp/data_stream.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::net::{ToSocketAddrs, UdpSocket};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> src/rtsp/data_stream.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Config`
[INFO] [stdout]   --> src/rtsp/data_stream.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::StreamExt`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio_stream::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `video_stream`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let video_stream = client.connect(url).await?;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_video_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/main.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut buf = vec![0u8; 1500];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf2`
[INFO] [stdout]   --> src/main.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut buf2 = vec![0u8; 1500];
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_buf2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interval`
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut interval = interval(Duration::from_secs(5));
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut client = RtspClient::new(config).await?;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut buf = vec![0u8; 1500];
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut buf2 = vec![0u8; 1500];
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut interval = interval(Duration::from_secs(5));
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtp.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl RtpStream {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 30 |     pub(crate) fn new(socket: Arc<UdpSocket>) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/rtp/packet.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub(crate) struct RtpPacket {
[INFO] [stdout]    |                   --------- fields in this struct
[INFO] [stdout] 8  |     /// The size of padding at the end or the packet. If `None`, there is no padding.
[INFO] [stdout] 9  |     padding: Option<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     /// An extension header.
[INFO] [stdout] 11 |     extension_header: Option<ExtensionHeader>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     has_marker: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     csrc_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     payload_type: RtpPayloadType,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 15 |     sequence_number: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     timestamp: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     ssrc: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     csrc_list: [u32; 15], // FIXME: not ideal :(
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     payload: Bytes,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RtpPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `contents` are never read
[INFO] [stdout]   --> src/rtp/packet.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) struct ExtensionHeader {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] 24 |     id: u16,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 25 |     contents: Bytes,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExtensionHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/rtp/packet.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Unknown(u8),
[INFO] [stdout]    |     ------- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RtpPayloadType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Unknown(()),
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rtsp_stream` and `data_stream` are never read
[INFO] [stdout]   --> src/rtsp.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) struct VideoStream {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 62 |     rtsp_stream: RtspStream,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 63 |     data_stream: DataStream,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `play` is never used
[INFO] [stdout]    --> src/rtsp.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 97  | impl RtspStream {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub(crate) async fn play(&mut self, session: u32) -> anyhow::Result<PlayResponse> {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Options` and `Play` are never constructed
[INFO] [stdout]    --> src/rtsp.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | enum RtspMethod {
[INFO] [stdout]     |      ---------- variants in this enum
[INFO] [stdout] 243 |     Describe,
[INFO] [stdout] 244 |     Options,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 245 |     Play,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RtspMethod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `response` is never read
[INFO] [stdout]    --> src/rtsp.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub(crate) struct DescribeResponse {
[INFO] [stdout]     |                   ---------------- field in this struct
[INFO] [stdout] 288 |     response: RtspResponse,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DescribeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `session` is never used
[INFO] [stdout]    --> src/rtsp.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl DescribeResponse {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 293 |     pub(crate) fn session(&self) -> &sdp_types::Session {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayResponse` is never constructed
[INFO] [stdout]    --> src/rtsp.rs:313:19
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub(crate) struct PlayResponse {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `response` and `session` are never read
[INFO] [stdout]    --> src/rtsp.rs:319:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub(crate) struct SetupResponse {
[INFO] [stdout]     |                   ------------- fields in this struct
[INFO] [stdout] 319 |     response: RtspResponse,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 320 |     peer_ports: (u16, u16),
[INFO] [stdout] 321 |     session: (u32, usize), // (Session ID, timeout)
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SetupResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `timeout` and `session_id` are never used
[INFO] [stdout]    --> src/rtsp.rs:325:19
[INFO] [stdout]     |
[INFO] [stdout] 324 | impl SetupResponse {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 325 |     pub(crate) fn timeout(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub(crate) fn session_id(&self) -> u32 {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]    --> src/rtsp.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 374 | pub(crate) struct Config {
[INFO] [stdout]     |                   ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 378 |     version: RtspVersion,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rtp_socket`, `rtcp_socket`, and `ports` are never read
[INFO] [stdout]   --> src/rtsp/data_stream.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct DataStream {
[INFO] [stdout]    |                   ---------- fields in this struct
[INFO] [stdout] 16 |     rtp_socket: Arc<UdpSocket>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 17 |     rtcp_socket: Arc<UdpSocket>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 18 |     ports: RtpRtcpPorts,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `local` and `peer` are never read
[INFO] [stdout]   --> src/rtsp/data_stream.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) struct RtpRtcpPorts {
[INFO] [stdout]    |                   ------------ fields in this struct
[INFO] [stdout] 22 |     local: (u16, u16),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     peer: (u16, u16),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `local_rtp_port` and `local_rtcp_port` are never used
[INFO] [stdout]   --> src/rtsp/data_stream.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl DataStream {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 33 |     pub(crate) fn local_rtp_port(&self) -> u16 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub(crate) fn local_rtcp_port(&self) -> u16 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `punch_firewall_hole` is never used
[INFO] [stdout]   --> src/rtsp/data_stream.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | async fn punch_firewall_hole(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         env_logger::builder()
[INFO] [stdout] 37 | |             .filter_module(env!("CARGO_PKG_NAME"), LevelFilter::Trace)
[INFO] [stdout] 38 | |             .try_init();
[INFO] [stdout]    | |_______________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let _ = env_logger::builder()
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.94s
[INFO] running `Command { std: "docker" "inspect" "a26f762a412ba5b3e75a542fdf81ef1992a1b2b4a2ce62c1163757e2fa4f1b42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a26f762a412ba5b3e75a542fdf81ef1992a1b2b4a2ce62c1163757e2fa4f1b42", kill_on_drop: false }`
[INFO] [stdout] a26f762a412ba5b3e75a542fdf81ef1992a1b2b4a2ce62c1163757e2fa4f1b42
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e8bf1151cca84cc02f83bc935b85e0e7107670b5421b67e16b0815bd55d6a5e1
[INFO] running `Command { std: "docker" "start" "-a" "e8bf1151cca84cc02f83bc935b85e0e7107670b5421b67e16b0815bd55d6a5e1", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `tokio::select`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tokio::select;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tokio::io::AsyncReadExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IpAddr`
[INFO] [stderr]  --> src/rtsp.rs:4:16
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::net::{IpAddr, SocketAddr};
[INFO] [stderr]   |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::RangeInclusive`
[INFO] [stderr]  --> src/rtsp.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ops::RangeInclusive;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::Rng`
[INFO] [stderr]   --> src/rtsp.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use rand::Rng;
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `UdpSocket`
[INFO] [stderr]   --> src/rtsp.rs:13:30
[INFO] [stderr]    |
[INFO] [stderr] 13 | use tokio::{net::{TcpStream, UdpSocket}, io::AsyncWriteExt};
[INFO] [stderr]    |                              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::rtp::RtpStream`
[INFO] [stderr]   --> src/rtsp.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::rtp::RtpStream;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow`
[INFO] [stderr]  --> src/rtsp/data_stream.rs:8:14
[INFO] [stderr]   |
[INFO] [stderr] 8 | use anyhow::{anyhow, bail};
[INFO] [stderr]   |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ToSocketAddrs`
[INFO] [stderr]   --> src/rtsp/data_stream.rs:10:18
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::net::{ToSocketAddrs, UdpSocket};
[INFO] [stderr]    |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `url::Url`
[INFO] [stderr]   --> src/rtsp/data_stream.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use url::Url;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::Config`
[INFO] [stderr]   --> src/rtsp/data_stream.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::Config;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio_stream::StreamExt`
[INFO] [stderr]  --> src/main.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tokio_stream::StreamExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `video_stream`
[INFO] [stderr]   --> src/main.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let video_stream = client.connect(url).await?;
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_video_stream`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/main.rs:50:13
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let mut buf = vec![0u8; 1500];
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf2`
[INFO] [stderr]   --> src/main.rs:51:13
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let mut buf2 = vec![0u8; 1500];
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_buf2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `interval`
[INFO] [stderr]   --> src/main.rs:52:13
[INFO] [stderr]    |
[INFO] [stderr] 52 |     let mut interval = interval(Duration::from_secs(5));
[INFO] [stderr]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:46:9
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let mut client = RtspClient::new(config).await?;
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let mut buf = vec![0u8; 1500];
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let mut buf2 = vec![0u8; 1500];
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |     let mut interval = interval(Duration::from_secs(5));
[INFO] [stderr]    |         ----^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/rtp.rs:30:19
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl RtpStream {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 30 |     pub(crate) fn new(socket: Arc<UdpSocket>) -> Self {
[INFO] [stderr]    |                   ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/rtp/packet.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr] 7  | pub(crate) struct RtpPacket {
[INFO] [stderr]    |                   --------- fields in this struct
[INFO] [stderr] 8  |     /// The size of padding at the end or the packet. If `None`, there is no padding.
[INFO] [stderr] 9  |     padding: Option<u8>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 10 |     /// An extension header.
[INFO] [stderr] 11 |     extension_header: Option<ExtensionHeader>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     has_marker: bool,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 13 |     csrc_count: usize,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 14 |     payload_type: RtpPayloadType,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 15 |     sequence_number: u16,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |     timestamp: u32,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 17 |     ssrc: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 18 |     csrc_list: [u32; 15], // FIXME: not ideal :(
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 19 |     payload: Bytes,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RtpPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id` and `contents` are never read
[INFO] [stderr]   --> src/rtp/packet.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub(crate) struct ExtensionHeader {
[INFO] [stderr]    |                   --------------- fields in this struct
[INFO] [stderr] 24 |     id: u16,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 25 |     contents: Bytes,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ExtensionHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/rtp/packet.rs:30:13
[INFO] [stderr]    |
[INFO] [stderr] 30 |     Unknown(u8),
[INFO] [stderr]    |     ------- ^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RtpPayloadType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 30 |     Unknown(()),
[INFO] [stderr]    |             ~~
[INFO] [stderr] 
[INFO] [stderr] warning: fields `rtsp_stream` and `data_stream` are never read
[INFO] [stderr]   --> src/rtsp.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub(crate) struct VideoStream {
[INFO] [stderr]    |                   ----------- fields in this struct
[INFO] [stderr] 62 |     rtsp_stream: RtspStream,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 63 |     data_stream: DataStream,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `play` is never used
[INFO] [stderr]    --> src/rtsp.rs:145:25
[INFO] [stderr]     |
[INFO] [stderr] 97  | impl RtspStream {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 145 |     pub(crate) async fn play(&mut self, session: u32) -> anyhow::Result<PlayResponse> {
[INFO] [stderr]     |                         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Options` and `Play` are never constructed
[INFO] [stderr]    --> src/rtsp.rs:244:5
[INFO] [stderr]     |
[INFO] [stderr] 242 | enum RtspMethod {
[INFO] [stderr]     |      ---------- variants in this enum
[INFO] [stderr] 243 |     Describe,
[INFO] [stderr] 244 |     Options,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 245 |     Play,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `RtspMethod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `response` is never read
[INFO] [stderr]    --> src/rtsp.rs:288:5
[INFO] [stderr]     |
[INFO] [stderr] 287 | pub(crate) struct DescribeResponse {
[INFO] [stderr]     |                   ---------------- field in this struct
[INFO] [stderr] 288 |     response: RtspResponse,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DescribeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `session` is never used
[INFO] [stderr]    --> src/rtsp.rs:293:19
[INFO] [stderr]     |
[INFO] [stderr] 292 | impl DescribeResponse {
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] 293 |     pub(crate) fn session(&self) -> &sdp_types::Session {
[INFO] [stderr]     |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PlayResponse` is never constructed
[INFO] [stderr]    --> src/rtsp.rs:313:19
[INFO] [stderr]     |
[INFO] [stderr] 313 | pub(crate) struct PlayResponse {
[INFO] [stderr]     |                   ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `response` and `session` are never read
[INFO] [stderr]    --> src/rtsp.rs:319:5
[INFO] [stderr]     |
[INFO] [stderr] 318 | pub(crate) struct SetupResponse {
[INFO] [stderr]     |                   ------------- fields in this struct
[INFO] [stderr] 319 |     response: RtspResponse,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 320 |     peer_ports: (u16, u16),
[INFO] [stderr] 321 |     session: (u32, usize), // (Session ID, timeout)
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SetupResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `timeout` and `session_id` are never used
[INFO] [stderr]    --> src/rtsp.rs:325:19
[INFO] [stderr]     |
[INFO] [stderr] 324 | impl SetupResponse {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] 325 |     pub(crate) fn timeout(&self) -> usize {
[INFO] [stderr]     |                   ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 329 |     pub(crate) fn session_id(&self) -> u32 {
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `version` is never read
[INFO] [stderr]    --> src/rtsp.rs:378:5
[INFO] [stderr]     |
[INFO] [stderr] 374 | pub(crate) struct Config {
[INFO] [stderr]     |                   ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 378 |     version: RtspVersion,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `rtp_socket`, `rtcp_socket`, and `ports` are never read
[INFO] [stderr]   --> src/rtsp/data_stream.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub(crate) struct DataStream {
[INFO] [stderr]    |                   ---------- fields in this struct
[INFO] [stderr] 16 |     rtp_socket: Arc<UdpSocket>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 17 |     rtcp_socket: Arc<UdpSocket>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 18 |     ports: RtpRtcpPorts,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `local` and `peer` are never read
[INFO] [stderr]   --> src/rtsp/data_stream.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub(crate) struct RtpRtcpPorts {
[INFO] [stderr]    |                   ------------ fields in this struct
[INFO] [stderr] 22 |     local: (u16, u16),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 23 |     peer: (u16, u16),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `local_rtp_port` and `local_rtcp_port` are never used
[INFO] [stderr]   --> src/rtsp/data_stream.rs:33:19
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl DataStream {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] 33 |     pub(crate) fn local_rtp_port(&self) -> u16 {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub(crate) fn local_rtcp_port(&self) -> u16 {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `punch_firewall_hole` is never used
[INFO] [stderr]   --> src/rtsp/data_stream.rs:76:10
[INFO] [stderr]    |
[INFO] [stderr] 76 | async fn punch_firewall_hole(
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 | /         env_logger::builder()
[INFO] [stderr] 37 | |             .filter_module(env!("CARGO_PKG_NAME"), LevelFilter::Trace)
[INFO] [stderr] 38 | |             .try_init();
[INFO] [stderr]    | |_______________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let _ = env_logger::builder()
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rtsp_client` (bin "rtsp_client" test) generated 38 warnings (run `cargo fix --bin "rtsp_client" --tests` to apply 15 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rtsp_client-9f51fd7f3e66bff3)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test rtsp::test::parse ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- rtsp::test::parse stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'rtsp::test::parse' panicked at src/rtsp.rs:513:9:
[INFO] [stdout] assertion failed: RtspResponse::parse("RTSP/1.0 200 OK\r\nCSeq: 312\r\nAccept: application/sdp, application/rtsl, application/mheg\r\n").is_err()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6079b6527cfa - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x6079b6527cfa - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x6079b6527cfa - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6079b6527cfa - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6079b654f423 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x6079b654f423 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x6079b6524853 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x6079b6527b42 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x6079b652911f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x6079b6528f38 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x6079b64e5ed3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x6079b64e5ed3 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x6079b6529c13 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x6079b6529c13 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x6079b6529896 - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:697:13
[INFO] [stdout]   15:     0x6079b65281f9 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x6079b652955d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x6079b654de00 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x6079b654de8c - core::panicking::panic::haa3255ea20181a33
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:145:5
[INFO] [stdout]   19:     0x6079b64a3d81 - rtsp_client::rtsp::test::parse::hb6f98ba82482e519
[INFO] [stdout]                                at /opt/rustwide/workdir/src/rtsp.rs:513:9
[INFO] [stdout]   20:     0x6079b64a38f7 - rtsp_client::rtsp::test::parse::{{closure}}::he58ad03a6aef313d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/rtsp.rs:506:15
[INFO] [stdout]   21:     0x6079b649e656 - core::ops::function::FnOnce::call_once::h0b9cd63afb808a03
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x6079b64eb62b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x6079b64eb62b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   24:     0x6079b64ea563 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   25:     0x6079b64ea563 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   26:     0x6079b64ea563 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   27:     0x6079b64ea563 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   28:     0x6079b64ea563 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   29:     0x6079b64ea563 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   30:     0x6079b64ea563 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   31:     0x6079b64ad645 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   32:     0x6079b64ad645 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   33:     0x6079b64b0f2a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   34:     0x6079b64b0f2a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   35:     0x6079b64b0f2a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   36:     0x6079b64b0f2a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   37:     0x6079b64b0f2a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   38:     0x6079b64b0f2a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   39:     0x6079b64b0f2a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x6079b652db4b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   41:     0x6079b652db4b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   42:     0x6079b652db4b - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   43:     0x742d7c757ac3 - <unknown>
[INFO] [stdout]   44:     0x742d7c7e8a04 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     rtsp::test::parse
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin rtsp_client`
[INFO] running `Command { std: "docker" "inspect" "e8bf1151cca84cc02f83bc935b85e0e7107670b5421b67e16b0815bd55d6a5e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8bf1151cca84cc02f83bc935b85e0e7107670b5421b67e16b0815bd55d6a5e1", kill_on_drop: false }`
[INFO] [stdout] e8bf1151cca84cc02f83bc935b85e0e7107670b5421b67e16b0815bd55d6a5e1
