[INFO] cloning repository https://github.com/konakona418/flv-rs-single
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/konakona418/flv-rs-single" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkonakona418%2Fflv-rs-single", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkonakona418%2Fflv-rs-single'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fd799b157bca9302709dc866b02a71ce3cd8678d
[INFO] testing konakona418/flv-rs-single against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkonakona418%2Fflv-rs-single" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/konakona418/flv-rs-single
[INFO] finished tweaking git repo https://github.com/konakona418/flv-rs-single
[INFO] tweaked toml for git repo https://github.com/konakona418/flv-rs-single written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/konakona418/flv-rs-single on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/konakona418/flv-rs-single 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" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275
[INFO] running `Command { std: "docker" "start" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling flv-rs-single v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/exchange.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/flv/decoder.rs:372:24
[INFO] [stdout]     |
[INFO] [stdout] 372 |             if let Err(e) = self.decode_body_once() {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_size`
[INFO] [stdout]    --> src/flv/header.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_size`
[INFO] [stdout]    --> src/flv/header.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:219:28
[INFO] [stdout]     |
[INFO] [stdout] 219 |                         if let VideoParseResult::Avc1(parsed) = parsed {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:131:41
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   let mut prev_sample = self.audio_sequence_buffer.iter_mut().last().unwrap();
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...                   let mut sample_ctx = SampleContextBuilder::new()
[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/fmpeg/remuxer.rs:312:45
[INFO] [stdout]     |
[INFO] [stdout] 312 | ...                   let mut prev_sample = self.video_sequence_buffer.iter_mut().last().unwrap();
[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/fmpeg/mp4head.rs:2014:22
[INFO] [stdout]      |
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[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/fmpeg/mp4head.rs:2339:17
[INFO] [stdout]      |
[INFO] [stdout] 2339 |             let mut size = self.size();
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 398 |             VideoParseResult::Avc1(h264_info) => {
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 422 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/fmpeg/parser.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `protection_bit`
[INFO] [stdout]    --> src/fmpeg/parser.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let protection_bit = u16io.read_at(15);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protection_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/fmpeg/encoder.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]   --> src/io/bit.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct U16BitIO {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 50 |     pub(crate) data: [u8; 2],
[INFO] [stdout] 51 |     endian: UIntParserEndian,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]    --> src/io/bit.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct U32BitIO {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 119 |     data: [u8; 4],
[INFO] [stdout] 120 |     endian: UIntParserEndian,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]   --> src/fmpeg/mp4head.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl FixedPoint16 {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn to_float(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl FixedPoint32 {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn to_float(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 5.91s
[INFO] running `Command { std: "docker" "inspect" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/exchange.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/flv/decoder.rs:372:24
[INFO] [stdout]     |
[INFO] [stdout] 372 |             if let Err(e) = self.decode_body_once() {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_size`
[INFO] [stdout]    --> src/flv/header.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_size`
[INFO] [stdout]    --> src/flv/header.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:219:28
[INFO] [stdout]     |
[INFO] [stdout] 219 |                         if let VideoParseResult::Avc1(parsed) = parsed {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:131:41
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   let mut prev_sample = self.audio_sequence_buffer.iter_mut().last().unwrap();
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...                   let mut sample_ctx = SampleContextBuilder::new()
[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/fmpeg/remuxer.rs:312:45
[INFO] [stdout]     |
[INFO] [stdout] 312 | ...                   let mut prev_sample = self.video_sequence_buffer.iter_mut().last().unwrap();
[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/fmpeg/mp4head.rs:2014:22
[INFO] [stdout]      |
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[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/fmpeg/mp4head.rs:2339:17
[INFO] [stdout]      |
[INFO] [stdout] 2339 |             let mut size = self.size();
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 398 |             VideoParseResult::Avc1(h264_info) => {
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 422 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/fmpeg/parser.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `protection_bit`
[INFO] [stdout]    --> src/fmpeg/parser.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let protection_bit = u16io.read_at(15);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protection_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/fmpeg/encoder.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]   --> src/io/bit.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct U16BitIO {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 50 |     pub(crate) data: [u8; 2],
[INFO] [stdout] 51 |     endian: UIntParserEndian,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]    --> src/io/bit.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct U32BitIO {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 119 |     data: [u8; 4],
[INFO] [stdout] 120 |     endian: UIntParserEndian,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]   --> src/fmpeg/mp4head.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl FixedPoint16 {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn to_float(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl FixedPoint32 {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn to_float(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling flv-rs-single v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/exchange.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::IConsumable`
[INFO] [stdout]   --> src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use crate::core::IConsumable;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/flv/decoder.rs:372:24
[INFO] [stdout]     |
[INFO] [stdout] 372 |             if let Err(e) = self.decode_body_once() {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_size`
[INFO] [stdout]    --> src/flv/header.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/flv/header.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_size`
[INFO] [stdout]    --> src/flv/header.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:219:28
[INFO] [stdout]     |
[INFO] [stdout] 219 |                         if let VideoParseResult::Avc1(parsed) = parsed {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:131:41
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   let mut prev_sample = self.audio_sequence_buffer.iter_mut().last().unwrap();
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fmpeg/remuxer.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...                   let mut sample_ctx = SampleContextBuilder::new()
[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/fmpeg/remuxer.rs:312:45
[INFO] [stdout]     |
[INFO] [stdout] 312 | ...                   let mut prev_sample = self.video_sequence_buffer.iter_mut().last().unwrap();
[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/fmpeg/mp4head.rs:2014:22
[INFO] [stdout]      |
[INFO] [stdout] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[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/fmpeg/mp4head.rs:2339:17
[INFO] [stdout]      |
[INFO] [stdout] 2339 |             let mut size = self.size();
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/fmpeg/remux_context.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 398 |             VideoParseResult::Avc1(h264_info) => {
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 422 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/fmpeg/parser.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `protection_bit`
[INFO] [stdout]    --> src/fmpeg/parser.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let protection_bit = u16io.read_at(15);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protection_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/fmpeg/encoder.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut buf = std::fs::read("D:/test.flv").unwrap();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `core`
[INFO] [stdout]   --> src/lib.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let core = core::Core::new();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let mut buf = std::fs::read("D:/test_aac.flv").unwrap();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]   --> src/io/bit.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct U16BitIO {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 50 |     pub(crate) data: [u8; 2],
[INFO] [stdout] 51 |     endian: UIntParserEndian,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endian` is never read
[INFO] [stdout]    --> src/io/bit.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct U32BitIO {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 119 |     data: [u8; 4],
[INFO] [stdout] 120 |     endian: UIntParserEndian,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]   --> src/fmpeg/mp4head.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl FixedPoint16 {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn to_float(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_float` is never used
[INFO] [stdout]    --> src/fmpeg/mp4head.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl FixedPoint32 {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn to_float(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 5.83s
[INFO] running `Command { std: "docker" "inspect" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> src/exchange.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/flv/decoder.rs:372:24
[INFO] [stderr]     |
[INFO] [stderr] 372 |             if let Err(e) = self.decode_body_once() {
[INFO] [stderr]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoder`
[INFO] [stderr]    --> src/flv/header.rs:109:18
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header_size`
[INFO] [stderr]    --> src/flv/header.rs:109:41
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn parse(decoder: &mut Decoder, header_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoder`
[INFO] [stderr]    --> src/flv/header.rs:131:18
[INFO] [stderr]     |
[INFO] [stderr] 131 |     pub fn parse(decoder: &mut Decoder) -> Self {
[INFO] [stderr]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoder`
[INFO] [stderr]    --> src/flv/header.rs:137:18
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param_size`
[INFO] [stderr]    --> src/flv/header.rs:137:41
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn parse(decoder: &mut Decoder, param_size: &mut usize) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_size`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/fmpeg/remuxer.rs:219:28
[INFO] [stderr]     |
[INFO] [stderr] 219 |                         if let VideoParseResult::Avc1(parsed) = parsed {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/fmpeg/remuxer.rs:131:41
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   let mut prev_sample = self.audio_sequence_buffer.iter_mut().last().unwrap();
[INFO] [stderr]     |                           ----^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/fmpeg/remuxer.rs:140:41
[INFO] [stderr]     |
[INFO] [stderr] 140 | ...                   let mut sample_ctx = SampleContextBuilder::new()
[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/fmpeg/remuxer.rs:312:45
[INFO] [stderr]     |
[INFO] [stderr] 312 | ...                   let mut prev_sample = self.video_sequence_buffer.iter_mut().last().unwrap();
[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/fmpeg/mp4head.rs:2014:22
[INFO] [stderr]      |
[INFO] [stderr] 2014 |         pub fn build(mut self) -> AacAudioSpecificConfigBox {
[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/fmpeg/mp4head.rs:2339:17
[INFO] [stderr]      |
[INFO] [stderr] 2339 |             let mut size = self.size();
[INFO] [stderr]      |                 ----^^^^
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/fmpeg/remux_context.rs:422:13
[INFO] [stderr]     |
[INFO] [stderr] 398 |             VideoParseResult::Avc1(h264_info) => {
[INFO] [stderr]     |             --------------------------------- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 422 |             _ => {
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header`
[INFO] [stderr]    --> src/fmpeg/parser.rs:227:18
[INFO] [stderr]     |
[INFO] [stderr] 227 |     fn parse_mp3(header: &AudioTagHeader, body: &VecDeque<u8>) -> Result<AudioParseResult, Box<dyn std::error::Error>> {
[INFO] [stderr]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `protection_bit`
[INFO] [stderr]    --> src/fmpeg/parser.rs:247:13
[INFO] [stderr]     |
[INFO] [stderr] 247 |         let protection_bit = u16io.read_at(15);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protection_bit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/fmpeg/encoder.rs:85:24
[INFO] [stderr]    |
[INFO] [stderr] 85 |     pub fn encode_hdlr(ctx: &RemuxContext, handler_type: HandlerType) -> mp4head::HandlerBox {
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: field `endian` is never read
[INFO] [stderr]   --> src/io/bit.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct U16BitIO {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 50 |     pub(crate) data: [u8; 2],
[INFO] [stderr] 51 |     endian: UIntParserEndian,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `endian` is never read
[INFO] [stderr]    --> src/io/bit.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub struct U32BitIO {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 119 |     data: [u8; 4],
[INFO] [stderr] 120 |     endian: UIntParserEndian,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_float` is never used
[INFO] [stderr]   --> src/fmpeg/mp4head.rs:82:8
[INFO] [stderr]    |
[INFO] [stderr] 75 | impl FixedPoint16 {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 82 |     fn to_float(&self) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_float` is never used
[INFO] [stderr]    --> src/fmpeg/mp4head.rs:137:8
[INFO] [stderr]     |
[INFO] [stderr] 130 | impl FixedPoint32 {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 137 |     fn to_float(&self) -> f32 {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `flv-rs-single` (lib) generated 21 warnings (run `cargo fix --lib -p flv-rs-single` to apply 15 suggestions)
[INFO] [stderr] warning: unused import: `crate::core::IConsumable`
[INFO] [stderr]   --> src/lib.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 |     use crate::core::IConsumable;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:86:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |         let mut buf = std::fs::read("D:/test.flv").unwrap();
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `core`
[INFO] [stderr]   --> src/lib.rs:85:13
[INFO] [stderr]    |
[INFO] [stderr] 85 |         let core = core::Core::new();
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_core`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:188:13
[INFO] [stderr]     |
[INFO] [stderr] 188 |         let mut buf = std::fs::read("D:/test_aac.flv").unwrap();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `flv-rs-single` (lib test) generated 25 warnings (21 duplicates) (run `cargo fix --lib -p flv-rs-single --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/flv_rs_single-d1b0a540fcbb47a8)
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::it_works ... FAILED
[INFO] [stdout] test tests::test_all ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::it_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::it_works' (189) panicked at src/lib.rs:86:52:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a68bfbb5991 - <<std[104cf6e2632825ea]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[7c831bd917ebf35f]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5a68bfbca89a - core[7c831bd917ebf35f]::fmt::write
[INFO] [stdout]    2:     0x5a68bfbb9e2c - <alloc[2fdc3f7464fcf288]::vec::Vec<u8> as core[7c831bd917ebf35f]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5a68bfb91c56 - std[104cf6e2632825ea]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5a68bfbadd89 - std[104cf6e2632825ea]::panicking::default_hook
[INFO] [stdout]    5:     0x5a68bfb49cf0 - test[73009c9f9aebf890]::test_main_inner::<test[73009c9f9aebf890]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5a68bfbadf42 - std[104cf6e2632825ea]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5a68bfb91d02 - std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5a68bfb8a159 - std[104cf6e2632825ea]::sys::backtrace::__rust_end_short_backtrace::<std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5a68bfb928fd - __rustc[b0d56fa5b193ad05]::rust_begin_unwind
[INFO] [stdout]   10:     0x5a68bfbcafcc - core[7c831bd917ebf35f]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5a68bfbcada2 - core[7c831bd917ebf35f]::result::unwrap_failed
[INFO] [stdout]   12:     0x5a68bfb18573 - flv_rs_single[3792f9cbd14e3d6d]::tests::it_works
[INFO] [stdout]   13:     0x5a68bfb3ba89 - <flv_rs_single[3792f9cbd14e3d6d]::tests::it_works::{closure#0} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5a68bfb3cfdb - test[73009c9f9aebf890]::__rust_begin_short_backtrace::<core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>, fn() -> core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>>
[INFO] [stdout]   15:     0x5a68bfb4a645 - test[73009c9f9aebf890]::run_test::{closure#0}
[INFO] [stdout]   16:     0x5a68bfb43a04 - std[104cf6e2632825ea]::sys::backtrace::__rust_begin_short_backtrace::<test[73009c9f9aebf890]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x5a68bfb4d7a2 - <std[104cf6e2632825ea]::thread::lifecycle::spawn_unchecked<test[73009c9f9aebf890]::run_test::{closure#1}, ()>::{closure#1} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5a68bfbb4f49 - <std[104cf6e2632825ea]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x76ee9b24e07a - <unknown>
[INFO] [stdout]   20:     0x76ee9b2e1534 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_all stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_all' (190) panicked at src/lib.rs:188:56:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a68bfbb5991 - <<std[104cf6e2632825ea]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[7c831bd917ebf35f]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5a68bfbca89a - core[7c831bd917ebf35f]::fmt::write
[INFO] [stdout]    2:     0x5a68bfbb9e2c - <alloc[2fdc3f7464fcf288]::vec::Vec<u8> as core[7c831bd917ebf35f]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5a68bfb91c56 - std[104cf6e2632825ea]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5a68bfbadd89 - std[104cf6e2632825ea]::panicking::default_hook
[INFO] [stdout]    5:     0x5a68bfb49cf0 - test[73009c9f9aebf890]::test_main_inner::<test[73009c9f9aebf890]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5a68bfbadf42 - std[104cf6e2632825ea]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5a68bfb91d02 - std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5a68bfb8a159 - std[104cf6e2632825ea]::sys::backtrace::__rust_end_short_backtrace::<std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5a68bfb928fd - __rustc[b0d56fa5b193ad05]::rust_begin_unwind
[INFO] [stdout]   10:     0x5a68bfbcafcc - core[7c831bd917ebf35f]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5a68bfbcada2 - core[7c831bd917ebf35f]::result::unwrap_failed
[INFO] [stdout]   12:     0x5a68bfb19048 - flv_rs_single[3792f9cbd14e3d6d]::tests::test_all
[INFO] [stdout]   13:     0x5a68bfb3baa9 - <flv_rs_single[3792f9cbd14e3d6d]::tests::test_all::{closure#0} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5a68bfb3cfdb - test[73009c9f9aebf890]::__rust_begin_short_backtrace::<core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>, fn() -> core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>>
[INFO] [stdout]   15:     0x5a68bfb4a645 - test[73009c9f9aebf890]::run_test::{closure#0}
[INFO] [stdout]   16:     0x5a68bfb43a04 - std[104cf6e2632825ea]::sys::backtrace::__rust_begin_short_backtrace::<test[73009c9f9aebf890]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x5a68bfb4d7a2 - <std[104cf6e2632825ea]::thread::lifecycle::spawn_unchecked<test[73009c9f9aebf890]::run_test::{closure#1}, ()>::{closure#1} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5a68bfbb4f49 - <std[104cf6e2632825ea]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x76ee9b24e07a - <unknown>
[INFO] [stdout]   20:     0x76ee9b2e1534 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::it_works
[INFO] [stdout]     tests::test_all
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275", kill_on_drop: false }`
[INFO] [stdout] 912b8aad1f38905707a9098fe3dc69ac26162547f143cd63cd10886b10fa0275
