[INFO] fetching crate brotli-no-stdlib 1.0.4...
[INFO] testing brotli-no-stdlib-1.0.4 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate brotli-no-stdlib 1.0.4 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate brotli-no-stdlib 1.0.4 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate brotli-no-stdlib 1.0.4
[INFO] finished tweaking crates.io crate brotli-no-stdlib 1.0.4
[INFO] tweaked toml for crates.io crate brotli-no-stdlib 1.0.4 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 2 packages to latest compatible versions
[INFO] [stderr]       Adding alloc-no-stdlib v1.0.0 (latest: v2.0.4)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/integration_tests.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded alloc-no-stdlib v1.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 684147be887f11a78fd5487cd5c92650a859ae3a1a313120c22c382becb3f95c
[INFO] running `Command { std: "docker" "start" "-a" "684147be887f11a78fd5487cd5c92650a859ae3a1a313120c22c382becb3f95c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "684147be887f11a78fd5487cd5c92650a859ae3a1a313120c22c382becb3f95c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "684147be887f11a78fd5487cd5c92650a859ae3a1a313120c22c382becb3f95c", kill_on_drop: false }`
[INFO] [stdout] 684147be887f11a78fd5487cd5c92650a859ae3a1a313120c22c382becb3f95c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d4338c77c32d0436e59555430688b53ce87aa449be3502be73ee2db8bcf8fcac
[INFO] running `Command { std: "docker" "start" "-a" "d4338c77c32d0436e59555430688b53ce87aa449be3502be73ee2db8bcf8fcac", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/integration_tests.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]    Compiling alloc-no-stdlib v1.0.0
[INFO] [stderr]    Compiling brotli-no-stdlib v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `SafeReadBlockLength`
[INFO] [stdout]    --> src/lib.rs:921:14
[INFO] [stdout]     |
[INFO] [stdout] 921 | macro_rules! SafeReadBlockLength (
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transform.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let mut uppercase = &mut dst[(idx - len) as usize ..];
[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/lib.rs:131:22
[INFO] [stdout]     |
[INFO] [stdout] 131 |                      mut value : &mut u32,
[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/lib.rs:1018:7
[INFO] [stdout]      |
[INFO] [stdout] 1018 |   for mut htree_iter in htrees.slice_mut()[s.htree_index as usize .. (group_num_htrees as usize)].iter_mut() {
[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/lib.rs:1152:13
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         let mut context_map = &mut context_map_arg.slice_mut();
[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/lib.rs:1271:45
[INFO] [stdout]      |
[INFO] [stdout] 1271 | ...                   mut s : &mut BlockTypeAndLengthState<AllocHC>,
[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/lib.rs:1272:45
[INFO] [stdout]      |
[INFO] [stdout] 1272 | ...                   mut br : &mut bit_reader::BrotliBitReader,
[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/lib.rs:1332:45
[INFO] [stdout]      |
[INFO] [stdout] 1332 | ...                   mut s : &mut BrotliState<AllocU8,
[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/lib.rs:1377:45
[INFO] [stdout]      |
[INFO] [stdout] 1377 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1390:45
[INFO] [stdout]      |
[INFO] [stdout] 1390 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1398:45
[INFO] [stdout]      |
[INFO] [stdout] 1398 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1409:45
[INFO] [stdout]      |
[INFO] [stdout] 1409 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1424:45
[INFO] [stdout]      |
[INFO] [stdout] 1424 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1433:45
[INFO] [stdout]      |
[INFO] [stdout] 1433 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1440:33
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1440:57
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1441:20
[INFO] [stdout]      |
[INFO] [stdout] 1441 |                    mut total_out : &mut usize, s : &mut BrotliState<AllocU8, AllocU32, AllocHC>) -> BrotliResult {
[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/lib.rs:2198:3
[INFO] [stdout]      |
[INFO] [stdout] 2198 |   mut available_in : &mut usize, input_offset : &mut usize, xinput : &[u8], // ugly that we are mutable
[INFO] [stdout]      |   ----^^^^^^^^^^^^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1035:5
[INFO] [stdout]      |
[INFO] [stdout] 1035 | /     mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout] 1036 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1037 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1035 |     let _ = mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1038:5
[INFO] [stdout]      |
[INFO] [stdout] 1038 | /     mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout] 1039 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1040 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1038 |     let _ = mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1042:5
[INFO] [stdout]      |
[INFO] [stdout] 1042 | /     mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout] 1043 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1044 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1042 |     let _ = mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1045:5
[INFO] [stdout]      |
[INFO] [stdout] 1045 | /     mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout] 1046 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1047 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     let _ = mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1049:5
[INFO] [stdout]      |
[INFO] [stdout] 1049 | /     mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout] 1050 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1051 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1049 |     let _ = mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1052:5
[INFO] [stdout]      |
[INFO] [stdout] 1052 | /     mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout] 1053 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1054 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     let _ = mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1139:9
[INFO] [stdout]      |
[INFO] [stdout] 1139 | /         mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout] 1140 | |                                                             AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |_________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         let _ = mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1258:5
[INFO] [stdout]      |
[INFO] [stdout] 1258 | /     mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1259 | |                                                        AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1258 |     let _ = mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1262:5
[INFO] [stdout]      |
[INFO] [stdout] 1262 | /     mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1263 | |                                                   AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |_______________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1262 |     let _ = mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2161:3
[INFO] [stdout]      |
[INFO] [stdout] 2161 | /   core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout] 2162 | |                 core::mem::replace(&mut saved_literal_hgroup,
[INFO] [stdout] 2163 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2161 |   let _ = core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2165:3
[INFO] [stdout]      |
[INFO] [stdout] 2165 | /   core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout] 2166 | |                 core::mem::replace(&mut saved_distance_hgroup,
[INFO] [stdout] 2167 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2165 |   let _ = core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2169:3
[INFO] [stdout]      |
[INFO] [stdout] 2169 | /   core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout] 2170 | |                 core::mem::replace(&mut saved_insert_copy_hgroup,
[INFO] [stdout] 2171 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2169 |   let _ = core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2439:11
[INFO] [stdout]      |
[INFO] [stdout] 2439 | /           mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout] 2440 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2439 |           let _ = mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2454:11
[INFO] [stdout]      |
[INFO] [stdout] 2454 | /           mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout] 2455 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2454 |           let _ = mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         core::mem::replace(&mut self.htrees,
[INFO] [stdout] 59 | |                            alloc_u32.alloc_cell(ntrees as usize));
[INFO] [stdout]    | |_________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = core::mem::replace(&mut self.htrees,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | /         core::mem::replace(&mut self.codes,
[INFO] [stdout] 61 | |                            alloc_hc.alloc_cell(ntrees as usize * BROTLI_HUFFMAN_MAX_TABLE_SIZE as usize));
[INFO] [stdout]    | |_________________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let _ = core::mem::replace(&mut self.codes,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/brot.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 |               try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stdout]     |               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/brot.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 |           try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/brot.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn decompress<InputType, OutputType> (r : &mut InputType, mut w : &mut OutputType) -> Result<(), io::Error>
[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: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.50s
[INFO] running `Command { std: "docker" "inspect" "d4338c77c32d0436e59555430688b53ce87aa449be3502be73ee2db8bcf8fcac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4338c77c32d0436e59555430688b53ce87aa449be3502be73ee2db8bcf8fcac", kill_on_drop: false }`
[INFO] [stdout] d4338c77c32d0436e59555430688b53ce87aa449be3502be73ee2db8bcf8fcac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f4f11d1c58e03a92a3273614c3fb162b7a80ff34b992a9d7af1f44e58301263a
[INFO] running `Command { std: "docker" "start" "-a" "f4f11d1c58e03a92a3273614c3fb162b7a80ff34b992a9d7af1f44e58301263a", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/integration_tests.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `SafeReadBlockLength`
[INFO] [stdout]    --> src/lib.rs:921:14
[INFO] [stdout]     |
[INFO] [stdout] 921 | macro_rules! SafeReadBlockLength (
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transform.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let mut uppercase = &mut dst[(idx - len) as usize ..];
[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/lib.rs:131:22
[INFO] [stdout]     |
[INFO] [stdout] 131 |                      mut value : &mut u32,
[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/lib.rs:1018:7
[INFO] [stdout]      |
[INFO] [stdout] 1018 |   for mut htree_iter in htrees.slice_mut()[s.htree_index as usize .. (group_num_htrees as usize)].iter_mut() {
[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/lib.rs:1152:13
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         let mut context_map = &mut context_map_arg.slice_mut();
[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/lib.rs:1271:45
[INFO] [stdout]      |
[INFO] [stdout] 1271 | ...                   mut s : &mut BlockTypeAndLengthState<AllocHC>,
[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/lib.rs:1272:45
[INFO] [stdout]      |
[INFO] [stdout] 1272 | ...                   mut br : &mut bit_reader::BrotliBitReader,
[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/lib.rs:1332:45
[INFO] [stdout]      |
[INFO] [stdout] 1332 | ...                   mut s : &mut BrotliState<AllocU8,
[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/lib.rs:1377:45
[INFO] [stdout]      |
[INFO] [stdout] 1377 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1390:45
[INFO] [stdout]      |
[INFO] [stdout] 1390 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1398:45
[INFO] [stdout]      |
[INFO] [stdout] 1398 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1409:45
[INFO] [stdout]      |
[INFO] [stdout] 1409 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1424:45
[INFO] [stdout]      |
[INFO] [stdout] 1424 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1433:45
[INFO] [stdout]      |
[INFO] [stdout] 1433 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1440:33
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1440:57
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1441:20
[INFO] [stdout]      |
[INFO] [stdout] 1441 |                    mut total_out : &mut usize, s : &mut BrotliState<AllocU8, AllocU32, AllocHC>) -> BrotliResult {
[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/lib.rs:2198:3
[INFO] [stdout]      |
[INFO] [stdout] 2198 |   mut available_in : &mut usize, input_offset : &mut usize, xinput : &[u8], // ugly that we are mutable
[INFO] [stdout]      |   ----^^^^^^^^^^^^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1035:5
[INFO] [stdout]      |
[INFO] [stdout] 1035 | /     mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout] 1036 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1037 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1035 |     let _ = mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1038:5
[INFO] [stdout]      |
[INFO] [stdout] 1038 | /     mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout] 1039 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1040 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1038 |     let _ = mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1042:5
[INFO] [stdout]      |
[INFO] [stdout] 1042 | /     mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout] 1043 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1044 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1042 |     let _ = mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1045:5
[INFO] [stdout]      |
[INFO] [stdout] 1045 | /     mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout] 1046 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1047 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     let _ = mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1049:5
[INFO] [stdout]      |
[INFO] [stdout] 1049 | /     mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout] 1050 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1051 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1049 |     let _ = mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1052:5
[INFO] [stdout]      |
[INFO] [stdout] 1052 | /     mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout] 1053 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1054 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     let _ = mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1139:9
[INFO] [stdout]      |
[INFO] [stdout] 1139 | /         mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout] 1140 | |                                                             AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |_________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         let _ = mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1258:5
[INFO] [stdout]      |
[INFO] [stdout] 1258 | /     mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1259 | |                                                        AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1258 |     let _ = mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1262:5
[INFO] [stdout]      |
[INFO] [stdout] 1262 | /     mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1263 | |                                                   AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |_______________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1262 |     let _ = mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2161:3
[INFO] [stdout]      |
[INFO] [stdout] 2161 | /   core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout] 2162 | |                 core::mem::replace(&mut saved_literal_hgroup,
[INFO] [stdout] 2163 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2161 |   let _ = core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2165:3
[INFO] [stdout]      |
[INFO] [stdout] 2165 | /   core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout] 2166 | |                 core::mem::replace(&mut saved_distance_hgroup,
[INFO] [stdout] 2167 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2165 |   let _ = core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2169:3
[INFO] [stdout]      |
[INFO] [stdout] 2169 | /   core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout] 2170 | |                 core::mem::replace(&mut saved_insert_copy_hgroup,
[INFO] [stdout] 2171 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2169 |   let _ = core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2439:11
[INFO] [stdout]      |
[INFO] [stdout] 2439 | /           mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout] 2440 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2439 |           let _ = mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2454:11
[INFO] [stdout]      |
[INFO] [stdout] 2454 | /           mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout] 2455 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2454 |           let _ = mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         core::mem::replace(&mut self.htrees,
[INFO] [stdout] 59 | |                            alloc_u32.alloc_cell(ntrees as usize));
[INFO] [stdout]    | |_________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = core::mem::replace(&mut self.htrees,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling brotli-no-stdlib v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | /         core::mem::replace(&mut self.codes,
[INFO] [stdout] 61 | |                            alloc_hc.alloc_cell(ntrees as usize * BROTLI_HUFFMAN_MAX_TABLE_SIZE as usize));
[INFO] [stdout]    | |_________________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let _ = core::mem::replace(&mut self.codes,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/brot.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 |               try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stdout]     |               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/brot.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 |           try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `SafeReadBlockLength`
[INFO] [stdout]    --> src/lib.rs:921:14
[INFO] [stdout]     |
[INFO] [stdout] 921 | macro_rules! SafeReadBlockLength (
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/brot.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn decompress<InputType, OutputType> (r : &mut InputType, mut w : &mut OutputType) -> Result<(), io::Error>
[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/transform.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let mut uppercase = &mut dst[(idx - len) as usize ..];
[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/lib.rs:131:22
[INFO] [stdout]     |
[INFO] [stdout] 131 |                      mut value : &mut u32,
[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/lib.rs:1018:7
[INFO] [stdout]      |
[INFO] [stdout] 1018 |   for mut htree_iter in htrees.slice_mut()[s.htree_index as usize .. (group_num_htrees as usize)].iter_mut() {
[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/lib.rs:1152:13
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         let mut context_map = &mut context_map_arg.slice_mut();
[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/lib.rs:1271:45
[INFO] [stdout]      |
[INFO] [stdout] 1271 | ...                   mut s : &mut BlockTypeAndLengthState<AllocHC>,
[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/lib.rs:1272:45
[INFO] [stdout]      |
[INFO] [stdout] 1272 | ...                   mut br : &mut bit_reader::BrotliBitReader,
[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/lib.rs:1332:45
[INFO] [stdout]      |
[INFO] [stdout] 1332 | ...                   mut s : &mut BrotliState<AllocU8,
[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/lib.rs:1377:45
[INFO] [stdout]      |
[INFO] [stdout] 1377 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1390:45
[INFO] [stdout]      |
[INFO] [stdout] 1390 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1398:45
[INFO] [stdout]      |
[INFO] [stdout] 1398 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1409:45
[INFO] [stdout]      |
[INFO] [stdout] 1409 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1424:45
[INFO] [stdout]      |
[INFO] [stdout] 1424 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1433:45
[INFO] [stdout]      |
[INFO] [stdout] 1433 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1440:33
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1440:57
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1441:20
[INFO] [stdout]      |
[INFO] [stdout] 1441 |                    mut total_out : &mut usize, s : &mut BrotliState<AllocU8, AllocU32, AllocHC>) -> BrotliResult {
[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/lib.rs:2198:3
[INFO] [stdout]      |
[INFO] [stdout] 2198 |   mut available_in : &mut usize, input_offset : &mut usize, xinput : &[u8], // ugly that we are mutable
[INFO] [stdout]      |   ----^^^^^^^^^^^^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1035:5
[INFO] [stdout]      |
[INFO] [stdout] 1035 | /     mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout] 1036 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1037 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1035 |     let _ = mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1038:5
[INFO] [stdout]      |
[INFO] [stdout] 1038 | /     mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout] 1039 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1040 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1038 |     let _ = mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1042:5
[INFO] [stdout]      |
[INFO] [stdout] 1042 | /     mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout] 1043 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1044 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1042 |     let _ = mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1045:5
[INFO] [stdout]      |
[INFO] [stdout] 1045 | /     mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout] 1046 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1047 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     let _ = mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1049:5
[INFO] [stdout]      |
[INFO] [stdout] 1049 | /     mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout] 1050 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1051 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1049 |     let _ = mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1052:5
[INFO] [stdout]      |
[INFO] [stdout] 1052 | /     mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout] 1053 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1054 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     let _ = mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1139:9
[INFO] [stdout]      |
[INFO] [stdout] 1139 | /         mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout] 1140 | |                                                             AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |_________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         let _ = mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1258:5
[INFO] [stdout]      |
[INFO] [stdout] 1258 | /     mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1259 | |                                                        AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1258 |     let _ = mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1262:5
[INFO] [stdout]      |
[INFO] [stdout] 1262 | /     mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1263 | |                                                   AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |_______________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1262 |     let _ = mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2161:3
[INFO] [stdout]      |
[INFO] [stdout] 2161 | /   core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout] 2162 | |                 core::mem::replace(&mut saved_literal_hgroup,
[INFO] [stdout] 2163 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2161 |   let _ = core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2165:3
[INFO] [stdout]      |
[INFO] [stdout] 2165 | /   core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout] 2166 | |                 core::mem::replace(&mut saved_distance_hgroup,
[INFO] [stdout] 2167 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2165 |   let _ = core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2169:3
[INFO] [stdout]      |
[INFO] [stdout] 2169 | /   core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout] 2170 | |                 core::mem::replace(&mut saved_insert_copy_hgroup,
[INFO] [stdout] 2171 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2169 |   let _ = core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2439:11
[INFO] [stdout]      |
[INFO] [stdout] 2439 | /           mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout] 2440 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2439 |           let _ = mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2454:11
[INFO] [stdout]      |
[INFO] [stdout] 2454 | /           mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout] 2455 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2454 |           let _ = mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         core::mem::replace(&mut self.htrees,
[INFO] [stdout] 59 | |                            alloc_u32.alloc_cell(ntrees as usize));
[INFO] [stdout]    | |_________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = core::mem::replace(&mut self.htrees,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | /         core::mem::replace(&mut self.codes,
[INFO] [stdout] 61 | |                            alloc_hc.alloc_cell(ntrees as usize * BROTLI_HUFFMAN_MAX_TABLE_SIZE as usize));
[INFO] [stdout]    | |_________________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let _ = core::mem::replace(&mut self.codes,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 34 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.32s
[INFO] running `Command { std: "docker" "inspect" "f4f11d1c58e03a92a3273614c3fb162b7a80ff34b992a9d7af1f44e58301263a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4f11d1c58e03a92a3273614c3fb162b7a80ff34b992a9d7af1f44e58301263a", kill_on_drop: false }`
[INFO] [stdout] f4f11d1c58e03a92a3273614c3fb162b7a80ff34b992a9d7af1f44e58301263a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8a57a1db0f193249c04ce23f81f1c24d7b56549b30b8be1a0f1f427145d97c2a
[INFO] running `Command { std: "docker" "start" "-a" "8a57a1db0f193249c04ce23f81f1c24d7b56549b30b8be1a0f1f427145d97c2a", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/integration_tests.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `SafeReadBlockLength`
[INFO] [stderr]    --> src/lib.rs:921:14
[INFO] [stderr]     |
[INFO] [stderr] 921 | macro_rules! SafeReadBlockLength (
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transform.rs:284:9
[INFO] [stderr]     |
[INFO] [stderr] 284 |     let mut uppercase = &mut dst[(idx - len) as usize ..];
[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/lib.rs:131:22
[INFO] [stderr]     |
[INFO] [stderr] 131 |                      mut value : &mut u32,
[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/lib.rs:1018:7
[INFO] [stderr]      |
[INFO] [stderr] 1018 |   for mut htree_iter in htrees.slice_mut()[s.htree_index as usize .. (group_num_htrees as usize)].iter_mut() {
[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/lib.rs:1152:13
[INFO] [stderr]      |
[INFO] [stderr] 1152 |         let mut context_map = &mut context_map_arg.slice_mut();
[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/lib.rs:1271:45
[INFO] [stderr]      |
[INFO] [stderr] 1271 | ...                   mut s : &mut BlockTypeAndLengthState<AllocHC>,
[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/lib.rs:1272:45
[INFO] [stderr]      |
[INFO] [stderr] 1272 | ...                   mut br : &mut bit_reader::BrotliBitReader,
[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/lib.rs:1332:45
[INFO] [stderr]      |
[INFO] [stderr] 1332 | ...                   mut s : &mut BrotliState<AllocU8,
[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/lib.rs:1377:45
[INFO] [stderr]      |
[INFO] [stderr] 1377 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1390:45
[INFO] [stderr]      |
[INFO] [stderr] 1390 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1398:45
[INFO] [stderr]      |
[INFO] [stderr] 1398 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1409:45
[INFO] [stderr]      |
[INFO] [stderr] 1409 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1424:45
[INFO] [stderr]      |
[INFO] [stderr] 1424 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1433:45
[INFO] [stderr]      |
[INFO] [stderr] 1433 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1440:33
[INFO] [stderr]      |
[INFO] [stderr] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1440:57
[INFO] [stderr]      |
[INFO] [stderr] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1441:20
[INFO] [stderr]      |
[INFO] [stderr] 1441 |                    mut total_out : &mut usize, s : &mut BrotliState<AllocU8, AllocU32, AllocHC>) -> BrotliResult {
[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/lib.rs:2198:3
[INFO] [stderr]      |
[INFO] [stderr] 2198 |   mut available_in : &mut usize, input_offset : &mut usize, xinput : &[u8], // ugly that we are mutable
[INFO] [stderr]      |   ----^^^^^^^^^^^^
[INFO] [stderr]      |   |
[INFO] [stderr]      |   help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1035:5
[INFO] [stderr]      |
[INFO] [stderr] 1035 | /     mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stderr] 1036 | |                  mem::replace(&mut hcodes,
[INFO] [stderr] 1037 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stderr]      | |___________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1035 |     let _ = mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1038:5
[INFO] [stderr]      |
[INFO] [stderr] 1038 | /     mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stderr] 1039 | |                  mem::replace(&mut htrees,
[INFO] [stderr] 1040 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1038 |     let _ = mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1042:5
[INFO] [stderr]      |
[INFO] [stderr] 1042 | /     mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stderr] 1043 | |                  mem::replace(&mut hcodes,
[INFO] [stderr] 1044 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stderr]      | |___________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1042 |     let _ = mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1045:5
[INFO] [stderr]      |
[INFO] [stderr] 1045 | /     mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stderr] 1046 | |                  mem::replace(&mut htrees,
[INFO] [stderr] 1047 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1045 |     let _ = mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1049:5
[INFO] [stderr]      |
[INFO] [stderr] 1049 | /     mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stderr] 1050 | |                  mem::replace(&mut hcodes,
[INFO] [stderr] 1051 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stderr]      | |___________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1049 |     let _ = mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1052:5
[INFO] [stderr]      |
[INFO] [stderr] 1052 | /     mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stderr] 1053 | |                  mem::replace(&mut htrees,
[INFO] [stderr] 1054 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1052 |     let _ = mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1139:9
[INFO] [stderr]      |
[INFO] [stderr] 1139 | /         mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stderr] 1140 | |                                                             AllocHC::AllocatedMemory::default()));
[INFO] [stderr]      | |_________________________________________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1139 |         let _ = mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1258:5
[INFO] [stderr]      |
[INFO] [stderr] 1258 | /     mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stderr] 1259 | |                                                        AllocU8::AllocatedMemory::default()));
[INFO] [stderr]      | |____________________________________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1258 |     let _ = mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1262:5
[INFO] [stderr]      |
[INFO] [stderr] 1262 | /     mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stderr] 1263 | |                                                   AllocU8::AllocatedMemory::default()));
[INFO] [stderr]      | |_______________________________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1262 |     let _ = mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2161:3
[INFO] [stderr]      |
[INFO] [stderr] 2161 | /   core::mem::replace(&mut s.literal_hgroup,
[INFO] [stderr] 2162 | |                 core::mem::replace(&mut saved_literal_hgroup,
[INFO] [stderr] 2163 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2161 |   let _ = core::mem::replace(&mut s.literal_hgroup,
[INFO] [stderr]      |   +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2165:3
[INFO] [stderr]      |
[INFO] [stderr] 2165 | /   core::mem::replace(&mut s.distance_hgroup,
[INFO] [stderr] 2166 | |                 core::mem::replace(&mut saved_distance_hgroup,
[INFO] [stderr] 2167 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2165 |   let _ = core::mem::replace(&mut s.distance_hgroup,
[INFO] [stderr]      |   +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2169:3
[INFO] [stderr]      |
[INFO] [stderr] 2169 | /   core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stderr] 2170 | |                 core::mem::replace(&mut saved_insert_copy_hgroup,
[INFO] [stderr] 2171 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2169 |   let _ = core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stderr]      |   +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2439:11
[INFO] [stderr]      |
[INFO] [stderr] 2439 | /           mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stderr] 2440 | |                        new_huffman_table);
[INFO] [stderr]      | |_________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2439 |           let _ = mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stderr]      |           +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2454:11
[INFO] [stderr]      |
[INFO] [stderr] 2454 | /           mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stderr] 2455 | |                        new_huffman_table);
[INFO] [stderr]      | |_________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2454 |           let _ = mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stderr]      |           +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]   --> src/huffman/mod.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 | /         core::mem::replace(&mut self.htrees,
[INFO] [stderr] 59 | |                            alloc_u32.alloc_cell(ntrees as usize));
[INFO] [stderr]    | |_________________________________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let _ = core::mem::replace(&mut self.htrees,
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]   --> src/huffman/mod.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 | /         core::mem::replace(&mut self.codes,
[INFO] [stderr] 61 | |                            alloc_hc.alloc_cell(ntrees as usize * BROTLI_HUFFMAN_MAX_TABLE_SIZE as usize));
[INFO] [stderr]    | |_________________________________________________________________________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let _ = core::mem::replace(&mut self.codes,
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `brotli-no-stdlib` (lib) generated 35 warnings (run `cargo fix --lib -p brotli-no-stdlib` to apply 17 suggestions)
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/brot.rs:128:15
[INFO] [stderr]     |
[INFO] [stderr] 128 |               try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stderr]     |               ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/brot.rs:146:11
[INFO] [stderr]     |
[INFO] [stderr] 146 |           try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/brot.rs:76:63
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub fn decompress<InputType, OutputType> (r : &mut InputType, mut w : &mut OutputType) -> Result<(), io::Error>
[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: `brotli-no-stdlib` (bin "brot" test) generated 3 warnings (run `cargo fix --bin "brot" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `brotli-no-stdlib` (lib test) generated 34 warnings (34 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/brotli_no_stdlib-85c6d965139ca153)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test bit_reader::tests::bit_read_tests ... ok
[INFO] [stdout] test bit_reader::tests::warmup_errcheck ... ok
[INFO] [stdout] test bit_reader::tests::const_fill_bit_window_tests ... ok
[INFO] [stdout] test bit_reader::tests::safe_read_tests ... ok
[INFO] [stdout] test bit_reader::tests::warmup_works ... ok
[INFO] [stdout] test huffman::tests::code_length_ht ... ok
[INFO] [stdout] test huffman::tests::code_length_single_value_ht ... ok
[INFO] [stdout] test huffman::tests::code_length_stringy_ht ... ok
[INFO] [stdout] test huffman::tests::complex ... ok
[INFO] [stdout] test huffman::tests::multilevel ... ok
[INFO] [stdout] test huffman::tests::simple_0 ... ok
[INFO] [stdout] test huffman::tests::simple_1 ... ok
[INFO] [stdout] test huffman::tests::simple_2 ... ok
[INFO] [stdout] test huffman::tests::simple_3 ... ok
[INFO] [stdout] test huffman::tests::simple_4 ... ok
[INFO] [stdout] test huffman::tests::singlelevel ... ok
[INFO] [stdout] test test::test_empty ... ok
[INFO] [stdout] test test::test_10x10y ... ok
[INFO] [stdout] test test::test_x ... ok
[INFO] [stdout] test test::test_quickfox_repeated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/brot.rs (/opt/rustwide/target/debug/deps/brot-d3d94f5058ef3ce2)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stderr] Time 0.000053390
[INFO] [stderr] 
[INFO] [stderr] Time 0.000251600
[INFO] [stderr] 
[INFO] [stderr] Time 0.000043940
[INFO] [stderr] 
[INFO] [stderr] Time 0.000040120
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_10x_10y_byte_by_byte ... ok
[INFO] [stdout] test integration_tests::test_64x ... ok
[INFO] [stdout] test integration_tests::test_10x_10y ... ok
[INFO] [stdout] test integration_tests::test_10x_10y_one_out_byte ... ok
[INFO] [stderr] Time 0.000835470
[INFO] [stderr] 
[INFO] [stderr] Time 0.000002150
[INFO] [stderr] 
[INFO] [stderr] Time 0.000002320
[INFO] [stderr] 
[INFO] [stderr] Time 0.000001670
[INFO] [stderr] 
[INFO] [stderr] Time 0.000002170
[INFO] [stderr] 
[INFO] [stderr] Time 0.000001900
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_backward65536 ... ok
[INFO] [stdout] test integration_tests::test_empty10 ... ok
[INFO] [stdout] test integration_tests::test_empty1 ... ok
[INFO] [stderr] Time 0.000002171
[INFO] [stdout] test integration_tests::test_empty11 ... ok
[INFO] [stderr] 
[INFO] [stderr] Time 0.000955659
[INFO] [stdout] test integration_tests::test_empty14 ... ok
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty ... ok
[INFO] [stdout] test integration_tests::test_empty12 ... ok
[INFO] [stdout] test integration_tests::test_compressed_file ... ok
[INFO] [stderr] Time 0.000002180
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty13 ... ok
[INFO] [stderr] Time 0.003803239
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_compressed_repeated ... ok
[INFO] [stderr] Time 0.000002190
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty0 ... ok
[INFO] [stderr] Time 0.007905129
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_as_you_like_it ... ok
[INFO] [stderr] Time 0.009730849
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_alice29 ... ok
[INFO] [stdout] test integration_tests::test_broken_file - should panic ... ok
[INFO] [stdout] test integration_tests::test_empty16 ... ok
[INFO] [stdout] test integration_tests::test_empty15 ... ok
[INFO] [stderr] Time 0.000006129
[INFO] [stderr] 
[INFO] [stderr] Time 0.000003140
[INFO] [stderr] 
[INFO] [stderr] Time 0.000002320
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty2 ... ok
[INFO] [stdout] test integration_tests::test_ends_with_truncated_dictionary ... ok
[INFO] [stderr] Time 0.000059200
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty6 ... ok
[INFO] [stderr] Time 0.000002950
[INFO] [stderr] 
[INFO] [stderr] Time 0.000002160
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty3 ... ok
[INFO] [stderr] Time 0.000002100
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty5 ... ok
[INFO] [stdout] test integration_tests::test_empty9 ... ok
[INFO] [stderr] Time 0.000001560
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty4 ... ok
[INFO] [stderr] Time 0.000002660
[INFO] [stderr] 
[INFO] [stderr] Time 0.036471014
[INFO] [stderr] 
[INFO] [stderr] Time 0.000002100
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty7 ... ok
[INFO] [stdout] test integration_tests::lcet10 ... ok
[INFO] [stderr] Time 0.000154300
[INFO] [stdout] test integration_tests::test_random_org_10k ... ok
[INFO] [stderr] 
[INFO] [stderr] Time 0.001273088
[INFO] [stderr] 
[INFO] [stderr] Time 0.000167720
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_monkey1 ... ok
[INFO] [stdout] test integration_tests::test_monkey ... ok
[INFO] [stderr] Time 0.000515310
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_monkey3 ... ok
[INFO] [stderr] Time 0.000215122
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_negative_hypothesis - should panic ... ok
[INFO] [stdout] test integration_tests::test_ukkonooa1 ... ok
[INFO] [stdout] test integration_tests::test_empty8 ... ok
[INFO] [stderr] Time 0.000012971
[INFO] [stderr] 
[INFO] [stderr] Time 0.000184253
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_ukkonooa3 ... ok
[INFO] [stderr] Time 0.000082640
[INFO] [stderr] 
[INFO] [stderr] Time 0.021065718
[INFO] [stderr] 
[INFO] [stderr] Time 0.000013740
[INFO] [stdout] test integration_tests::test_ukkonooa ... ok
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_mapsdatazrh ... ok
[INFO] [stdout] test integration_tests::test_x_2 ... ok
[INFO] [stderr] Time 0.000011330
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_x_1 ... ok
[INFO] [stderr] Time 0.000041660
[INFO] [stdout] test integration_tests::test_x_3 ... ok
[INFO] [stderr] 
[INFO] [stderr] Time 0.024531358
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty17 ... ok
[INFO] [stderr] Time 0.002715710
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_zeros ... ok
[INFO] [stderr] Time 0.000015091
[INFO] [stderr] 
[INFO] [stderr] Time 0.029212616
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_xyzzy ... ok
[INFO] [stdout] test integration_tests::test_empty18 ... ok
[INFO] [stderr] Time 0.000013080
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_x ... ok
[INFO] [stderr] Time 0.000012229
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_x_0 ... ok
[INFO] [stderr] Time 0.027081530
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_plrabn12 ... ok
[INFO] [stderr] Time 0.016491668
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_random_then_unicode ... ok
[INFO] [stderr] Time 0.047842245
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_metablock_reset ... ok
[INFO] [stderr] Time 0.186538947
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_alice1 ... ok
[INFO] [stderr] Time 0.169582456
[INFO] [stdout] test integration_tests::test_metablock_reset65536_1 ... ok
[INFO] [stderr] 
[INFO] [stderr] Time 0.392158715
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_metablock_reset3 ... ok
[INFO] [stderr] Time 0.896343161
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_metablock_reset1_65536 ... ok
[INFO] [stderr] Time 0.964655638
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_metablock_reset1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests brotli_no_stdlib
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8a57a1db0f193249c04ce23f81f1c24d7b56549b30b8be1a0f1f427145d97c2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a57a1db0f193249c04ce23f81f1c24d7b56549b30b8be1a0f1f427145d97c2a", kill_on_drop: false }`
[INFO] [stdout] 8a57a1db0f193249c04ce23f81f1c24d7b56549b30b8be1a0f1f427145d97c2a
[INFO] testing brotli-no-stdlib-1.0.4 against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] extracting crate brotli-no-stdlib 1.0.4 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate brotli-no-stdlib 1.0.4 on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate brotli-no-stdlib 1.0.4
[INFO] finished tweaking crates.io crate brotli-no-stdlib 1.0.4
[INFO] tweaked toml for crates.io crate brotli-no-stdlib 1.0.4 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 2 packages to latest compatible versions
[INFO] [stderr]       Adding alloc-no-stdlib v1.0.0 (latest: v2.0.4)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/integration_tests.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 068fa2826615c715999b15ecade133fa20b05715d7e8f09b0e591b9a0cc3d403
[INFO] running `Command { std: "docker" "start" "-a" "068fa2826615c715999b15ecade133fa20b05715d7e8f09b0e591b9a0cc3d403", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "068fa2826615c715999b15ecade133fa20b05715d7e8f09b0e591b9a0cc3d403", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "068fa2826615c715999b15ecade133fa20b05715d7e8f09b0e591b9a0cc3d403", kill_on_drop: false }`
[INFO] [stdout] 068fa2826615c715999b15ecade133fa20b05715d7e8f09b0e591b9a0cc3d403
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10a2e5e5f509f5a8461f116e5c4c03dbd79f133e50ad5fbc60404186ceac2c72
[INFO] running `Command { std: "docker" "start" "-a" "10a2e5e5f509f5a8461f116e5c4c03dbd79f133e50ad5fbc60404186ceac2c72", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/integration_tests.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]    Compiling alloc-no-stdlib v1.0.0
[INFO] [stderr]    Compiling brotli-no-stdlib v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `SafeReadBlockLength`
[INFO] [stdout]    --> src/lib.rs:921:14
[INFO] [stdout]     |
[INFO] [stdout] 921 | macro_rules! SafeReadBlockLength (
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transform.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let mut uppercase = &mut dst[(idx - len) as usize ..];
[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/lib.rs:131:22
[INFO] [stdout]     |
[INFO] [stdout] 131 |                      mut value : &mut u32,
[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/lib.rs:1018:7
[INFO] [stdout]      |
[INFO] [stdout] 1018 |   for mut htree_iter in htrees.slice_mut()[s.htree_index as usize .. (group_num_htrees as usize)].iter_mut() {
[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/lib.rs:1152:13
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         let mut context_map = &mut context_map_arg.slice_mut();
[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/lib.rs:1271:45
[INFO] [stdout]      |
[INFO] [stdout] 1271 | ...                   mut s : &mut BlockTypeAndLengthState<AllocHC>,
[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/lib.rs:1272:45
[INFO] [stdout]      |
[INFO] [stdout] 1272 | ...                   mut br : &mut bit_reader::BrotliBitReader,
[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/lib.rs:1332:45
[INFO] [stdout]      |
[INFO] [stdout] 1332 | ...                   mut s : &mut BrotliState<AllocU8,
[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/lib.rs:1377:45
[INFO] [stdout]      |
[INFO] [stdout] 1377 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1390:45
[INFO] [stdout]      |
[INFO] [stdout] 1390 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1398:45
[INFO] [stdout]      |
[INFO] [stdout] 1398 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1409:45
[INFO] [stdout]      |
[INFO] [stdout] 1409 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1424:45
[INFO] [stdout]      |
[INFO] [stdout] 1424 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1433:45
[INFO] [stdout]      |
[INFO] [stdout] 1433 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1440:33
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1440:57
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1441:20
[INFO] [stdout]      |
[INFO] [stdout] 1441 |                    mut total_out : &mut usize, s : &mut BrotliState<AllocU8, AllocU32, AllocHC>) -> BrotliResult {
[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/lib.rs:2198:3
[INFO] [stdout]      |
[INFO] [stdout] 2198 |   mut available_in : &mut usize, input_offset : &mut usize, xinput : &[u8], // ugly that we are mutable
[INFO] [stdout]      |   ----^^^^^^^^^^^^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1035:5
[INFO] [stdout]      |
[INFO] [stdout] 1035 | /     mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout] 1036 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1037 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1035 |     let _ = mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1038:5
[INFO] [stdout]      |
[INFO] [stdout] 1038 | /     mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout] 1039 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1040 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1038 |     let _ = mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1042:5
[INFO] [stdout]      |
[INFO] [stdout] 1042 | /     mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout] 1043 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1044 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1042 |     let _ = mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1045:5
[INFO] [stdout]      |
[INFO] [stdout] 1045 | /     mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout] 1046 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1047 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     let _ = mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1049:5
[INFO] [stdout]      |
[INFO] [stdout] 1049 | /     mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout] 1050 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1051 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1049 |     let _ = mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1052:5
[INFO] [stdout]      |
[INFO] [stdout] 1052 | /     mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout] 1053 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1054 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     let _ = mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1139:9
[INFO] [stdout]      |
[INFO] [stdout] 1139 | /         mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout] 1140 | |                                                             AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |_________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         let _ = mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1258:5
[INFO] [stdout]      |
[INFO] [stdout] 1258 | /     mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1259 | |                                                        AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1258 |     let _ = mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1262:5
[INFO] [stdout]      |
[INFO] [stdout] 1262 | /     mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1263 | |                                                   AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |_______________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1262 |     let _ = mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2161:3
[INFO] [stdout]      |
[INFO] [stdout] 2161 | /   core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout] 2162 | |                 core::mem::replace(&mut saved_literal_hgroup,
[INFO] [stdout] 2163 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2161 |   let _ = core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2165:3
[INFO] [stdout]      |
[INFO] [stdout] 2165 | /   core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout] 2166 | |                 core::mem::replace(&mut saved_distance_hgroup,
[INFO] [stdout] 2167 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2165 |   let _ = core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2169:3
[INFO] [stdout]      |
[INFO] [stdout] 2169 | /   core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout] 2170 | |                 core::mem::replace(&mut saved_insert_copy_hgroup,
[INFO] [stdout] 2171 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2169 |   let _ = core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2439:11
[INFO] [stdout]      |
[INFO] [stdout] 2439 | /           mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout] 2440 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2439 |           let _ = mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2454:11
[INFO] [stdout]      |
[INFO] [stdout] 2454 | /           mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout] 2455 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2454 |           let _ = mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         core::mem::replace(&mut self.htrees,
[INFO] [stdout] 59 | |                            alloc_u32.alloc_cell(ntrees as usize));
[INFO] [stdout]    | |_________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = core::mem::replace(&mut self.htrees,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | /         core::mem::replace(&mut self.codes,
[INFO] [stdout] 61 | |                            alloc_hc.alloc_cell(ntrees as usize * BROTLI_HUFFMAN_MAX_TABLE_SIZE as usize));
[INFO] [stdout]    | |_________________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let _ = core::mem::replace(&mut self.codes,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/brot.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 |               try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stdout]     |               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/brot.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 |           try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/brot.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn decompress<InputType, OutputType> (r : &mut InputType, mut w : &mut OutputType) -> Result<(), io::Error>
[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: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.84s
[INFO] running `Command { std: "docker" "inspect" "10a2e5e5f509f5a8461f116e5c4c03dbd79f133e50ad5fbc60404186ceac2c72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10a2e5e5f509f5a8461f116e5c4c03dbd79f133e50ad5fbc60404186ceac2c72", kill_on_drop: false }`
[INFO] [stdout] 10a2e5e5f509f5a8461f116e5c4c03dbd79f133e50ad5fbc60404186ceac2c72
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9441de4f8bc1f21b91171d710eaa7bb10a4d7bcfc2173ece6b269af411af5408
[INFO] running `Command { std: "docker" "start" "-a" "9441de4f8bc1f21b91171d710eaa7bb10a4d7bcfc2173ece6b269af411af5408", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/integration_tests.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `SafeReadBlockLength`
[INFO] [stdout]    --> src/lib.rs:921:14
[INFO] [stdout]     |
[INFO] [stdout] 921 | macro_rules! SafeReadBlockLength (
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transform.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let mut uppercase = &mut dst[(idx - len) as usize ..];
[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/lib.rs:131:22
[INFO] [stdout]     |
[INFO] [stdout] 131 |                      mut value : &mut u32,
[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/lib.rs:1018:7
[INFO] [stdout]      |
[INFO] [stdout] 1018 |   for mut htree_iter in htrees.slice_mut()[s.htree_index as usize .. (group_num_htrees as usize)].iter_mut() {
[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/lib.rs:1152:13
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         let mut context_map = &mut context_map_arg.slice_mut();
[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/lib.rs:1271:45
[INFO] [stdout]      |
[INFO] [stdout] 1271 | ...                   mut s : &mut BlockTypeAndLengthState<AllocHC>,
[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/lib.rs:1272:45
[INFO] [stdout]      |
[INFO] [stdout] 1272 | ...                   mut br : &mut bit_reader::BrotliBitReader,
[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/lib.rs:1332:45
[INFO] [stdout]      |
[INFO] [stdout] 1332 | ...                   mut s : &mut BrotliState<AllocU8,
[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/lib.rs:1377:45
[INFO] [stdout]      |
[INFO] [stdout] 1377 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1390:45
[INFO] [stdout]      |
[INFO] [stdout] 1390 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1398:45
[INFO] [stdout]      |
[INFO] [stdout] 1398 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1409:45
[INFO] [stdout]      |
[INFO] [stdout] 1409 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1424:45
[INFO] [stdout]      |
[INFO] [stdout] 1424 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1433:45
[INFO] [stdout]      |
[INFO] [stdout] 1433 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1440:33
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1440:57
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1441:20
[INFO] [stdout]      |
[INFO] [stdout] 1441 |                    mut total_out : &mut usize, s : &mut BrotliState<AllocU8, AllocU32, AllocHC>) -> BrotliResult {
[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/lib.rs:2198:3
[INFO] [stdout]      |
[INFO] [stdout] 2198 |   mut available_in : &mut usize, input_offset : &mut usize, xinput : &[u8], // ugly that we are mutable
[INFO] [stdout]      |   ----^^^^^^^^^^^^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1035:5
[INFO] [stdout]      |
[INFO] [stdout] 1035 | /     mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout] 1036 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1037 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1035 |     let _ = mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1038:5
[INFO] [stdout]      |
[INFO] [stdout] 1038 | /     mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout] 1039 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1040 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1038 |     let _ = mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1042:5
[INFO] [stdout]      |
[INFO] [stdout] 1042 | /     mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout] 1043 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1044 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1042 |     let _ = mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1045:5
[INFO] [stdout]      |
[INFO] [stdout] 1045 | /     mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout] 1046 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1047 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     let _ = mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1049:5
[INFO] [stdout]      |
[INFO] [stdout] 1049 | /     mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout] 1050 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1051 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1049 |     let _ = mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1052:5
[INFO] [stdout]      |
[INFO] [stdout] 1052 | /     mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout] 1053 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1054 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     let _ = mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1139:9
[INFO] [stdout]      |
[INFO] [stdout] 1139 | /         mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout] 1140 | |                                                             AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |_________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         let _ = mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1258:5
[INFO] [stdout]      |
[INFO] [stdout] 1258 | /     mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1259 | |                                                        AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1258 |     let _ = mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1262:5
[INFO] [stdout]      |
[INFO] [stdout] 1262 | /     mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1263 | |                                                   AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |_______________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1262 |     let _ = mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2161:3
[INFO] [stdout]      |
[INFO] [stdout] 2161 | /   core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout] 2162 | |                 core::mem::replace(&mut saved_literal_hgroup,
[INFO] [stdout] 2163 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2161 |   let _ = core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2165:3
[INFO] [stdout]      |
[INFO] [stdout] 2165 | /   core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout] 2166 | |                 core::mem::replace(&mut saved_distance_hgroup,
[INFO] [stdout] 2167 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2165 |   let _ = core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2169:3
[INFO] [stdout]      |
[INFO] [stdout] 2169 | /   core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout] 2170 | |                 core::mem::replace(&mut saved_insert_copy_hgroup,
[INFO] [stdout] 2171 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2169 |   let _ = core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2439:11
[INFO] [stdout]      |
[INFO] [stdout] 2439 | /           mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout] 2440 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2439 |           let _ = mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2454:11
[INFO] [stdout]      |
[INFO] [stdout] 2454 | /           mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout] 2455 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2454 |           let _ = mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         core::mem::replace(&mut self.htrees,
[INFO] [stdout] 59 | |                            alloc_u32.alloc_cell(ntrees as usize));
[INFO] [stdout]    | |_________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = core::mem::replace(&mut self.htrees,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | /         core::mem::replace(&mut self.codes,
[INFO] [stdout] 61 | |                            alloc_hc.alloc_cell(ntrees as usize * BROTLI_HUFFMAN_MAX_TABLE_SIZE as usize));
[INFO] [stdout]    | |_________________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let _ = core::mem::replace(&mut self.codes,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling brotli-no-stdlib v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/brot.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 |               try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stdout]     |               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/brot.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 |           try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `SafeReadBlockLength`
[INFO] [stdout]    --> src/lib.rs:921:14
[INFO] [stdout]     |
[INFO] [stdout] 921 | macro_rules! SafeReadBlockLength (
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/brot.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn decompress<InputType, OutputType> (r : &mut InputType, mut w : &mut OutputType) -> Result<(), io::Error>
[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/transform.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let mut uppercase = &mut dst[(idx - len) as usize ..];
[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: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:131:22
[INFO] [stdout]     |
[INFO] [stdout] 131 |                      mut value : &mut u32,
[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/lib.rs:1018:7
[INFO] [stdout]      |
[INFO] [stdout] 1018 |   for mut htree_iter in htrees.slice_mut()[s.htree_index as usize .. (group_num_htrees as usize)].iter_mut() {
[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/lib.rs:1152:13
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         let mut context_map = &mut context_map_arg.slice_mut();
[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/lib.rs:1271:45
[INFO] [stdout]      |
[INFO] [stdout] 1271 | ...                   mut s : &mut BlockTypeAndLengthState<AllocHC>,
[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/lib.rs:1272:45
[INFO] [stdout]      |
[INFO] [stdout] 1272 | ...                   mut br : &mut bit_reader::BrotliBitReader,
[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/lib.rs:1332:45
[INFO] [stdout]      |
[INFO] [stdout] 1332 | ...                   mut s : &mut BrotliState<AllocU8,
[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/lib.rs:1377:45
[INFO] [stdout]      |
[INFO] [stdout] 1377 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1390:45
[INFO] [stdout]      |
[INFO] [stdout] 1390 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1398:45
[INFO] [stdout]      |
[INFO] [stdout] 1398 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1409:45
[INFO] [stdout]      |
[INFO] [stdout] 1409 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1424:45
[INFO] [stdout]      |
[INFO] [stdout] 1424 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1433:45
[INFO] [stdout]      |
[INFO] [stdout] 1433 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1440:33
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1440:57
[INFO] [stdout]      |
[INFO] [stdout] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1441:20
[INFO] [stdout]      |
[INFO] [stdout] 1441 |                    mut total_out : &mut usize, s : &mut BrotliState<AllocU8, AllocU32, AllocHC>) -> BrotliResult {
[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/lib.rs:2198:3
[INFO] [stdout]      |
[INFO] [stdout] 2198 |   mut available_in : &mut usize, input_offset : &mut usize, xinput : &[u8], // ugly that we are mutable
[INFO] [stdout]      |   ----^^^^^^^^^^^^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1035:5
[INFO] [stdout]      |
[INFO] [stdout] 1035 | /     mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout] 1036 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1037 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1035 |     let _ = mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1038:5
[INFO] [stdout]      |
[INFO] [stdout] 1038 | /     mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout] 1039 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1040 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1038 |     let _ = mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1042:5
[INFO] [stdout]      |
[INFO] [stdout] 1042 | /     mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout] 1043 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1044 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1042 |     let _ = mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1045:5
[INFO] [stdout]      |
[INFO] [stdout] 1045 | /     mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout] 1046 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1047 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     let _ = mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1049:5
[INFO] [stdout]      |
[INFO] [stdout] 1049 | /     mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout] 1050 | |                  mem::replace(&mut hcodes,
[INFO] [stdout] 1051 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |___________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1049 |     let _ = mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1052:5
[INFO] [stdout]      |
[INFO] [stdout] 1052 | /     mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout] 1053 | |                  mem::replace(&mut htrees,
[INFO] [stdout] 1054 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     let _ = mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1139:9
[INFO] [stdout]      |
[INFO] [stdout] 1139 | /         mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout] 1140 | |                                                             AllocHC::AllocatedMemory::default()));
[INFO] [stdout]      | |_________________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         let _ = mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1258:5
[INFO] [stdout]      |
[INFO] [stdout] 1258 | /     mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1259 | |                                                        AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |____________________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1258 |     let _ = mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:1262:5
[INFO] [stdout]      |
[INFO] [stdout] 1262 | /     mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout] 1263 | |                                                   AllocU8::AllocatedMemory::default()));
[INFO] [stdout]      | |_______________________________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1262 |     let _ = mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2161:3
[INFO] [stdout]      |
[INFO] [stdout] 2161 | /   core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout] 2162 | |                 core::mem::replace(&mut saved_literal_hgroup,
[INFO] [stdout] 2163 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2161 |   let _ = core::mem::replace(&mut s.literal_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2165:3
[INFO] [stdout]      |
[INFO] [stdout] 2165 | /   core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout] 2166 | |                 core::mem::replace(&mut saved_distance_hgroup,
[INFO] [stdout] 2167 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2165 |   let _ = core::mem::replace(&mut s.distance_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2169:3
[INFO] [stdout]      |
[INFO] [stdout] 2169 | /   core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout] 2170 | |                 core::mem::replace(&mut saved_insert_copy_hgroup,
[INFO] [stdout] 2171 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stdout]      | |____________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2169 |   let _ = core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stdout]      |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2439:11
[INFO] [stdout]      |
[INFO] [stdout] 2439 | /           mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout] 2440 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2439 |           let _ = mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]     --> src/lib.rs:2454:11
[INFO] [stdout]      |
[INFO] [stdout] 2454 | /           mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout] 2455 | |                        new_huffman_table);
[INFO] [stdout]      | |_________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2454 |           let _ = mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stdout]      |           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         core::mem::replace(&mut self.htrees,
[INFO] [stdout] 59 | |                            alloc_u32.alloc_cell(ntrees as usize));
[INFO] [stdout]    | |_________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = core::mem::replace(&mut self.htrees,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]   --> src/huffman/mod.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | /         core::mem::replace(&mut self.codes,
[INFO] [stdout] 61 | |                            alloc_hc.alloc_cell(ntrees as usize * BROTLI_HUFFMAN_MAX_TABLE_SIZE as usize));
[INFO] [stdout]    | |_________________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let _ = core::mem::replace(&mut self.codes,
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 34 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.94s
[INFO] running `Command { std: "docker" "inspect" "9441de4f8bc1f21b91171d710eaa7bb10a4d7bcfc2173ece6b269af411af5408", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9441de4f8bc1f21b91171d710eaa7bb10a4d7bcfc2173ece6b269af411af5408", kill_on_drop: false }`
[INFO] [stdout] 9441de4f8bc1f21b91171d710eaa7bb10a4d7bcfc2173ece6b269af411af5408
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a06b97995af1b93d0069374df3c8b2e2d84c1f1f8bbbfddfdce292ec5ad7f01b
[INFO] running `Command { std: "docker" "start" "-a" "a06b97995af1b93d0069374df3c8b2e2d84c1f1f8bbbfddfdce292ec5ad7f01b", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/integration_tests.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `SafeReadBlockLength`
[INFO] [stderr]    --> src/lib.rs:921:14
[INFO] [stderr]     |
[INFO] [stderr] 921 | macro_rules! SafeReadBlockLength (
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transform.rs:284:9
[INFO] [stderr]     |
[INFO] [stderr] 284 |     let mut uppercase = &mut dst[(idx - len) as usize ..];
[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/lib.rs:131:22
[INFO] [stderr]     |
[INFO] [stderr] 131 |                      mut value : &mut u32,
[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/lib.rs:1018:7
[INFO] [stderr]      |
[INFO] [stderr] 1018 |   for mut htree_iter in htrees.slice_mut()[s.htree_index as usize .. (group_num_htrees as usize)].iter_mut() {
[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/lib.rs:1152:13
[INFO] [stderr]      |
[INFO] [stderr] 1152 |         let mut context_map = &mut context_map_arg.slice_mut();
[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/lib.rs:1271:45
[INFO] [stderr]      |
[INFO] [stderr] 1271 | ...                   mut s : &mut BlockTypeAndLengthState<AllocHC>,
[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/lib.rs:1272:45
[INFO] [stderr]      |
[INFO] [stderr] 1272 | ...                   mut br : &mut bit_reader::BrotliBitReader,
[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/lib.rs:1332:45
[INFO] [stderr]      |
[INFO] [stderr] 1332 | ...                   mut s : &mut BrotliState<AllocU8,
[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/lib.rs:1377:45
[INFO] [stderr]      |
[INFO] [stderr] 1377 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1390:45
[INFO] [stderr]      |
[INFO] [stderr] 1390 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1398:45
[INFO] [stderr]      |
[INFO] [stderr] 1398 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1409:45
[INFO] [stderr]      |
[INFO] [stderr] 1409 | ...                   mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1424:45
[INFO] [stderr]      |
[INFO] [stderr] 1424 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) {
[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/lib.rs:1433:45
[INFO] [stderr]      |
[INFO] [stderr] 1433 |   AllocHC : alloc::Allocator<HuffmanCode>> (mut s : &mut BrotliState<AllocU8, AllocU32, AllocHC>, input : &[u8]) -> bool {
[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/lib.rs:1440:33
[INFO] [stderr]      |
[INFO] [stderr] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1440:57
[INFO] [stderr]      |
[INFO] [stderr] 1440 |    (available_out : &mut usize, mut output : &mut [u8], mut output_offset : &mut usize,
[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/lib.rs:1441:20
[INFO] [stderr]      |
[INFO] [stderr] 1441 |                    mut total_out : &mut usize, s : &mut BrotliState<AllocU8, AllocU32, AllocHC>) -> BrotliResult {
[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/lib.rs:2198:3
[INFO] [stderr]      |
[INFO] [stderr] 2198 |   mut available_in : &mut usize, input_offset : &mut usize, xinput : &[u8], // ugly that we are mutable
[INFO] [stderr]      |   ----^^^^^^^^^^^^
[INFO] [stderr]      |   |
[INFO] [stderr]      |   help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1035:5
[INFO] [stderr]      |
[INFO] [stderr] 1035 | /     mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stderr] 1036 | |                  mem::replace(&mut hcodes,
[INFO] [stderr] 1037 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stderr]      | |___________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1035 |     let _ = mem::replace(&mut s.literal_hgroup.codes,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1038:5
[INFO] [stderr]      |
[INFO] [stderr] 1038 | /     mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stderr] 1039 | |                  mem::replace(&mut htrees,
[INFO] [stderr] 1040 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1038 |     let _ = mem::replace(&mut s.literal_hgroup.htrees,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1042:5
[INFO] [stderr]      |
[INFO] [stderr] 1042 | /     mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stderr] 1043 | |                  mem::replace(&mut hcodes,
[INFO] [stderr] 1044 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stderr]      | |___________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1042 |     let _ = mem::replace(&mut s.insert_copy_hgroup.codes,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1045:5
[INFO] [stderr]      |
[INFO] [stderr] 1045 | /     mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stderr] 1046 | |                  mem::replace(&mut htrees,
[INFO] [stderr] 1047 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1045 |     let _ = mem::replace(&mut s.insert_copy_hgroup.htrees,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1049:5
[INFO] [stderr]      |
[INFO] [stderr] 1049 | /     mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stderr] 1050 | |                  mem::replace(&mut hcodes,
[INFO] [stderr] 1051 | |                               AllocHC::AllocatedMemory::default()));
[INFO] [stderr]      | |___________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1049 |     let _ = mem::replace(&mut s.distance_hgroup.codes,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1052:5
[INFO] [stderr]      |
[INFO] [stderr] 1052 | /     mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stderr] 1053 | |                  mem::replace(&mut htrees,
[INFO] [stderr] 1054 | |                               AllocU32::AllocatedMemory::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1052 |     let _ = mem::replace(&mut s.distance_hgroup.htrees,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1139:9
[INFO] [stderr]      |
[INFO] [stderr] 1139 | /         mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stderr] 1140 | |                                                             AllocHC::AllocatedMemory::default()));
[INFO] [stderr]      | |_________________________________________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1139 |         let _ = mem::replace(&mut s.context_map_table, mem::replace(&mut local_context_map_table,
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1258:5
[INFO] [stderr]      |
[INFO] [stderr] 1258 | /     mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stderr] 1259 | |                                                        AllocU8::AllocatedMemory::default()));
[INFO] [stderr]      | |____________________________________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1258 |     let _ = mem::replace(&mut s.dist_context_map, mem::replace(&mut context_map_arg,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:1262:5
[INFO] [stderr]      |
[INFO] [stderr] 1262 | /     mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stderr] 1263 | |                                                   AllocU8::AllocatedMemory::default()));
[INFO] [stderr]      | |_______________________________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1262 |     let _ = mem::replace(&mut s.context_map, mem::replace(&mut context_map_arg,
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2161:3
[INFO] [stderr]      |
[INFO] [stderr] 2161 | /   core::mem::replace(&mut s.literal_hgroup,
[INFO] [stderr] 2162 | |                 core::mem::replace(&mut saved_literal_hgroup,
[INFO] [stderr] 2163 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2161 |   let _ = core::mem::replace(&mut s.literal_hgroup,
[INFO] [stderr]      |   +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2165:3
[INFO] [stderr]      |
[INFO] [stderr] 2165 | /   core::mem::replace(&mut s.distance_hgroup,
[INFO] [stderr] 2166 | |                 core::mem::replace(&mut saved_distance_hgroup,
[INFO] [stderr] 2167 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2165 |   let _ = core::mem::replace(&mut s.distance_hgroup,
[INFO] [stderr]      |   +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2169:3
[INFO] [stderr]      |
[INFO] [stderr] 2169 | /   core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stderr] 2170 | |                 core::mem::replace(&mut saved_insert_copy_hgroup,
[INFO] [stderr] 2171 | |                   HuffmanTreeGroup::<AllocU32, AllocHC>::default()));
[INFO] [stderr]      | |____________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2169 |   let _ = core::mem::replace(&mut s.insert_copy_hgroup,
[INFO] [stderr]      |   +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2439:11
[INFO] [stderr]      |
[INFO] [stderr] 2439 | /           mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stderr] 2440 | |                        new_huffman_table);
[INFO] [stderr]      | |_________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2439 |           let _ = mem::replace(&mut s.block_type_length_state.block_type_trees,
[INFO] [stderr]      |           +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]     --> src/lib.rs:2454:11
[INFO] [stderr]      |
[INFO] [stderr] 2454 | /           mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stderr] 2455 | |                        new_huffman_table);
[INFO] [stderr]      | |_________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2454 |           let _ = mem::replace(&mut s.block_type_length_state.block_len_trees,
[INFO] [stderr]      |           +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]   --> src/huffman/mod.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 | /         core::mem::replace(&mut self.htrees,
[INFO] [stderr] 59 | |                            alloc_u32.alloc_cell(ntrees as usize));
[INFO] [stderr]    | |_________________________________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let _ = core::mem::replace(&mut self.htrees,
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stderr]   --> src/huffman/mod.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 | /         core::mem::replace(&mut self.codes,
[INFO] [stderr] 61 | |                            alloc_hc.alloc_cell(ntrees as usize * BROTLI_HUFFMAN_MAX_TABLE_SIZE as usize));
[INFO] [stderr]    | |_________________________________________________________________________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let _ = core::mem::replace(&mut self.codes,
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `brotli-no-stdlib` (lib) generated 35 warnings (run `cargo fix --lib -p brotli-no-stdlib` to apply 17 suggestions)
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/brot.rs:128:15
[INFO] [stderr]     |
[INFO] [stderr] 128 |               try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stderr]     |               ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/brot.rs:146:11
[INFO] [stderr]     |
[INFO] [stderr] 146 |           try!(_write_all(&mut w, &output.slice()[..output_offset]));
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/brot.rs:76:63
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub fn decompress<InputType, OutputType> (r : &mut InputType, mut w : &mut OutputType) -> Result<(), io::Error>
[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: `brotli-no-stdlib` (bin "brot" test) generated 3 warnings (run `cargo fix --bin "brot" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `brotli-no-stdlib` (lib test) generated 34 warnings (34 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/brotli_no_stdlib-85c6d965139ca153)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test bit_reader::tests::bit_read_tests ... ok
[INFO] [stdout] test bit_reader::tests::const_fill_bit_window_tests ... ok
[INFO] [stdout] test bit_reader::tests::warmup_errcheck ... ok
[INFO] [stdout] test huffman::tests::code_length_ht ... ok
[INFO] [stdout] test bit_reader::tests::safe_read_tests ... ok
[INFO] [stdout] test huffman::tests::code_length_single_value_ht ... ok
[INFO] [stdout] test bit_reader::tests::warmup_works ... ok
[INFO] [stdout] test huffman::tests::code_length_stringy_ht ... ok
[INFO] [stdout] test huffman::tests::complex ... ok
[INFO] [stdout] test huffman::tests::multilevel ... ok
[INFO] [stdout] test huffman::tests::simple_0 ... ok
[INFO] [stdout] test huffman::tests::simple_1 ... ok
[INFO] [stdout] test huffman::tests::simple_2 ... ok
[INFO] [stdout] test huffman::tests::simple_3 ... ok
[INFO] [stdout] test huffman::tests::simple_4 ... ok
[INFO] [stdout] test huffman::tests::singlelevel ... ok
[INFO] [stdout] test test::test_x ... ok
[INFO] [stdout] test test::test_10x10y ... ok
[INFO] [stdout] test test::test_empty ... ok
[INFO] [stdout] test test::test_quickfox_repeated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/brot.rs (/opt/rustwide/target/debug/deps/brot-d3d94f5058ef3ce2)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stderr] Time 0.000059060
[INFO] [stderr] 
[INFO] [stderr] Time 0.000050880
[INFO] [stderr] 
[INFO] [stderr] Time 0.000077600
[INFO] [stderr] 
[INFO] [stderr] Time 0.000055830
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_10x_10y_one_out_byte ... ok
[INFO] [stdout] test integration_tests::test_10x_10y ... ok
[INFO] [stdout] test integration_tests::test_64x ... ok
[INFO] [stdout] test integration_tests::test_10x_10y_byte_by_byte ... ok
[INFO] [stderr] Time 0.000003070
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty10 ... ok
[INFO] [stderr] Time 0.000002730
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty ... ok
[INFO] [stderr] Time 0.000005280
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty0 ... ok
[INFO] [stderr] Time 0.000004620
[INFO] [stderr] 
[INFO] [stderr] Time 0.000011220
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty11 ... ok
[INFO] [stdout] test integration_tests::test_empty1 ... ok
[INFO] [stderr] Time 0.001589930
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_compressed_file ... ok
[INFO] [stderr] Time 0.010814199
[INFO] [stderr] 
[INFO] [stderr] Time 0.000003150
[INFO] [stderr] 
[INFO] [stderr] Time 0.009541029
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty15 ... ok
[INFO] [stdout] test integration_tests::test_as_you_like_it ... ok
[INFO] [stderr] Time 0.000002120
[INFO] [stderr] 
[INFO] [stderr] Time 0.000005060
[INFO] [stderr] 
[INFO] [stderr] Time 0.000954970
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_alice29 ... ok
[INFO] [stderr] Time 0.000010969
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty13 ... ok
[INFO] [stderr] Time 0.002553090
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty16 ... ok
[INFO] [stdout] test integration_tests::test_backward65536 ... ok
[INFO] [stdout] test integration_tests::test_empty14 ... ok
[INFO] [stdout] test integration_tests::test_compressed_repeated ... ok
[INFO] [stderr] Time 0.000002470
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty3 ... ok
[INFO] [stderr] Time 0.000002140
[INFO] [stderr] 
[INFO] [stderr] Time 0.030203707
[INFO] [stderr] 
[INFO] [stderr] Time 0.000002100
[INFO] [stderr] 
[INFO] [stderr] Time 0.000003150
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty6 ... ok
[INFO] [stdout] test integration_tests::lcet10 ... ok
[INFO] [stdout] test integration_tests::test_empty5 ... ok
[INFO] [stderr] Time 0.000002280
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty12 ... ok
[INFO] [stdout] test integration_tests::test_empty2 ... ok
[INFO] [stdout] test integration_tests::test_broken_file - should panic ... ok
[INFO] [stderr] Time 0.000002490
[INFO] [stderr] 
[INFO] [stderr] Time 0.000001309
[INFO] [stderr] 
[INFO] [stderr] Time 0.000001980
[INFO] [stderr] 
[INFO] [stderr] Time 0.000155080
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty9 ... ok
[INFO] [stdout] test integration_tests::test_empty4 ... ok
[INFO] [stdout] test integration_tests::test_empty8 ... ok
[INFO] [stdout] test integration_tests::test_monkey ... ok
[INFO] [stderr] Time 0.000041610
[INFO] [stderr] 
[INFO] [stderr] Time 0.017625938
[INFO] [stderr] 
[INFO] [stderr] Time 0.000001580
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_ends_with_truncated_dictionary ... ok
[INFO] [stderr] Time 0.000165170
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty7 ... ok
[INFO] [stdout] test integration_tests::test_negative_hypothesis - should panic ... ok
[INFO] [stdout] test integration_tests::test_random_org_10k ... ok
[INFO] [stdout] test integration_tests::test_mapsdatazrh ... ok
[INFO] [stderr] Time 0.036839827
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty18 ... ok
[INFO] [stderr] Time 0.000502180
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_monkey3 ... ok
[INFO] [stderr] Time 0.002765160
[INFO] [stderr] 
[INFO] [stderr] Time 0.000111480
[INFO] [stderr] 
[INFO] [stderr] Time 0.030036847
[INFO] [stderr] 
[INFO] [stderr] Time 0.000229170
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_monkey1 ... ok
[INFO] [stderr] Time 0.000011010
[INFO] [stderr] 
[INFO] [stderr] Time 0.000082750
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_empty17 ... ok
[INFO] [stderr] Time 0.025669517
[INFO] [stderr] 
[INFO] [stderr] Time 0.000013990
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_ukkonooa3 ... ok
[INFO] [stderr] Time 0.000012210
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_ukkonooa1 ... ok
[INFO] [stdout] test integration_tests::test_x_0 ... ok
[INFO] [stdout] test integration_tests::test_ukkonooa ... ok
[INFO] [stdout] test integration_tests::test_random_then_unicode ... ok
[INFO] [stdout] test integration_tests::test_x ... ok
[INFO] [stdout] test integration_tests::test_x_1 ... ok
[INFO] [stderr] Time 0.000051350
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_x_3 ... ok
[INFO] [stderr] Time 0.000013160
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_x_2 ... ok
[INFO] [stderr] Time 0.000028610
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_xyzzy ... ok
[INFO] [stderr] Time 0.003903350
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_zeros ... ok
[INFO] [stderr] Time 0.035356256
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_plrabn12 ... ok
[INFO] [stderr] Time 0.067473043
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_metablock_reset ... ok
[INFO] [stderr] Time 0.177837946
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_alice1 ... ok
[INFO] [stderr] Time 0.219387354
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_metablock_reset65536_1 ... ok
[INFO] [stderr] Time 0.362517618
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_metablock_reset3 ... ok
[INFO] [stderr] Time 0.970626171
[INFO] [stdout] test integration_tests::test_metablock_reset1_65536 ... ok
[INFO] [stderr] 
[INFO] [stderr] Time 0.940171168
[INFO] [stderr] 
[INFO] [stdout] test integration_tests::test_metablock_reset1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.15s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests brotli_no_stdlib
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a06b97995af1b93d0069374df3c8b2e2d84c1f1f8bbbfddfdce292ec5ad7f01b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a06b97995af1b93d0069374df3c8b2e2d84c1f1f8bbbfddfdce292ec5ad7f01b", kill_on_drop: false }`
[INFO] [stdout] a06b97995af1b93d0069374df3c8b2e2d84c1f1f8bbbfddfdce292ec5ad7f01b
