[INFO] fetching crate redux 0.2.0...
[INFO] testing redux-0.2.0 against beta-2021-08-01 for beta-1.55-1
[INFO] extracting crate redux 0.2.0 into /workspace/builds/worker-19/source
[INFO] validating manifest of crates.io crate redux 0.2.0 on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate redux 0.2.0
[INFO] finished tweaking crates.io crate redux 0.2.0
[INFO] tweaked toml for crates.io crate redux 0.2.0 written to /workspace/builds/worker-19/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] db124ad0b8f16c9c16564f611e7d10f5f3cc5ee28dd3576b1241c8f90261c453
[INFO] running `Command { std: "docker" "start" "-a" "db124ad0b8f16c9c16564f611e7d10f5f3cc5ee28dd3576b1241c8f90261c453", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db124ad0b8f16c9c16564f611e7d10f5f3cc5ee28dd3576b1241c8f90261c453", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db124ad0b8f16c9c16564f611e7d10f5f3cc5ee28dd3576b1241c8f90261c453", kill_on_drop: false }`
[INFO] [stdout] db124ad0b8f16c9c16564f611e7d10f5f3cc5ee28dd3576b1241c8f90261c453
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eaf4ead1982945544d6a9e435621d324c607d28b8445eb5affbbf0113839d816
[INFO] running `Command { std: "docker" "start" "-a" "eaf4ead1982945544d6a9e435621d324c607d28b8445eb5affbbf0113839d816", kill_on_drop: false }`
[INFO] [stderr]    Compiling redux v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bitio/mod.rs:58:20
[INFO] [stdout]    |
[INFO] [stdout] 58 |     input: &'a mut Read,
[INFO] [stdout]    |                    ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bitio/mod.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn new(reader: &'a mut Read) -> BitReader<'a> {
[INFO] [stdout]    |                                ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bitio/mod.rs:128:21
[INFO] [stdout]     |
[INFO] [stdout] 128 |     output: &'a mut Write,
[INFO] [stdout]     |                     ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bitio/mod.rs:133:32
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn new(writer: &'a mut Write) -> BitWriter<'a> {
[INFO] [stdout]     |                                ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bitio/mod.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 try!(self.flush_bits())
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     model: Box<Model>,
[INFO] [stdout]    |                ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new(m: Box<Model>) -> Codec {
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         try!(output.write_bits(if bit { 1 } else { 0 }, 1));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:39:51
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn put_bit(&mut self, bit: bool, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]    |                                                   ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             try!(output.write_bits(if bit { 0 } else { 1 }, 1));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_bit(&mut self, input: &mut BitRead) -> Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self.pending = (self.pending << 1) | try!(input.read_bits(1)) as u64;
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:55:67
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn compress_symbol(&mut self, symbol: usize, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]    |                                                                   ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:57:27
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let (low, high) = try!(self.model.get_frequency(symbol));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |                try!(self.put_bit(false, output));
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |                try!(self.put_bit(true, output));
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/codec.rs:77:28
[INFO] [stdout]    |
[INFO] [stdout] 77 |                self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/codec.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             try!(output.flush_bits());
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 try!(self.put_bit(mask != 0, output));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:104:51
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn compress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                   ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:104:73
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn compress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                                         ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             try!(self.compress_symbol(symbol, output));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around method argument
[INFO] [stdout]    --> src/codec.rs:106:48
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let symbol = match input.read_bits({ self.model.parameters().symbol_bits }) {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:123:53
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn decompress_symbol(&mut self, input: &mut BitRead) -> Result<usize> {
[INFO] [stdout]     |                                                     ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             try!(self.get_bit(input));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:132:35
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let (symbol, low, high) = try!(self.model.get_symbol(value));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             try!(self.get_bit(input));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:144:33
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 self.pending -= { self.model.parameters().code_half };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:145:29
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 self.low -= { self.model.parameters().code_half };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 self.high -= { self.model.parameters().code_half };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:148:33
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 self.pending -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:149:29
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:164:53
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn decompress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                     ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:164:75
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn decompress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                                           ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let symbol = try!(self.decompress_symbol(input));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around method argument
[INFO] [stdout]    --> src/codec.rs:171:48
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/adaptive_linear.rs:21:38
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(p: Parameters) -> Box<Model> {
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/adaptive_tree.rs:36:38
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(p: Parameters) -> Box<Model> {
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     try!(codec.compress_stream(&mut input, &mut output));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:31
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                               ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:55
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                       ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:77
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn model::Model`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     try!(codec.decompress_stream(&mut input, &mut output));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                 ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:57
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:79
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn model::Model`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut input: Box<io::Read> = if options.is_stdin() {
[INFO] [stdout]    |                        ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut output: Box<io::Write> = if options.is_stdout() {
[INFO] [stdout]    |                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.59s
[INFO] running `Command { std: "docker" "inspect" "eaf4ead1982945544d6a9e435621d324c607d28b8445eb5affbbf0113839d816", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eaf4ead1982945544d6a9e435621d324c607d28b8445eb5affbbf0113839d816", kill_on_drop: false }`
[INFO] [stdout] eaf4ead1982945544d6a9e435621d324c607d28b8445eb5affbbf0113839d816
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1a4078eb8fc5c9cfd2905782952b1cb5d144dc927366db01feabd33c8a831f8d
[INFO] running `Command { std: "docker" "start" "-a" "1a4078eb8fc5c9cfd2905782952b1cb5d144dc927366db01feabd33c8a831f8d", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bitio/mod.rs:58:20
[INFO] [stdout]    |
[INFO] [stdout] 58 |     input: &'a mut Read,
[INFO] [stdout]    |                    ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bitio/mod.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn new(reader: &'a mut Read) -> BitReader<'a> {
[INFO] [stdout]    |                                ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bitio/mod.rs:128:21
[INFO] [stdout]     |
[INFO] [stdout] 128 |     output: &'a mut Write,
[INFO] [stdout]     |                     ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bitio/mod.rs:133:32
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn new(writer: &'a mut Write) -> BitWriter<'a> {
[INFO] [stdout]     |                                ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bitio/mod.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 try!(self.flush_bits())
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     model: Box<Model>,
[INFO] [stdout]    |                ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new(m: Box<Model>) -> Codec {
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         try!(output.write_bits(if bit { 1 } else { 0 }, 1));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:39:51
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn put_bit(&mut self, bit: bool, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]    |                                                   ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             try!(output.write_bits(if bit { 0 } else { 1 }, 1));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_bit(&mut self, input: &mut BitRead) -> Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self.pending = (self.pending << 1) | try!(input.read_bits(1)) as u64;
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:55:67
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn compress_symbol(&mut self, symbol: usize, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]    |                                                                   ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:57:27
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let (low, high) = try!(self.model.get_frequency(symbol));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |                try!(self.put_bit(false, output));
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |                try!(self.put_bit(true, output));
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/codec.rs:77:28
[INFO] [stdout]    |
[INFO] [stdout] 77 |                self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/codec.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             try!(output.flush_bits());
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 try!(self.put_bit(mask != 0, output));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:104:51
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn compress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                   ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:104:73
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn compress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                                         ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             try!(self.compress_symbol(symbol, output));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around method argument
[INFO] [stdout]    --> src/codec.rs:106:48
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let symbol = match input.read_bits({ self.model.parameters().symbol_bits }) {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:123:53
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn decompress_symbol(&mut self, input: &mut BitRead) -> Result<usize> {
[INFO] [stdout]     |                                                     ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             try!(self.get_bit(input));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:132:35
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let (symbol, low, high) = try!(self.model.get_symbol(value));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             try!(self.get_bit(input));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:144:33
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 self.pending -= { self.model.parameters().code_half };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:145:29
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 self.low -= { self.model.parameters().code_half };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 self.high -= { self.model.parameters().code_half };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:148:33
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 self.pending -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:149:29
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:164:53
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn decompress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                     ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:164:75
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn decompress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                                           ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let symbol = try!(self.decompress_symbol(input));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around method argument
[INFO] [stdout]    --> src/codec.rs:171:48
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/adaptive_linear.rs:21:38
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(p: Parameters) -> Box<Model> {
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/adaptive_tree.rs:36:38
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(p: Parameters) -> Box<Model> {
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     try!(codec.compress_stream(&mut input, &mut output));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:31
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                               ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:55
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                       ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:77
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn model::Model`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     try!(codec.decompress_stream(&mut input, &mut output));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                 ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:57
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:79
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn model::Model`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut input: Box<io::Read> = if options.is_stdin() {
[INFO] [stdout]    |                        ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut output: Box<io::Write> = if options.is_stdout() {
[INFO] [stdout]    |                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling redux v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut input: Box<io::Read> = if options.is_stdin() {
[INFO] [stdout]    |                        ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut output: Box<io::Write> = if options.is_stdout() {
[INFO] [stdout]    |                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/corpora.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn test_operation(model: fn(Parameters) -> Box<Model>, bits: usize,
[INFO] [stdout]    |                                                ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/corpora.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |                  codec: fn(&mut Read, &mut Write, Box<Model>) -> redux::Result<(u64, u64)>,
[INFO] [stdout]    |                                 ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/corpora.rs:33:44
[INFO] [stdout]    |
[INFO] [stdout] 33 |                  codec: fn(&mut Read, &mut Write, Box<Model>) -> redux::Result<(u64, u64)>,
[INFO] [stdout]    |                                            ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/corpora.rs:33:55
[INFO] [stdout]    |
[INFO] [stdout] 33 |                  codec: fn(&mut Read, &mut Write, Box<Model>) -> redux::Result<(u64, u64)>,
[INFO] [stdout]    |                                                       ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/corpora.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn test_file(model: fn(Parameters) -> Box<Model>, bits: usize, file: &Path) -> (u64, u64, f64, f64) {
[INFO] [stdout]    |                                           ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/corpora.rs:67:70
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn test_model(corpus: &str, name: &str, model: fn(Parameters) -> Box<Model>, bits: usize) {
[INFO] [stdout]    |                                                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bitio/mod.rs:58:20
[INFO] [stdout]    |
[INFO] [stdout] 58 |     input: &'a mut Read,
[INFO] [stdout]    |                    ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bitio/mod.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn new(reader: &'a mut Read) -> BitReader<'a> {
[INFO] [stdout]    |                                ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bitio/mod.rs:128:21
[INFO] [stdout]     |
[INFO] [stdout] 128 |     output: &'a mut Write,
[INFO] [stdout]     |                     ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bitio/mod.rs:133:32
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn new(writer: &'a mut Write) -> BitWriter<'a> {
[INFO] [stdout]     |                                ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bitio/mod.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 try!(self.flush_bits())
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     model: Box<Model>,
[INFO] [stdout]    |                ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new(m: Box<Model>) -> Codec {
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         try!(output.write_bits(if bit { 1 } else { 0 }, 1));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:39:51
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn put_bit(&mut self, bit: bool, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]    |                                                   ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             try!(output.write_bits(if bit { 0 } else { 1 }, 1));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_bit(&mut self, input: &mut BitRead) -> Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self.pending = (self.pending << 1) | try!(input.read_bits(1)) as u64;
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/codec.rs:55:67
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn compress_symbol(&mut self, symbol: usize, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]    |                                                                   ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:57:27
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let (low, high) = try!(self.model.get_frequency(symbol));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |                try!(self.put_bit(false, output));
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |                try!(self.put_bit(true, output));
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/codec.rs:77:28
[INFO] [stdout]    |
[INFO] [stdout] 77 |                self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/codec.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             try!(output.flush_bits());
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codec.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 try!(self.put_bit(mask != 0, output));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:104:51
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn compress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                   ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:104:73
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn compress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                                         ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             try!(self.compress_symbol(symbol, output));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around method argument
[INFO] [stdout]    --> src/codec.rs:106:48
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let symbol = match input.read_bits({ self.model.parameters().symbol_bits }) {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:123:53
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn decompress_symbol(&mut self, input: &mut BitRead) -> Result<usize> {
[INFO] [stdout]     |                                                     ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             try!(self.get_bit(input));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:132:35
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let (symbol, low, high) = try!(self.model.get_symbol(value));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             try!(self.get_bit(input));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:144:33
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 self.pending -= { self.model.parameters().code_half };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:145:29
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 self.low -= { self.model.parameters().code_half };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 self.high -= { self.model.parameters().code_half };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:148:33
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 self.pending -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:149:29
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]    --> src/codec.rs:150:30
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:164:53
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn decompress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                     ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/codec.rs:164:75
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn decompress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stdout]     |                                                                           ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let symbol = try!(self.decompress_symbol(input));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/codec.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around method argument
[INFO] [stdout]    --> src/codec.rs:171:48
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/adaptive_linear.rs:21:38
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(p: Parameters) -> Box<Model> {
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/adaptive_tree.rs:36:38
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(p: Parameters) -> Box<Model> {
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/tests.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn get_invalid_value(m: &Model) -> u64 {
[INFO] [stdout]    |                          ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/tests.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn get_valid_value(m: &Model) -> u64 {
[INFO] [stdout]    |                        ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/tests.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn compare_freq_total(linear: &Model, tree: &Model) {
[INFO] [stdout]    |                                ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/tests.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn compare_freq_total(linear: &Model, tree: &Model) {
[INFO] [stdout]    |                                              ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/tests.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn compare_freq_tables(linear: &Model, tree: &Model) {
[INFO] [stdout]    |                                 ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/model/tests.rs:38:47
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn compare_freq_tables(linear: &Model, tree: &Model) {
[INFO] [stdout]    |                                               ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     try!(codec.compress_stream(&mut input, &mut output));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:31
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                               ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:55
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                       ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:102:77
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn model::Model`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     try!(codec.decompress_stream(&mut input, &mut output));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                 ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:57
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:113:79
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn model::Model`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/lib.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |         ($a:expr, $b:expr) => ($a != $b)
[INFO] [stdout]     |                                ^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |         assert_ne!(Eof, InvalidInput);
[INFO] [stdout]     |         ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/lib.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |         ($a:expr, $b:expr) => ($a != $b)
[INFO] [stdout]     |                                ^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |         assert_ne!(InvalidInput, IoError(io::Error::new(io::ErrorKind::Other, "Other")));
[INFO] [stdout]     |         --------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]    --> src/lib.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |         ($a:expr, $b:expr) => ($a != $b)
[INFO] [stdout]     |                                ^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |         assert_ne!(IoError(io::Error::new(io::ErrorKind::NotFound, "NotFound")), Eof);
[INFO] [stdout]     |         ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.98s
[INFO] running `Command { std: "docker" "inspect" "1a4078eb8fc5c9cfd2905782952b1cb5d144dc927366db01feabd33c8a831f8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a4078eb8fc5c9cfd2905782952b1cb5d144dc927366db01feabd33c8a831f8d", kill_on_drop: false }`
[INFO] [stdout] 1a4078eb8fc5c9cfd2905782952b1cb5d144dc927366db01feabd33c8a831f8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 987db9b93dbd1a825161e1e8b3d3effad46449b506f1f2eca9e1b86ed5537a7c
[INFO] running `Command { std: "docker" "start" "-a" "987db9b93dbd1a825161e1e8b3d3effad46449b506f1f2eca9e1b86ed5537a7c", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bitio/mod.rs:58:20
[INFO] [stderr]    |
[INFO] [stderr] 58 |     input: &'a mut Read,
[INFO] [stderr]    |                    ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bitio/mod.rs:63:32
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn new(reader: &'a mut Read) -> BitReader<'a> {
[INFO] [stderr]    |                                ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/bitio/mod.rs:128:21
[INFO] [stderr]     |
[INFO] [stderr] 128 |     output: &'a mut Write,
[INFO] [stderr]     |                     ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/bitio/mod.rs:133:32
[INFO] [stderr]     |
[INFO] [stderr] 133 |     pub fn new(writer: &'a mut Write) -> BitWriter<'a> {
[INFO] [stderr]     |                                ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bitio/mod.rs:177:17
[INFO] [stderr]     |
[INFO] [stderr] 177 |                 try!(self.flush_bits())
[INFO] [stderr]     |                 ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/codec.rs:23:16
[INFO] [stderr]    |
[INFO] [stderr] 23 |     model: Box<Model>,
[INFO] [stderr]    |                ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/codec.rs:28:23
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn new(m: Box<Model>) -> Codec {
[INFO] [stderr]    |                       ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codec.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 |         try!(output.write_bits(if bit { 1 } else { 0 }, 1));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/codec.rs:39:51
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn put_bit(&mut self, bit: bool, output: &mut BitWrite) -> Result<()> {
[INFO] [stderr]    |                                                   ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codec.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |             try!(output.write_bits(if bit { 0 } else { 1 }, 1));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/codec.rs:49:39
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn get_bit(&mut self, input: &mut BitRead) -> Result<()> {
[INFO] [stderr]    |                                       ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codec.rs:50:46
[INFO] [stderr]    |
[INFO] [stderr] 50 |         self.pending = (self.pending << 1) | try!(input.read_bits(1)) as u64;
[INFO] [stderr]    |                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/codec.rs:55:67
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn compress_symbol(&mut self, symbol: usize, output: &mut BitWrite) -> Result<()> {
[INFO] [stderr]    |                                                                   ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codec.rs:57:27
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let (low, high) = try!(self.model.get_frequency(symbol));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codec.rs:64:16
[INFO] [stderr]    |
[INFO] [stderr] 64 |                try!(self.put_bit(false, output));
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codec.rs:70:16
[INFO] [stderr]    |
[INFO] [stderr] 70 |                try!(self.put_bit(true, output));
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]   --> src/codec.rs:77:28
[INFO] [stderr]    |
[INFO] [stderr] 77 |                self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]   --> src/codec.rs:78:29
[INFO] [stderr]    |
[INFO] [stderr] 78 |                self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codec.rs:98:13
[INFO] [stderr]    |
[INFO] [stderr] 98 |             try!(output.flush_bits());
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codec.rs:94:17
[INFO] [stderr]    |
[INFO] [stderr] 94 |                 try!(self.put_bit(mask != 0, output));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/codec.rs:104:51
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn compress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stderr]     |                                                   ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/codec.rs:104:73
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn compress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stderr]     |                                                                         ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/codec.rs:112:13
[INFO] [stderr]     |
[INFO] [stderr] 112 |             try!(self.compress_symbol(symbol, output));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around method argument
[INFO] [stderr]    --> src/codec.rs:106:48
[INFO] [stderr]     |
[INFO] [stderr] 106 |             let symbol = match input.read_bits({ self.model.parameters().symbol_bits }) {
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/codec.rs:123:53
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub fn decompress_symbol(&mut self, input: &mut BitRead) -> Result<usize> {
[INFO] [stderr]     |                                                     ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/codec.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |             try!(self.get_bit(input));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/codec.rs:132:35
[INFO] [stderr]     |
[INFO] [stderr] 132 |         let (symbol, low, high) = try!(self.model.get_symbol(value));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/codec.rs:157:13
[INFO] [stderr]     |
[INFO] [stderr] 157 |             try!(self.get_bit(input));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> src/codec.rs:144:33
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 self.pending -= { self.model.parameters().code_half };
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> src/codec.rs:145:29
[INFO] [stderr]     |
[INFO] [stderr] 145 |                 self.low -= { self.model.parameters().code_half };
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> src/codec.rs:146:30
[INFO] [stderr]     |
[INFO] [stderr] 146 |                 self.high -= { self.model.parameters().code_half };
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> src/codec.rs:148:33
[INFO] [stderr]     |
[INFO] [stderr] 148 |                 self.pending -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> src/codec.rs:149:29
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> src/codec.rs:150:30
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/codec.rs:164:53
[INFO] [stderr]     |
[INFO] [stderr] 164 |     pub fn decompress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stderr]     |                                                     ^^^^^^^ help: use `dyn`: `dyn BitRead`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/codec.rs:164:75
[INFO] [stderr]     |
[INFO] [stderr] 164 |     pub fn decompress_stream(&mut self, input: &mut BitRead, output: &mut BitWrite) -> Result<()> {
[INFO] [stderr]     |                                                                           ^^^^^^^^ help: use `dyn`: `dyn BitWrite`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/codec.rs:166:26
[INFO] [stderr]     |
[INFO] [stderr] 166 |             let symbol = try!(self.decompress_symbol(input));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/codec.rs:171:17
[INFO] [stderr]     |
[INFO] [stderr] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around method argument
[INFO] [stderr]    --> src/codec.rs:171:48
[INFO] [stderr]     |
[INFO] [stderr] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/model/adaptive_linear.rs:21:38
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn new(p: Parameters) -> Box<Model> {
[INFO] [stderr]    |                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/model/adaptive_tree.rs:36:38
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn new(p: Parameters) -> Box<Model> {
[INFO] [stderr]    |                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:107:5
[INFO] [stderr]     |
[INFO] [stderr] 107 |     try!(codec.compress_stream(&mut input, &mut output));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:102:31
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stderr]     |                               ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:102:55
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stderr]     |                                                       ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:102:77
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub fn compress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stderr]     |                                                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn model::Model`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 118 |     try!(codec.decompress_stream(&mut input, &mut output));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:113:33
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stderr]     |                                 ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:113:57
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stderr]     |                                                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:113:79
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn decompress(istream: &mut io::Read, ostream: &mut io::Write, model: Box<model::Model>) -> Result<(u64, u64)> {
[INFO] [stderr]     |                                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn model::Model`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `redux` (lib) generated 49 warnings
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:90:24
[INFO] [stderr]    |
[INFO] [stderr] 90 |     let mut input: Box<io::Read> = if options.is_stdin() {
[INFO] [stderr]    |                        ^^^^^^^^ help: use `dyn`: `dyn io::Read`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/main.rs:99:25
[INFO] [stderr]    |
[INFO] [stderr] 99 |     let mut output: Box<io::Write> = if options.is_stdout() {
[INFO] [stderr]    |                         ^^^^^^^^^ help: use `dyn`: `dyn io::Write`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `redux` (bin "redux") generated 2 warnings
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/corpora.rs:32:48
[INFO] [stderr]    |
[INFO] [stderr] 32 | fn test_operation(model: fn(Parameters) -> Box<Model>, bits: usize,
[INFO] [stderr]    |                                                ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/corpora.rs:33:33
[INFO] [stderr]    |
[INFO] [stderr] 33 |                  codec: fn(&mut Read, &mut Write, Box<Model>) -> redux::Result<(u64, u64)>,
[INFO] [stderr]    |                                 ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/corpora.rs:33:44
[INFO] [stderr]    |
[INFO] [stderr] 33 |                  codec: fn(&mut Read, &mut Write, Box<Model>) -> redux::Result<(u64, u64)>,
[INFO] [stderr]    |                                            ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/corpora.rs:33:55
[INFO] [stderr]    |
[INFO] [stderr] 33 |                  codec: fn(&mut Read, &mut Write, Box<Model>) -> redux::Result<(u64, u64)>,
[INFO] [stderr]    |                                                       ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/corpora.rs:45:43
[INFO] [stderr]    |
[INFO] [stderr] 45 | fn test_file(model: fn(Parameters) -> Box<Model>, bits: usize, file: &Path) -> (u64, u64, f64, f64) {
[INFO] [stderr]    |                                           ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/corpora.rs:67:70
[INFO] [stderr]    |
[INFO] [stderr] 67 | fn test_model(corpus: &str, name: &str, model: fn(Parameters) -> Box<Model>, bits: usize) {
[INFO] [stderr]    |                                                                      ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/model/tests.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 23 | fn get_invalid_value(m: &Model) -> u64 {
[INFO] [stderr]    |                          ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/model/tests.rs:27:24
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn get_valid_value(m: &Model) -> u64 {
[INFO] [stderr]    |                        ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/model/tests.rs:31:32
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn compare_freq_total(linear: &Model, tree: &Model) {
[INFO] [stderr]    |                                ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/model/tests.rs:31:46
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn compare_freq_total(linear: &Model, tree: &Model) {
[INFO] [stderr]    |                                              ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/model/tests.rs:38:33
[INFO] [stderr]    |
[INFO] [stderr] 38 | fn compare_freq_tables(linear: &Model, tree: &Model) {
[INFO] [stderr]    |                                 ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/model/tests.rs:38:47
[INFO] [stderr]    |
[INFO] [stderr] 38 | fn compare_freq_tables(linear: &Model, tree: &Model) {
[INFO] [stderr]    |                                               ^^^^^ help: use `dyn`: `dyn Model`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/lib.rs:128:32
[INFO] [stderr]     |
[INFO] [stderr] 128 |         ($a:expr, $b:expr) => ($a != $b)
[INFO] [stderr]     |                                ^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |         assert_ne!(Eof, InvalidInput);
[INFO] [stderr]     |         ------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/lib.rs:128:32
[INFO] [stderr]     |
[INFO] [stderr] 128 |         ($a:expr, $b:expr) => ($a != $b)
[INFO] [stderr]     |                                ^^
[INFO] [stderr] ...
[INFO] [stderr] 137 |         assert_ne!(InvalidInput, IoError(io::Error::new(io::ErrorKind::Other, "Other")));
[INFO] [stderr]     |         --------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]    --> src/lib.rs:128:32
[INFO] [stderr]     |
[INFO] [stderr] 128 |         ($a:expr, $b:expr) => ($a != $b)
[INFO] [stderr]     |                                ^^
[INFO] [stderr] ...
[INFO] [stderr] 138 |         assert_ne!(IoError(io::Error::new(io::ErrorKind::NotFound, "NotFound")), Eof);
[INFO] [stderr]     |         ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_ne` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `redux` (test "corpora") generated 6 warnings
[INFO] [stderr] warning: `redux` (bin "redux" test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `redux` (lib test) generated 58 warnings (49 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/redux-d754615f153cc6bf)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test bitio::tests::read_bits ... ok
[INFO] [stdout] test bitio::tests::read_bytes ... ok
[INFO] [stdout] test bitio::tests::read_eof ... ok
[INFO] [stdout] test bitio::tests::read_mixed ... ok
[INFO] [stdout] test bitio::tests::write_bits ... ok
[INFO] [stdout] test bitio::tests::write_bytes ... ok
[INFO] [stdout] test bitio::tests::write_empty ... ok
[INFO] [stdout] test model::tests::compare_models_decode_12_14_16 ... ignored
[INFO] [stdout] test model::tests::compare_models_decode_12_22_24 ... ignored
[INFO] [stdout] test model::tests::compare_models_decode_12_24_30 ... ignored
[INFO] [stdout] test model::tests::compare_models_decode_12_30_32 ... ignored
[INFO] [stdout] test bitio::tests::write_flush ... ok
[INFO] [stdout] test bitio::tests::write_mixed ... ok
[INFO] [stdout] test model::tests::compare_models_decode_8_10_16 ... ignored
[INFO] [stdout] test model::tests::compare_models_decode_8_14_16 ... ignored
[INFO] [stdout] test model::tests::compare_models_decode_8_22_24 ... ignored
[INFO] [stdout] test model::tests::compare_models_decode_8_24_30 ... ignored
[INFO] [stdout] test model::tests::compare_models_decode_8_30_32 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_12_14_16 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_12_22_24 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_12_24_30 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_12_30_32 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_8_10_16 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_8_14_16 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_8_22_24 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_8_24_30 ... ignored
[INFO] [stdout] test model::tests::compare_models_encode_8_30_32 ... ignored
[INFO] [stdout] test tests::error_eq ... ok
[INFO] [stdout] test model::tests::compare_models_encode_4_14_16 ... ok
[INFO] [stdout] test model::tests::compare_models_encode_4_10_16 ... ok
[INFO] [stdout] test model::tests::compare_models_decode_4_14_16 ... ok
[INFO] [stdout] test model::tests::compare_models_decode_4_10_16 ... ok
[INFO] [stdout] test model::tests::compare_models_decode_4_22_24 ... ok
[INFO] [stdout] test model::tests::compare_models_decode_4_24_30 ... ok
[INFO] [stdout] test model::tests::compare_models_encode_4_22_24 ... ok
[INFO] [stdout] test model::tests::compare_models_encode_4_24_30 ... ok
[INFO] [stdout] test model::tests::compare_models_encode_4_30_32 ... ok
[INFO] [stdout] test model::tests::compare_models_decode_4_30_32 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 18 ignored; 0 measured; 0 filtered out; finished in 3.44s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/redux-f009e2af117401f9)
[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] [stderr]      Running tests/corpora.rs (/opt/rustwide/target/debug/deps/corpora-19f4a96fd3b555ed)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test calgary_linear14 ... ignored
[INFO] [stdout] test calgary_linear22 ... ignored
[INFO] [stdout] test calgary_linear30 ... ignored
[INFO] [stdout] test calgary_tree14 ... ignored
[INFO] [stdout] test calgary_tree22 ... ignored
[INFO] [stdout] test calgary_tree30 ... ignored
[INFO] [stdout] test canterbury_linear14 ... ignored
[INFO] [stdout] test canterbury_linear22 ... ignored
[INFO] [stdout] test canterbury_linear30 ... ignored
[INFO] [stdout] test canterbury_tree14 ... ignored
[INFO] [stdout] test canterbury_tree22 ... ignored
[INFO] [stdout] test canterbury_tree30 ... ignored
[INFO] [stdout] test large_linear14 ... ignored
[INFO] [stdout] test large_linear22 ... ignored
[INFO] [stdout] test large_linear30 ... ignored
[INFO] [stdout] test large_tree14 ... ignored
[INFO] [stdout] test large_tree22 ... ignored
[INFO] [stdout] test large_tree30 ... ignored
[INFO] [stdout] test misc_linear14 ... ignored
[INFO] [stdout] test misc_linear22 ... ignored
[INFO] [stdout] test misc_linear30 ... ignored
[INFO] [stdout] test misc_tree14 ... ignored
[INFO] [stdout] test misc_tree22 ... ignored
[INFO] [stdout] test misc_tree30 ... ignored
[INFO] [stdout] test artificial_tree14 ... ok
[INFO] [stdout] test artificial_tree22 ... ok
[INFO] [stdout] test artificial_tree30 ... ok
[INFO] [stdout] test artificial_linear14 ... ok
[INFO] [stdout] test artificial_linear30 ... ok
[INFO] [stderr]    Doc-tests redux
[INFO] [stdout] test artificial_linear22 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 24 ignored; 0 measured; 0 filtered out; finished in 13.00s
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/codec.rs:77:28
[INFO] [stderr]    |
[INFO] [stderr] 77 |                self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/codec.rs:78:29
[INFO] [stderr]    |
[INFO] [stderr] 78 |                self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around method argument
[INFO] [stderr]    --> /opt/rustwide/workdir/src/codec.rs:106:48
[INFO] [stderr]     |
[INFO] [stderr] 106 |             let symbol = match input.read_bits({ self.model.parameters().symbol_bits }) {
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/codec.rs:144:33
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 self.pending -= { self.model.parameters().code_half };
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/codec.rs:145:29
[INFO] [stderr]     |
[INFO] [stderr] 145 |                 self.low -= { self.model.parameters().code_half };
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/codec.rs:146:30
[INFO] [stderr]     |
[INFO] [stderr] 146 |                 self.high -= { self.model.parameters().code_half };
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/codec.rs:148:33
[INFO] [stderr]     |
[INFO] [stderr] 148 |                 self.pending -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/codec.rs:149:29
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 self.low -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/codec.rs:150:30
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 self.high -= { self.model.parameters().code_one_fourth };
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around method argument
[INFO] [stderr]    --> /opt/rustwide/workdir/src/codec.rs:171:48
[INFO] [stderr]     |
[INFO] [stderr] 171 |                 try!(output.write_bits(symbol, { self.model.parameters().symbol_bits }));
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: 10 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 23) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.54s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "987db9b93dbd1a825161e1e8b3d3effad46449b506f1f2eca9e1b86ed5537a7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "987db9b93dbd1a825161e1e8b3d3effad46449b506f1f2eca9e1b86ed5537a7c", kill_on_drop: false }`
[INFO] [stdout] 987db9b93dbd1a825161e1e8b3d3effad46449b506f1f2eca9e1b86ed5537a7c
