[INFO] cloning repository https://github.com/jdmichaud/wgrep2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jdmichaud/wgrep2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdmichaud%2Fwgrep2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdmichaud%2Fwgrep2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8ae922fd86e3cff33d59d17ea5ff82553b70a45b
[INFO] checking jdmichaud/wgrep2 against try#e622d8d7bed4f2668d446e06c6c1436ecae15796 for pr-156776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdmichaud%2Fwgrep2" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jdmichaud/wgrep2
[INFO] finished tweaking git repo https://github.com/jdmichaud/wgrep2
[INFO] tweaked toml for git repo https://github.com/jdmichaud/wgrep2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jdmichaud/wgrep2 on toolchain e622d8d7bed4f2668d446e06c6c1436ecae15796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jdmichaud/wgrep2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-traits v0.1.37
[INFO] [stderr]   Downloaded itoa v0.3.1
[INFO] [stderr]   Downloaded serde_codegen_internals v0.14.2
[INFO] [stderr]   Downloaded dtoa v0.4.1
[INFO] [stderr]   Downloaded serde_derive v0.9.12
[INFO] [stderr]   Downloaded serde_json v0.9.9
[INFO] [stderr]   Downloaded syn v0.11.9
[INFO] [stderr]   Downloaded serde v0.9.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a5ad9e5f10f8435181c6d199c5e47b720e8437b6cef923e62134f6365ddc0dc5
[INFO] running `Command { std: "docker" "start" "-a" "a5ad9e5f10f8435181c6d199c5e47b720e8437b6cef923e62134f6365ddc0dc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a5ad9e5f10f8435181c6d199c5e47b720e8437b6cef923e62134f6365ddc0dc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5ad9e5f10f8435181c6d199c5e47b720e8437b6cef923e62134f6365ddc0dc5", kill_on_drop: false }`
[INFO] [stdout] a5ad9e5f10f8435181c6d199c5e47b720e8437b6cef923e62134f6365ddc0dc5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9bd23a168ed3444e02d7b575a1d0f54b57eaecaf4bc325c89781744c6acc8bed
[INFO] running `Command { std: "docker" "start" "-a" "9bd23a168ed3444e02d7b575a1d0f54b57eaecaf4bc325c89781744c6acc8bed", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking dtoa v0.4.1
[INFO] [stderr]     Checking serde v0.9.11
[INFO] [stderr]     Checking num-traits v0.1.37
[INFO] [stderr]     Checking itoa v0.3.1
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling syn v0.11.9
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]    Compiling serde_derive v0.9.12
[INFO] [stderr]     Checking serde_json v0.9.9
[INFO] [stderr]     Checking wgrep v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: comparison operators cannot be chained
[INFO] [stdout]   --> src/wglib/server.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let res = serde_json::from_str<Request>(buffer);
[INFO] [stdout]    |                                   ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let res = serde_json::from_str::<Request>(buffer);
[INFO] [stdout]    |                                   ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: comparison operators cannot be chained
[INFO] [stdout]   --> src/wglib/server.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let res = serde_json::from_str<Request>(buffer);
[INFO] [stdout]    |                                   ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let res = serde_json::from_str::<Request>(buffer);
[INFO] [stdout]    |                                   ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: comparison operators cannot be chained
[INFO] [stdout]   --> src/wglib/server.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |       res = serde_json::from_str<Request>(buffer);
[INFO] [stdout]    |                                 ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
[INFO] [stdout]    |
[INFO] [stdout] 26 |       res = serde_json::from_str::<Request>(buffer);
[INFO] [stdout]    |                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: comparison operators cannot be chained
[INFO] [stdout]   --> src/wglib/server.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |       res = serde_json::from_str<Request>(buffer);
[INFO] [stdout]    |                                 ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
[INFO] [stdout]    |
[INFO] [stdout] 26 |       res = serde_json::from_str::<Request>(buffer);
[INFO] [stdout]    |                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `serde`
[INFO] [stdout]  --> src/wglib/error.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]   |          ^^^^^^^^^ can't find crate
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `serde`
[INFO] [stdout]  --> src/wglib/error.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                     ^^^^^^^^^^^ can't find crate
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/wglib/server.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn poll<F>(&mut self, closure: F) -> () where F: Fn(Request, Fn(&str)) -> () {
[INFO] [stdout]    |   ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/wglib/server.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn send(&mut self, value: Value) -> () {
[INFO] [stdout]    |   ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `wglib::buffer`
[INFO] [stdout]  --> src/wglib/request.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wglib::buffer::*;
[INFO] [stdout]   |            ^^^^^^ could not find `buffer` in `wglib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `serde`
[INFO] [stdout]  --> src/wglib/error.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]   |          ^^^^^^^^^ can't find crate
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `serde`
[INFO] [stdout]  --> src/wglib/error.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                     ^^^^^^^^^^^ can't find crate
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/wglib/server.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn poll<F>(&mut self, closure: F) -> () where F: Fn(Request, Fn(&str)) -> () {
[INFO] [stdout]    |   ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0449]: visibility qualifiers are not permitted here
[INFO] [stdout]   --> src/wglib/server.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn send(&mut self, value: Value) -> () {
[INFO] [stdout]    |   ^^^ help: remove the qualifier
[INFO] [stdout]    |
[INFO] [stdout]    = note: trait items always share the visibility of their trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]  --> src/wglib/request.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |   verb: &str,
[INFO] [stdout]   |         ^ expected named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] 5 ~ struct Request<'a> {
[INFO] [stdout] 6 ~   verb: &'a str,
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `wglib::buffer`
[INFO] [stdout]  --> src/wglib/request.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wglib::buffer::*;
[INFO] [stdout]   |            ^^^^^^ could not find `buffer` in `wglib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]  --> src/wglib/request.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |   verb: &str,
[INFO] [stdout]   |         ^ expected named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] 5 ~ struct Request<'a> {
[INFO] [stdout] 6 ~   verb: &'a str,
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: struct `Request` is private
[INFO] [stdout]  --> src/wglib/server.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wglib::request::Request;
[INFO] [stdout]   |                     ^^^^^^^ private struct
[INFO] [stdout]   |
[INFO] [stdout] note: the struct `Request` is defined here
[INFO] [stdout]  --> src/wglib/request.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Request {
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: struct `Request` is private
[INFO] [stdout]  --> src/wglib/server.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wglib::request::Request;
[INFO] [stdout]   |                     ^^^^^^^ private struct
[INFO] [stdout]   |
[INFO] [stdout] note: the struct `Request` is defined here
[INFO] [stdout]  --> src/wglib/request.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Request {
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/wglib/count.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]  --> src/wglib/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wglib::error::*`
[INFO] [stdout]  --> src/wglib/request.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use wglib::error::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/wglib/error.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde_json::Value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wglib::count::count`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use wglib::count::count;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/wglib/count.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]  --> src/wglib/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wglib::error::*`
[INFO] [stdout]  --> src/wglib/request.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use wglib::error::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/wglib/error.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde_json::Value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wglib::count::count`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use wglib::count::count;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `proc_macro` has been stable since 1.29.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(proc_macro)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `proc_macro` has been stable since 1.29.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(proc_macro)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wglib/server.rs:19:68
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn poll<F>(&mut self, closure: F) -> () where F: Fn(Request, Fn(&str)) -> () {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn poll<F>(&mut self, closure: F) -> () where F: Fn(Request, dyn Fn(&str)) -> () {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/wglib/server.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     where F: Fn(Request, Fn(WGServer, &str)) -> ();
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     where F: Fn(Request, dyn Fn(WGServer, &str)) -> ();
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wglib/server.rs:19:68
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn poll<F>(&mut self, closure: F) -> () where F: Fn(Request, Fn(&str)) -> () {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn poll<F>(&mut self, closure: F) -> () where F: Fn(Request, dyn Fn(&str)) -> () {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/wglib/server.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     where F: Fn(Request, Fn(WGServer, &str)) -> ();
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     where F: Fn(Request, dyn Fn(WGServer, &str)) -> ();
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/wglib/server.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 |     where F: Fn(Request, Fn(WGServer, &str)) -> ();
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     where F: Fn(Request, Fn(dyn WGServer, &str)) -> ();
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/wglib/server.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 |     where F: Fn(Request, Fn(WGServer, &str)) -> ();
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     where F: Fn(Request, Fn(dyn WGServer, &str)) -> ();
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `send` has an incompatible type for trait
[INFO] [stdout]   --> src/wglib/server.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn send(&mut self, value: Value) -> () {
[INFO] [stdout]    |               ^^^^^^^^^ expected `FDServer`, found `&mut FDServer`
[INFO] [stdout]    |
[INFO] [stdout] note: type in trait
[INFO] [stdout]   --> src/wglib/server.rs:9:11
[INFO] [stdout]    |
[INFO] [stdout]  9 |   fn send(self, value: Value) -> ();
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    = note: expected signature `fn(FDServer, Value)`
[INFO] [stdout]               found signature `fn(&mut FDServer, Value)`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]    |
[INFO] [stdout] 32 -   pub fn send(&mut self, value: Value) -> () {
[INFO] [stdout] 32 +   pub fn send(self, value: Value) -> () {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `send` has an incompatible type for trait
[INFO] [stdout]   --> src/wglib/server.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn send(&mut self, value: Value) -> () {
[INFO] [stdout]    |               ^^^^^^^^^ expected `FDServer`, found `&mut FDServer`
[INFO] [stdout]    |
[INFO] [stdout] note: type in trait
[INFO] [stdout]   --> src/wglib/server.rs:9:11
[INFO] [stdout]    |
[INFO] [stdout]  9 |   fn send(self, value: Value) -> ();
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    = note: expected signature `fn(FDServer, Value)`
[INFO] [stdout]               found signature `fn(&mut FDServer, Value)`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]    |
[INFO] [stdout] 32 -   pub fn send(&mut self, value: Value) -> () {
[INFO] [stdout] 32 +   pub fn send(self, value: Value) -> () {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:17:43
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn handle_request(request: Request, send: Fn(FDServer, &str)) -> () {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn handle_request(request: Request, send: dyn Fn(FDServer, &str)) -> () {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:17:43
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn handle_request(request: Request, send: Fn(FDServer, &str)) -> () {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn handle_request(request: Request, send: dyn Fn(FDServer, &str)) -> () {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0053, E0106, E0432, E0449, E0463, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0053`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0053, E0106, E0432, E0449, E0463, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0053`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wgrep` (bin "wgrep") due to 10 previous errors; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `wgrep` (bin "wgrep" test) due to 10 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9bd23a168ed3444e02d7b575a1d0f54b57eaecaf4bc325c89781744c6acc8bed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9bd23a168ed3444e02d7b575a1d0f54b57eaecaf4bc325c89781744c6acc8bed", kill_on_drop: false }`
[INFO] [stdout] 9bd23a168ed3444e02d7b575a1d0f54b57eaecaf4bc325c89781744c6acc8bed
