[INFO] fetching crate bencode 0.1.16... [INFO] testing bencode-0.1.16 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate bencode 0.1.16 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate bencode 0.1.16 [INFO] finished tweaking crates.io crate bencode 0.1.16 [INFO] tweaked toml for crates.io crate bencode 0.1.16 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate bencode 0.1.16 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 5 packages to latest compatible versions [INFO] [stderr] Adding num-traits v0.1.43 (available: v0.2.19) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: path `src/bencode.rs` was erroneously implicitly accepted for library `bencode`, [INFO] [stderr] please rename the file to `src/lib.rs` or set lib.path in Cargo.toml [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 243613cdae5dc5c2b3f63ff289fad69d9cfa53be3309ba79a2238bd375368de4 [INFO] running `Command { std: "docker" "start" "-a" "243613cdae5dc5c2b3f63ff289fad69d9cfa53be3309ba79a2238bd375368de4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "243613cdae5dc5c2b3f63ff289fad69d9cfa53be3309ba79a2238bd375368de4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "243613cdae5dc5c2b3f63ff289fad69d9cfa53be3309ba79a2238bd375368de4", kill_on_drop: false }` [INFO] [stdout] 243613cdae5dc5c2b3f63ff289fad69d9cfa53be3309ba79a2238bd375368de4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] c951082b8789733aa5c1fe558e31d06fb62fa59a339a42c3f53f236e68504b59 [INFO] running `Command { std: "docker" "start" "-a" "c951082b8789733aa5c1fe558e31d06fb62fa59a339a42c3f53f236e68504b59", kill_on_drop: false }` [INFO] [stderr] warning: path `src/bencode.rs` was erroneously implicitly accepted for library `bencode`, [INFO] [stderr] please rename the file to `src/lib.rs` or set lib.path in Cargo.toml [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling rustc-serialize v0.3.25 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling bencode v0.1.16 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | let num = try!(self.parse_number_digits(sign)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:126:22 [INFO] [stdout] | [INFO] [stdout] 126 | Some('1' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:129:39 [INFO] [stdout] | [INFO] [stdout] 129 | Some(ch @ '0' ... '9') => self.parse_digit(ch, sign, &mut num), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:144:22 [INFO] [stdout] | [INFO] [stdout] 144 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:147:39 [INFO] [stdout] | [INFO] [stdout] 147 | Some(ch @ '0' ... '9') => self.parse_digit(ch, sign, &mut num), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let len = try!(self.parse_length_digits(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | let bytes = try!(self.next_bytes(len as usize)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:187:22 [INFO] [stdout] | [INFO] [stdout] 187 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:189:27 [INFO] [stdout] | [INFO] [stdout] 189 | let res = try!(self.parse_bytestring()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:204:27 [INFO] [stdout] | [INFO] [stdout] 204 | let res = try!(self.parse_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:207:22 [INFO] [stdout] | [INFO] [stdout] 207 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:210:27 [INFO] [stdout] | [INFO] [stdout] 210 | let res = try!(self.parse_bytestring()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | try!(write!(fmt, "[")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | try!(write!(fmt, "{}", *value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 266 | try!(write!(fmt, ", ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | try!(write!(fmt, "{{")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 281 | try!(write!(fmt, "{}: {}", *key, *value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | try!(write!(fmt, ", ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/bencode.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | fn from_bencode(&Bencode) -> Result; [INFO] [stdout] | ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bencode` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `tryenc` [INFO] [stdout] --> src/bencode.rs:710:14 [INFO] [stdout] | [INFO] [stdout] 710 | macro_rules! tryenc(($e:expr) => ( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:751:9 [INFO] [stdout] | [INFO] [stdout] 751 | try!(write!(self.get_writer(), "d")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:753:13 [INFO] [stdout] | [INFO] [stdout] 753 | try!(key.encode(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:754:13 [INFO] [stdout] | [INFO] [stdout] 754 | try!(self.get_writer().write_all(value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | try!(write!(self.get_writer(), "{}:", v.len())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:860:9 [INFO] [stdout] | [INFO] [stdout] 860 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | try!(self.encode_dict(&dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:870:9 [INFO] [stdout] | [INFO] [stdout] 870 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:912:9 [INFO] [stdout] | [INFO] [stdout] 912 | try!(write!(self.get_writer(), "l")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:913:9 [INFO] [stdout] | [INFO] [stdout] 913 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:920:9 [INFO] [stdout] | [INFO] [stdout] 920 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:928:9 [INFO] [stdout] | [INFO] [stdout] 928 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:930:9 [INFO] [stdout] | [INFO] [stdout] 930 | try!(self.encode_dict(&dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:939:9 [INFO] [stdout] | [INFO] [stdout] 939 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:947:9 [INFO] [stdout] | [INFO] [stdout] 947 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1035:25 [INFO] [stdout] | [INFO] [stdout] 1035 | let value = try!(self.parse_elem(current)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1211:19 [INFO] [stdout] | [INFO] [stdout] 1211 | let res = try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1309:19 [INFO] [stdout] | [INFO] [stdout] 1309 | let res = try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:722:22 [INFO] [stdout] | [INFO] [stdout] 722 | writer: &'a mut (io::Write + 'a), [INFO] [stdout] | ^^^^^^^^^^^^^^ [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 722 | writer: &'a mut (dyn io::Write + 'a), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:731:32 [INFO] [stdout] | [INFO] [stdout] 731 | pub fn new(writer: &'a mut io::Write) -> Encoder<'a> { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 731 | pub fn new(writer: &'a mut dyn io::Write) -> Encoder<'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:742:38 [INFO] [stdout] | [INFO] [stdout] 742 | fn get_writer(&mut self) -> &mut io::Write { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 742 | fn get_writer(&mut self) -> &mut dyn io::Write { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:292:42 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn to_writer(&self, writer: &mut io::Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 | pub fn to_writer(&self, writer: &mut dyn io::Write) -> io::Result<()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:744:38 [INFO] [stdout] | [INFO] [stdout] 744 | &mut self.writer as &mut io::Write [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 744 | &mut self.writer as &mut dyn io::Write [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:746:54 [INFO] [stdout] | [INFO] [stdout] 746 | self.writers.last_mut().unwrap() as &mut io::Write [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 746 | self.writers.last_mut().unwrap() as &mut dyn io::Write [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.42s [INFO] running `Command { std: "docker" "inspect" "c951082b8789733aa5c1fe558e31d06fb62fa59a339a42c3f53f236e68504b59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c951082b8789733aa5c1fe558e31d06fb62fa59a339a42c3f53f236e68504b59", kill_on_drop: false }` [INFO] [stdout] c951082b8789733aa5c1fe558e31d06fb62fa59a339a42c3f53f236e68504b59 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] afe844ace1d67002a71c28a5a521623161f23d2913917ba4f02105ebc5d301fb [INFO] running `Command { std: "docker" "start" "-a" "afe844ace1d67002a71c28a5a521623161f23d2913917ba4f02105ebc5d301fb", kill_on_drop: false }` [INFO] [stderr] warning: path `src/bencode.rs` was erroneously implicitly accepted for library `bencode`, [INFO] [stderr] please rename the file to `src/lib.rs` or set lib.path in Cargo.toml [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | let num = try!(self.parse_number_digits(sign)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:126:22 [INFO] [stdout] | [INFO] [stdout] 126 | Some('1' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:129:39 [INFO] [stdout] | [INFO] [stdout] 129 | Some(ch @ '0' ... '9') => self.parse_digit(ch, sign, &mut num), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling bencode v0.1.16 (/opt/rustwide/workdir) [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:144:22 [INFO] [stdout] | [INFO] [stdout] 144 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:147:39 [INFO] [stdout] | [INFO] [stdout] 147 | Some(ch @ '0' ... '9') => self.parse_digit(ch, sign, &mut num), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let len = try!(self.parse_length_digits(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | let bytes = try!(self.next_bytes(len as usize)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:187:22 [INFO] [stdout] | [INFO] [stdout] 187 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:189:27 [INFO] [stdout] | [INFO] [stdout] 189 | let res = try!(self.parse_bytestring()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:204:27 [INFO] [stdout] | [INFO] [stdout] 204 | let res = try!(self.parse_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:207:22 [INFO] [stdout] | [INFO] [stdout] 207 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:210:27 [INFO] [stdout] | [INFO] [stdout] 210 | let res = try!(self.parse_bytestring()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | try!(write!(fmt, "[")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | try!(write!(fmt, "{}", *value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 266 | try!(write!(fmt, ", ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | try!(write!(fmt, "{{")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 281 | try!(write!(fmt, "{}: {}", *key, *value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | try!(write!(fmt, ", ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/bencode.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | fn from_bencode(&Bencode) -> Result; [INFO] [stdout] | ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bencode` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `tryenc` [INFO] [stdout] --> src/bencode.rs:710:14 [INFO] [stdout] | [INFO] [stdout] 710 | macro_rules! tryenc(($e:expr) => ( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:751:9 [INFO] [stdout] | [INFO] [stdout] 751 | try!(write!(self.get_writer(), "d")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:753:13 [INFO] [stdout] | [INFO] [stdout] 753 | try!(key.encode(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:754:13 [INFO] [stdout] | [INFO] [stdout] 754 | try!(self.get_writer().write_all(value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | try!(write!(self.get_writer(), "{}:", v.len())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:860:9 [INFO] [stdout] | [INFO] [stdout] 860 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | try!(self.encode_dict(&dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:870:9 [INFO] [stdout] | [INFO] [stdout] 870 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:912:9 [INFO] [stdout] | [INFO] [stdout] 912 | try!(write!(self.get_writer(), "l")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:913:9 [INFO] [stdout] | [INFO] [stdout] 913 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:920:9 [INFO] [stdout] | [INFO] [stdout] 920 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:928:9 [INFO] [stdout] | [INFO] [stdout] 928 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:930:9 [INFO] [stdout] | [INFO] [stdout] 930 | try!(self.encode_dict(&dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:939:9 [INFO] [stdout] | [INFO] [stdout] 939 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:947:9 [INFO] [stdout] | [INFO] [stdout] 947 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1035:25 [INFO] [stdout] | [INFO] [stdout] 1035 | let value = try!(self.parse_elem(current)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1211:19 [INFO] [stdout] | [INFO] [stdout] 1211 | let res = try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1309:19 [INFO] [stdout] | [INFO] [stdout] 1309 | let res = try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:722:22 [INFO] [stdout] | [INFO] [stdout] 722 | writer: &'a mut (io::Write + 'a), [INFO] [stdout] | ^^^^^^^^^^^^^^ [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 722 | writer: &'a mut (dyn io::Write + 'a), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:731:32 [INFO] [stdout] | [INFO] [stdout] 731 | pub fn new(writer: &'a mut io::Write) -> Encoder<'a> { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 731 | pub fn new(writer: &'a mut dyn io::Write) -> Encoder<'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:742:38 [INFO] [stdout] | [INFO] [stdout] 742 | fn get_writer(&mut self) -> &mut io::Write { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 742 | fn get_writer(&mut self) -> &mut dyn io::Write { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:292:42 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn to_writer(&self, writer: &mut io::Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 | pub fn to_writer(&self, writer: &mut dyn io::Write) -> io::Result<()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:744:38 [INFO] [stdout] | [INFO] [stdout] 744 | &mut self.writer as &mut io::Write [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 744 | &mut self.writer as &mut dyn io::Write [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:746:54 [INFO] [stdout] | [INFO] [stdout] 746 | self.writers.last_mut().unwrap() as &mut io::Write [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 746 | self.writers.last_mut().unwrap() as &mut dyn io::Write [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope [INFO] [stdout] --> src/bencode.rs:1700:36 [INFO] [stdout] | [INFO] [stdout] 1700 | #[derive(Eq, PartialEq, Debug, RustcEncodable, RustcDecodable)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope [INFO] [stdout] --> src/bencode.rs:1700:52 [INFO] [stdout] | [INFO] [stdout] 1700 | #[derive(Eq, PartialEq, Debug, RustcEncodable, RustcDecodable)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope [INFO] [stdout] --> src/bencode.rs:1706:36 [INFO] [stdout] | [INFO] [stdout] 1706 | #[derive(Eq, PartialEq, Debug, RustcEncodable, RustcDecodable)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope [INFO] [stdout] --> src/bencode.rs:1706:52 [INFO] [stdout] | [INFO] [stdout] 1706 | #[derive(Eq, PartialEq, Debug, RustcEncodable, RustcDecodable)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope [INFO] [stdout] --> src/bencode.rs:1713:36 [INFO] [stdout] | [INFO] [stdout] 1713 | #[derive(Eq, PartialEq, Debug, RustcEncodable, RustcDecodable)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope [INFO] [stdout] --> src/bencode.rs:1713:52 [INFO] [stdout] | [INFO] [stdout] 1713 | #[derive(Eq, PartialEq, Debug, RustcEncodable, RustcDecodable)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope [INFO] [stdout] --> src/bencode.rs:1797:18 [INFO] [stdout] | [INFO] [stdout] 1797 | #[derive(RustcEncodable)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope [INFO] [stdout] --> src/bencode.rs:1813:14 [INFO] [stdout] | [INFO] [stdout] 1813 | #[derive(RustcEncodable, RustcDecodable, Eq, PartialEq, Debug, Clone)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope [INFO] [stdout] --> src/bencode.rs:1813:30 [INFO] [stdout] | [INFO] [stdout] 1813 | #[derive(RustcEncodable, RustcDecodable, Eq, PartialEq, Debug, Clone)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope [INFO] [stdout] --> src/bencode.rs:1820:14 [INFO] [stdout] | [INFO] [stdout] 1820 | #[derive(RustcEncodable, RustcDecodable, Eq, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope [INFO] [stdout] --> src/bencode.rs:1820:30 [INFO] [stdout] | [INFO] [stdout] 1820 | #[derive(RustcEncodable, RustcDecodable, Eq, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | let num = try!(self.parse_number_digits(sign)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:126:22 [INFO] [stdout] | [INFO] [stdout] 126 | Some('1' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:129:39 [INFO] [stdout] | [INFO] [stdout] 129 | Some(ch @ '0' ... '9') => self.parse_digit(ch, sign, &mut num), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:144:22 [INFO] [stdout] | [INFO] [stdout] 144 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:147:39 [INFO] [stdout] | [INFO] [stdout] 147 | Some(ch @ '0' ... '9') => self.parse_digit(ch, sign, &mut num), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let len = try!(self.parse_length_digits(1)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | let bytes = try!(self.next_bytes(len as usize)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:187:22 [INFO] [stdout] | [INFO] [stdout] 187 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:189:27 [INFO] [stdout] | [INFO] [stdout] 189 | let res = try!(self.parse_bytestring()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:204:27 [INFO] [stdout] | [INFO] [stdout] 204 | let res = try!(self.parse_number()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:207:22 [INFO] [stdout] | [INFO] [stdout] 207 | Some('0' ... '9') => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/streaming.rs:210:27 [INFO] [stdout] | [INFO] [stdout] 210 | let res = try!(self.parse_bytestring()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/streaming.rs:300:27 [INFO] [stdout] | [INFO] [stdout] 300 | 'i' | '0' ... '9' | 'l' | 'd' | 'e' => continue, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | try!(write!(fmt, "[")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | try!(write!(fmt, "{}", *value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 266 | try!(write!(fmt, ", ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | try!(write!(fmt, "{{")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 281 | try!(write!(fmt, "{}: {}", *key, *value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | try!(write!(fmt, ", ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/bencode.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | fn from_bencode(&Bencode) -> Result; [INFO] [stdout] | ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bencode` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `tryenc` [INFO] [stdout] --> src/bencode.rs:710:14 [INFO] [stdout] | [INFO] [stdout] 710 | macro_rules! tryenc(($e:expr) => ( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:751:9 [INFO] [stdout] | [INFO] [stdout] 751 | try!(write!(self.get_writer(), "d")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:753:13 [INFO] [stdout] | [INFO] [stdout] 753 | try!(key.encode(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:754:13 [INFO] [stdout] | [INFO] [stdout] 754 | try!(self.get_writer().write_all(value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | try!(write!(self.get_writer(), "{}:", v.len())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:860:9 [INFO] [stdout] | [INFO] [stdout] 860 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | try!(self.encode_dict(&dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:870:9 [INFO] [stdout] | [INFO] [stdout] 870 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:912:9 [INFO] [stdout] | [INFO] [stdout] 912 | try!(write!(self.get_writer(), "l")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:913:9 [INFO] [stdout] | [INFO] [stdout] 913 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:920:9 [INFO] [stdout] | [INFO] [stdout] 920 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:928:9 [INFO] [stdout] | [INFO] [stdout] 928 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:930:9 [INFO] [stdout] | [INFO] [stdout] 930 | try!(self.encode_dict(&dict)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:939:9 [INFO] [stdout] | [INFO] [stdout] 939 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:947:9 [INFO] [stdout] | [INFO] [stdout] 947 | try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1035:25 [INFO] [stdout] | [INFO] [stdout] 1035 | let value = try!(self.parse_elem(current)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1211:19 [INFO] [stdout] | [INFO] [stdout] 1211 | let res = try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/bencode.rs:1309:19 [INFO] [stdout] | [INFO] [stdout] 1309 | let res = try!(f(self)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:722:22 [INFO] [stdout] | [INFO] [stdout] 722 | writer: &'a mut (io::Write + 'a), [INFO] [stdout] | ^^^^^^^^^^^^^^ [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 722 | writer: &'a mut (dyn io::Write + 'a), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:731:32 [INFO] [stdout] | [INFO] [stdout] 731 | pub fn new(writer: &'a mut io::Write) -> Encoder<'a> { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 731 | pub fn new(writer: &'a mut dyn io::Write) -> Encoder<'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:742:38 [INFO] [stdout] | [INFO] [stdout] 742 | fn get_writer(&mut self) -> &mut io::Write { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 742 | fn get_writer(&mut self) -> &mut dyn io::Write { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:292:42 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn to_writer(&self, writer: &mut io::Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 | pub fn to_writer(&self, writer: &mut dyn io::Write) -> io::Result<()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:744:38 [INFO] [stdout] | [INFO] [stdout] 744 | &mut self.writer as &mut io::Write [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 744 | &mut self.writer as &mut dyn io::Write [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bencode.rs:746:54 [INFO] [stdout] | [INFO] [stdout] 746 | self.writers.last_mut().unwrap() as &mut io::Write [INFO] [stdout] | ^^^^^^^^^ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 746 | self.writers.last_mut().unwrap() as &mut dyn io::Write [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SimpleStruct: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1339:37 [INFO] [stdout] | [INFO] [stdout] 1339 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `SimpleStruct` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1719 | / gen_encode_identity_test!(encodes_struct, [INFO] [stdout] 1720 | | identity_struct, [INFO] [stdout] 1721 | | (SimpleStruct { [INFO] [stdout] 1722 | | b: vec!["foo".to_string(), "baar".to_string()], [INFO] [stdout] ... | [INFO] [stdout] 1727 | | b: vec![] [INFO] [stdout] 1728 | | }) -> bytes("d1:ai1234567890e1:blee")); [INFO] [stdout] | |____________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&SimpleStruct` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_encoding` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SimpleStruct: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1339:37 [INFO] [stdout] | [INFO] [stdout] 1339 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `SimpleStruct` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1719 | / gen_encode_identity_test!(encodes_struct, [INFO] [stdout] 1720 | | identity_struct, [INFO] [stdout] 1721 | | (SimpleStruct { [INFO] [stdout] 1722 | | b: vec!["foo".to_string(), "baar".to_string()], [INFO] [stdout] ... | [INFO] [stdout] 1727 | | b: vec![] [INFO] [stdout] 1728 | | }) -> bytes("d1:ai1234567890e1:blee")); [INFO] [stdout] | |____________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&SimpleStruct` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_encoding` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SimpleStruct: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1372:37 [INFO] [stdout] | [INFO] [stdout] 1372 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `SimpleStruct` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1719 | / gen_encode_identity_test!(encodes_struct, [INFO] [stdout] 1720 | | identity_struct, [INFO] [stdout] 1721 | | (SimpleStruct { [INFO] [stdout] 1722 | | b: vec!["foo".to_string(), "baar".to_string()], [INFO] [stdout] ... | [INFO] [stdout] 1727 | | b: vec![] [INFO] [stdout] 1728 | | }) -> bytes("d1:ai1234567890e1:blee")); [INFO] [stdout] | |____________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&SimpleStruct` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SimpleStruct: Decodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1378:22 [INFO] [stdout] | [INFO] [stdout] 1378 | let result = Decodable::decode(&mut decoder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `SimpleStruct` [INFO] [stdout] ... [INFO] [stdout] 1719 | / gen_encode_identity_test!(encodes_struct, [INFO] [stdout] 1720 | | identity_struct, [INFO] [stdout] 1721 | | (SimpleStruct { [INFO] [stdout] 1722 | | b: vec!["foo".to_string(), "baar".to_string()], [INFO] [stdout] ... | [INFO] [stdout] 1727 | | b: vec![] [INFO] [stdout] 1728 | | }) -> bytes("d1:ai1234567890e1:blee")); [INFO] [stdout] | |____________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Decodable`: [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 71 others [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SimpleStruct: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1372:37 [INFO] [stdout] | [INFO] [stdout] 1372 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `SimpleStruct` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1719 | / gen_encode_identity_test!(encodes_struct, [INFO] [stdout] 1720 | | identity_struct, [INFO] [stdout] 1721 | | (SimpleStruct { [INFO] [stdout] 1722 | | b: vec!["foo".to_string(), "baar".to_string()], [INFO] [stdout] ... | [INFO] [stdout] 1727 | | b: vec![] [INFO] [stdout] 1728 | | }) -> bytes("d1:ai1234567890e1:blee")); [INFO] [stdout] | |____________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&SimpleStruct` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SimpleStruct: Decodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1378:22 [INFO] [stdout] | [INFO] [stdout] 1378 | let result = Decodable::decode(&mut decoder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `SimpleStruct` [INFO] [stdout] ... [INFO] [stdout] 1719 | / gen_encode_identity_test!(encodes_struct, [INFO] [stdout] 1720 | | identity_struct, [INFO] [stdout] 1721 | | (SimpleStruct { [INFO] [stdout] 1722 | | b: vec!["foo".to_string(), "baar".to_string()], [INFO] [stdout] ... | [INFO] [stdout] 1727 | | b: vec![] [INFO] [stdout] 1728 | | }) -> bytes("d1:ai1234567890e1:blee")); [INFO] [stdout] | |____________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Decodable`: [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 71 others [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OuterStruct: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1339:37 [INFO] [stdout] | [INFO] [stdout] 1339 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `OuterStruct` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1730 | / gen_encode_identity_test!(encodes_nested_struct, [INFO] [stdout] 1731 | | identity_nested_struct, [INFO] [stdout] 1732 | | (OuterStruct { [INFO] [stdout] 1733 | | is_true: true, [INFO] [stdout] ... | [INFO] [stdout] 1761 | | 7:is_true4:true\ [INFO] [stdout] 1762 | | e")); [INFO] [stdout] | |______________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&OuterStruct` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_encoding` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OuterStruct: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1372:37 [INFO] [stdout] | [INFO] [stdout] 1372 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `OuterStruct` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1730 | / gen_encode_identity_test!(encodes_nested_struct, [INFO] [stdout] 1731 | | identity_nested_struct, [INFO] [stdout] 1732 | | (OuterStruct { [INFO] [stdout] 1733 | | is_true: true, [INFO] [stdout] ... | [INFO] [stdout] 1761 | | 7:is_true4:true\ [INFO] [stdout] 1762 | | e")); [INFO] [stdout] | |______________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&OuterStruct` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OuterStruct: Decodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1378:22 [INFO] [stdout] | [INFO] [stdout] 1378 | let result = Decodable::decode(&mut decoder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `OuterStruct` [INFO] [stdout] ... [INFO] [stdout] 1730 | / gen_encode_identity_test!(encodes_nested_struct, [INFO] [stdout] 1731 | | identity_nested_struct, [INFO] [stdout] 1732 | | (OuterStruct { [INFO] [stdout] 1733 | | is_true: true, [INFO] [stdout] ... | [INFO] [stdout] 1761 | | 7:is_true4:true\ [INFO] [stdout] 1762 | | e")); [INFO] [stdout] | |______________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Decodable`: [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 71 others [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OrderedStruct: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1810:28 [INFO] [stdout] | [INFO] [stdout] 1810 | assert_eq!(encode(&s).unwrap(), bytes("d1:ai1e2:aai2e2:abi3e1:zi4ee")); [INFO] [stdout] | ------ ^ the trait `Encodable` is not implemented for `OrderedStruct` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&OrderedStruct` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OptionalStruct: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1339:37 [INFO] [stdout] | [INFO] [stdout] 1339 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `OptionalStruct` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1834 | assert_encoding!(OPT_STRUCT.clone(), bytes("d1:bi10ee")); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&OptionalStruct` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_encoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OptionalStruct: Decodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1349:22 [INFO] [stdout] | [INFO] [stdout] 1349 | let result = Decodable::decode(&mut decoder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `OptionalStruct` [INFO] [stdout] ... [INFO] [stdout] 1840 | assert_decoding!(bytes("d1:bi10ee"), OPT_STRUCT.clone()); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Decodable`: [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 71 others [INFO] [stdout] = note: this error originates in the macro `assert_decoding` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OptionalStructOuter: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1339:37 [INFO] [stdout] | [INFO] [stdout] 1339 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `OptionalStructOuter` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1843 | / gen_encode_identity_test!(encodes_nested_struct_fields, [INFO] [stdout] 1844 | | identity_nested_struct_field, [INFO] [stdout] 1845 | | ({ [INFO] [stdout] 1846 | | OptionalStructOuter { [INFO] [stdout] ... | [INFO] [stdout] 1861 | | }) -> bytes("d1:ad1:bi10e1:cl4:true3:nilee1:bi99ee")); [INFO] [stdout] | |___________________________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&OptionalStructOuter` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_encoding` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OptionalStructOuter: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1339:37 [INFO] [stdout] | [INFO] [stdout] 1339 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `OptionalStructOuter` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1843 | / gen_encode_identity_test!(encodes_nested_struct_fields, [INFO] [stdout] 1844 | | identity_nested_struct_field, [INFO] [stdout] 1845 | | ({ [INFO] [stdout] 1846 | | OptionalStructOuter { [INFO] [stdout] ... | [INFO] [stdout] 1861 | | }) -> bytes("d1:ad1:bi10e1:cl4:true3:nilee1:bi99ee")); [INFO] [stdout] | |___________________________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&OptionalStructOuter` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_encoding` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OptionalStructOuter: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1372:37 [INFO] [stdout] | [INFO] [stdout] 1372 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `OptionalStructOuter` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1843 | / gen_encode_identity_test!(encodes_nested_struct_fields, [INFO] [stdout] 1844 | | identity_nested_struct_field, [INFO] [stdout] 1845 | | ({ [INFO] [stdout] 1846 | | OptionalStructOuter { [INFO] [stdout] ... | [INFO] [stdout] 1861 | | }) -> bytes("d1:ad1:bi10e1:cl4:true3:nilee1:bi99ee")); [INFO] [stdout] | |___________________________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&OptionalStructOuter` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OptionalStructOuter: Decodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1378:22 [INFO] [stdout] | [INFO] [stdout] 1378 | let result = Decodable::decode(&mut decoder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `OptionalStructOuter` [INFO] [stdout] ... [INFO] [stdout] 1843 | / gen_encode_identity_test!(encodes_nested_struct_fields, [INFO] [stdout] 1844 | | identity_nested_struct_field, [INFO] [stdout] 1845 | | ({ [INFO] [stdout] 1846 | | OptionalStructOuter { [INFO] [stdout] ... | [INFO] [stdout] 1861 | | }) -> bytes("d1:ad1:bi10e1:cl4:true3:nilee1:bi99ee")); [INFO] [stdout] | |___________________________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Decodable`: [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 71 others [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OptionalStructOuter: Encodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1372:37 [INFO] [stdout] | [INFO] [stdout] 1372 | let encoded = match encode(&value) { [INFO] [stdout] | ------ ^^^^^ the trait `Encodable` is not implemented for `OptionalStructOuter` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 1843 | / gen_encode_identity_test!(encodes_nested_struct_fields, [INFO] [stdout] 1844 | | identity_nested_struct_field, [INFO] [stdout] 1845 | | ({ [INFO] [stdout] 1846 | | OptionalStructOuter { [INFO] [stdout] ... | [INFO] [stdout] 1861 | | }) -> bytes("d1:ad1:bi10e1:cl4:true3:nilee1:bi99ee")); [INFO] [stdout] | |___________________________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Encodable`: [INFO] [stdout] &'a T [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 77 others [INFO] [stdout] = note: required for `&OptionalStructOuter` to implement `Encodable` [INFO] [stdout] note: required by a bound in `encode` [INFO] [stdout] --> src/bencode.rs:698:18 [INFO] [stdout] | [INFO] [stdout] 698 | pub fn encode(t: T) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `encode` [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OptionalStructOuter: Decodable` is not satisfied [INFO] [stdout] --> src/bencode.rs:1378:22 [INFO] [stdout] | [INFO] [stdout] 1378 | let result = Decodable::decode(&mut decoder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Decodable` is not implemented for `OptionalStructOuter` [INFO] [stdout] ... [INFO] [stdout] 1843 | / gen_encode_identity_test!(encodes_nested_struct_fields, [INFO] [stdout] 1844 | | identity_nested_struct_field, [INFO] [stdout] 1845 | | ({ [INFO] [stdout] 1846 | | OptionalStructOuter { [INFO] [stdout] ... | [INFO] [stdout] 1861 | | }) -> bytes("d1:ad1:bi10e1:cl4:true3:nilee1:bi99ee")); [INFO] [stdout] | |___________________________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Decodable`: [INFO] [stdout] () [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T10, T11) [INFO] [stdout] (T11,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11) [INFO] [stdout] and 71 others [INFO] [stdout] = note: this error originates in the macro `assert_identity` which comes from the expansion of the macro `gen_encode_identity_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `bencode` (lib test) due to 29 previous errors; 44 warnings emitted [INFO] running `Command { std: "docker" "inspect" "afe844ace1d67002a71c28a5a521623161f23d2913917ba4f02105ebc5d301fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afe844ace1d67002a71c28a5a521623161f23d2913917ba4f02105ebc5d301fb", kill_on_drop: false }` [INFO] [stdout] afe844ace1d67002a71c28a5a521623161f23d2913917ba4f02105ebc5d301fb