[INFO] fetching crate rustless 0.10.0...
[INFO] testing rustless-0.10.0 against beta-2021-08-01 for beta-1.55-1
[INFO] extracting crate rustless 0.10.0 into /workspace/builds/worker-2/source
[INFO] validating manifest of crates.io crate rustless 0.10.0 on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rustless 0.10.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rustless 0.10.0
[INFO] tweaked toml for crates.io crate rustless 0.10.0 written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-2/source/tests/namespace.rs
[INFO] [stderr] * /workspace/builds/worker-2/source/tests/serializers.rs
[INFO] [stderr] * /workspace/builds/worker-2/source/tests/versioning.rs
[INFO] [stderr] * /workspace/builds/worker-2/source/tests/params.rs
[INFO] [stderr] * /workspace/builds/worker-2/source/tests/callbacks.rs
[INFO] [stderr] * /workspace/builds/worker-2/source/tests/redirect.rs
[INFO] [stderr] * /workspace/builds/worker-2/source/tests/prefix.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded traitobject v0.0.3
[INFO] [stderr]   Downloaded cookie v0.3.1
[INFO] [stderr]   Downloaded openssl-sys-extras v0.7.14
[INFO] [stderr]   Downloaded valico v1.0.1
[INFO] [stderr]   Downloaded openssl-verify v0.1.0
[INFO] [stderr]   Downloaded queryst v1.0.1
[INFO] [stderr]   Downloaded jsonway v1.0.1
[INFO] [stderr]   Downloaded uuid v0.3.1
[INFO] [stderr]   Downloaded openssl v0.7.14
[INFO] [stderr]   Downloaded bodyparser v0.4.1
[INFO] [stderr]   Downloaded persistent v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 305b8f237afec8dd346e2fbdafc66ad0908bd9d71a048c3b4beebc6cf2ba4903
[INFO] running `Command { std: "docker" "start" "-a" "305b8f237afec8dd346e2fbdafc66ad0908bd9d71a048c3b4beebc6cf2ba4903", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "305b8f237afec8dd346e2fbdafc66ad0908bd9d71a048c3b4beebc6cf2ba4903", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "305b8f237afec8dd346e2fbdafc66ad0908bd9d71a048c3b4beebc6cf2ba4903", kill_on_drop: false }`
[INFO] [stdout] 305b8f237afec8dd346e2fbdafc66ad0908bd9d71a048c3b4beebc6cf2ba4903
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae8a093c574dcb85597c4401e0a10912b269c1875a2d339455dcd20474092958
[INFO] running `Command { std: "docker" "start" "-a" "ae8a093c574dcb85597c4401e0a10912b269c1875a2d339455dcd20474092958", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/tests/namespace.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/serializers.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/versioning.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/params.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/callbacks.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/redirect.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/prefix.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling typeable v0.1.2
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling itoa v0.1.1
[INFO] [stderr]    Compiling dtoa v0.2.2
[INFO] [stderr]    Compiling serde v0.8.23
[INFO] [stderr]    Compiling traitobject v0.0.1
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling modifier v0.1.0
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling traitobject v0.0.3
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling conduit-mime-types v0.7.3
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling num_cpus v0.2.13
[INFO] [stderr]    Compiling hpack v0.2.0
[INFO] [stderr]    Compiling mime v0.2.6
[INFO] [stderr]    Compiling uuid v0.3.1
[INFO] [stderr]    Compiling cookie v0.2.5
[INFO] [stderr]    Compiling cookie v0.3.1
[INFO] [stderr]    Compiling valico v1.0.1
[INFO] [stderr]    Compiling unsafe-any v0.4.2
[INFO] [stderr]    Compiling error v0.1.9
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling solicit v0.4.4
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling typemap v0.3.3
[INFO] [stderr]    Compiling plugin v0.2.6
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling hyper v0.9.18
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling serde_json v0.8.6
[INFO] [stderr]    Compiling iron v0.4.0
[INFO] [stderr]    Compiling jsonway v1.0.1
[INFO] [stderr]    Compiling queryst v1.0.1
[INFO] [stderr]    Compiling persistent v0.2.1
[INFO] [stderr]    Compiling bodyparser v0.4.1
[INFO] [stderr]    Compiling rustless v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/errors.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub error: Box<Error + Send>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub error: Box<Error + Send>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Body for Box<io::Read + 'static> { }
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Read + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn url(&self) -> &AsUrl;
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn body(&self) -> &Body;
[INFO] [stdout]    |                        ^^^^ help: use `dyn`: `dyn Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:33:36
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn body_mut(&mut self) -> &mut Body;
[INFO] [stdout]    |                                    ^^^^ help: use `dyn`: `dyn Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:35:61
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>>;
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub body: Box<io::Read + 'static>
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Read + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn url(&self) -> &AsUrl {
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn body(&self) -> &request::Body {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:47:36
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn body_mut(&mut self) -> &mut request::Body {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:51:61
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:56:49
[INFO] [stdout]    |
[INFO] [stdout] 56 |             .map_err(|err| Box::new(err) as Box<errors::Error + Send>)
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/simple_request.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |         self.body = Box::new(try!(File::open(path)));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         try!(writeln!(f, "SimpleRequest ->"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         try!(writeln!(f, "  url: {}", self.url));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         try!(writeln!(f, "  method: {}", self.method()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         try!(writeln!(f, "  path: {:?}", self.url.path()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(writeln!(f, "  query: {:?}", self.url.query()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         try!(writeln!(f, "  remote_addr: {}", self.remote_addr()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub body: Option<Box<WriteBody>>,
[INFO] [stdout]    |                          ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from(status: status::StatusCode, body: Box<WriteBody>) -> Response {
[INFO] [stdout]    |                                                       ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:56:46
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn replace_body(&mut self, body: Box<WriteBody>) {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn url(&self) -> &backend::AsUrl { &self.url }
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn body(&self) -> &request::Body { &self.body }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn body_mut(&mut self) -> &mut request::Body { &mut self.body }
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:51:61
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:52:74
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.get::<bodyparser::Raw>().map_err(|err| Box::new(err) as Box<errors::Error + Send>)
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/nesting.rs:129:95
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn call_handlers<'a, 'r>(&'a self, rest_path: &str, params: &mut JsonValue, req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                                                                                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/nesting.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |             --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut JsonValue`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:57
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...ue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<backend::Response>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'b mut (backend::Request + 'b)`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:90
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...d::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<backend::Response>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut CallInfo<'a>`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:11:66
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'b`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl ApiHandler {
[INFO] [stdout]    |      ^^^^^^^^^^ help: use `dyn`: `dyn ApiHandler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub type ApiHandlers = Vec<Box<ApiHandler + Send + Sync>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ApiHandler + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |     where F: Fn(&errors::Error, &media::Media) -> Option<backend::Response> + Send+Sync {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api.rs:89:34
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn handle_error(&self, err: &errors::Error, media: &media::Media) -> Option<backend::Response>  {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/api.rs:100:35
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn extract_media(&self, req: &backend::Request) -> Option<media::Media> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/api.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                    return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                               --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:146:35
[INFO] [stdout]     |
[INFO] [stdout] 146 |                        return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                   --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         _ => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                         --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:175:44
[INFO] [stdout]     |
[INFO] [stdout] 175 | ...                   return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                  --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:180:44
[INFO] [stdout]     |
[INFO] [stdout] 180 |                         None => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                            --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:192:36
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 None => return Err(error_response!(errors::NotAcceptable))
[INFO] [stdout]     |                                    -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/endpoint.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...er = Box<for<'a> Fn(framework::Client<'a>, &JsonValue) -> backend::HandleResult<framework::Client<'a>> + 'static + Sync>;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Fn(framework::Client<'a>, &JsonValue) -> backend::HandleResult<framework::Client<'a>> + 'static + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/endpoint.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type EndpointBuilder = FnOnce(&mut Endpoint) -> EndpointHandlerPresent + 'static;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnOnce(&mut Endpoint) -> EndpointHandlerPresent + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Err(error_response!(errors::Validation{ reason: state.errors }))
[INFO] [stdout]     |                     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(self.validate(params, info.app.ext.get::<schemes::SchemesScope>()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/endpoint.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |         req: &'a mut (backend::Request + 'a),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(Endpoint::call_callbacks(parent.get_before(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(Endpoint::call_callbacks(parent.get_before_validation(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             try!(Endpoint::call_callbacks(parent.get_after_validation(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut client = try!((handler.unwrap())(client, params));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             try!(Endpoint::call_callbacks(parent.get_after(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |             try!(cb(client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/endpoint.rs:156:23
[INFO] [stdout]     |
[INFO] [stdout] 156 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:161:24
[INFO] [stdout]     |
[INFO] [stdout] 161 |             return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                        --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |             None => Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                         --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/namespace.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Err(error_response!(errors::Validation{ reason: state.errors }))
[INFO] [stdout]    |                     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/framework/namespace.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         try!(self.validate(params, info.app.ext.get::<schemes::SchemesScope>()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/namespace.rs:76:23
[INFO] [stdout]    |
[INFO] [stdout] 76 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/namespace.rs:86:32
[INFO] [stdout]    |
[INFO] [stdout] 86 |             None => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]    |                                --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/client.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub request: &'a mut (backend::Request + 'a),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/client.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |                request: &'a mut (backend::Request + 'r), media: &'a media::Media) -> Client<'a> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/client.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         Err(error_response!(error))
[INFO] [stdout]    |             ---------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/client.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 return Err(error_response!(errors::File(err)));
[INFO] [stdout]     |                            ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/client.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 return Err(error_response!(errors::File(err)));
[INFO] [stdout]     |                            ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn call_internal<'a>(&self, req: &'a mut (backend::Request + 'a)) -> backend::HandleResult<backend::Response> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn call<'a>(&self, req: &'a mut (backend::Request + 'a)) -> backend::HandleResultStrict<backend::Response> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:50:52
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     let response = if (&*error as &errors::Error).is::<errors::NotMatch>() {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:54:44
[INFO] [stdout]    |
[INFO] [stdout] 54 |                     } else if (&*error as &errors::Error).is::<errors::Validation>() {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/app.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |             return Err(error_response!(errors::QueryString));
[INFO] [stdout]    |                        ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn parse_json_body(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/framework/app.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let maybe_body = try!(req.read_to_end().map_err(|err| error_response_boxed!(err)))
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/app.rs:116:34
[INFO] [stdout]     |
[INFO] [stdout] 116 |             Err(e) => return Err(error_response!(errors::Body::new(format!("Invalid JSON: {}", e))))
[INFO] [stdout]     |                                  ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/app.rs:123:36
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn parse_urlencoded_body(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:124:22
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let maybe_body = try!(req.read_to_end().map_err(|err| error_response_boxed!(err)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/app.rs:142:34
[INFO] [stdout]     |
[INFO] [stdout] 142 |             Err(_) => return Err(error_response!(errors::Body::new(format!("Invalid encoded data"))))
[INFO] [stdout]     |                                  ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/app.rs:149:28
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn parse_request(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         try!(parse_query(&req.url().query().as_ref().unwrap(), params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         try!(parse_json_body(req, params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         try!(parse_urlencoded_body(req, params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub parents: Vec<&'a (nesting::Node + 'static)>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn nesting::Node + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type Callback = Box<for<'a> Fn(&'a mut client::Client, &JsonValue) -> backend::HandleSuccessResult + 'static + Sync + Send>;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Fn(&'a mut client::Client, &JsonValue) -> backend::HandleSuccessResult + 'static + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ErrorFormatter = Box<Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ErrorFormatter = Box<Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/cookie.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'r> CookieExt for (backend::Request + 'r) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/cookie.rs:53:38
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let maybe_jar = (req as &mut backend::Request).find_cookie_jar();
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/batteries/swagger.rs:433:39
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let handler = &**handler_ as &framework::ApiHandler;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn framework::ApiHandler`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/schemes.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut handler = &mut **handler_ as &mut framework::ApiHandler;
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn framework::ApiHandler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             try!(build_schemes(&mut api.handlers, scope))
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             try!(build_schemes(&mut namespace.handlers, scope));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 try!(coercer.build_schemes(scope));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 try!(coercer.build_schemes(scope));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     try!(build_schemes(&mut app.root_api.handlers, &mut scope));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/framework/media.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | / lazy_static! {
[INFO] [stdout] 5 | |     static ref MEDIA_REGEX: regex::Regex = regex::Regex::new(r"vnd\.(?P<vendor>[a-zA-Z_-]+)(?:\.(?P<version>[a-zA-Z0-9]+)(?:\.(?P<param>[...
[INFO] [stdout] 6 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/framework/path.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | / lazy_static! {
[INFO] [stdout] 8 | |     pub static ref MATCHER: regex::Regex = regex::Regex::new(r":([a-z][a-z_]*)").unwrap();
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/batteries/swagger.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 | impl_basic_err!(NotMatch, "NotMatch");
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 | impl_basic_err!(NotFound, "NotFound");
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 | impl_basic_err!(QueryString, "QueryString");
[INFO] [stdout]    | -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 | impl_basic_err!(Validation, "Validation");
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 | impl_basic_err!(Body, "Body");
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 | impl_basic_err!(File, "File");
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 | impl_basic_err!(NotAcceptable, "NotAcceptable");
[INFO] [stdout]    | ------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/nesting.rs:136:25
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     if !errors::Error::is::<errors::NotMatch>(&*error_response.error) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: use `dyn`: `<dyn errors::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/batteries/swagger.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/batteries/schemes.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut handler = &mut **handler_ as &mut framework::ApiHandler;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 111 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8.71s
[INFO] running `Command { std: "docker" "inspect" "ae8a093c574dcb85597c4401e0a10912b269c1875a2d339455dcd20474092958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae8a093c574dcb85597c4401e0a10912b269c1875a2d339455dcd20474092958", kill_on_drop: false }`
[INFO] [stdout] ae8a093c574dcb85597c4401e0a10912b269c1875a2d339455dcd20474092958
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e2839cced3f9aad021860ff2f671e14d1c62b532dd79dfc3309abcaaf3c2f689
[INFO] running `Command { std: "docker" "start" "-a" "e2839cced3f9aad021860ff2f671e14d1c62b532dd79dfc3309abcaaf3c2f689", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/tests/namespace.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/serializers.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/versioning.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/params.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/callbacks.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/redirect.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/prefix.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/errors.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub error: Box<Error + Send>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub error: Box<Error + Send>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Body for Box<io::Read + 'static> { }
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Read + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn url(&self) -> &AsUrl;
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn body(&self) -> &Body;
[INFO] [stdout]    |                        ^^^^ help: use `dyn`: `dyn Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:33:36
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn body_mut(&mut self) -> &mut Body;
[INFO] [stdout]    |                                    ^^^^ help: use `dyn`: `dyn Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:35:61
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>>;
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub body: Box<io::Read + 'static>
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Read + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn url(&self) -> &AsUrl {
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn body(&self) -> &request::Body {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:47:36
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn body_mut(&mut self) -> &mut request::Body {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:51:61
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:56:49
[INFO] [stdout]    |
[INFO] [stdout] 56 |             .map_err(|err| Box::new(err) as Box<errors::Error + Send>)
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/simple_request.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |         self.body = Box::new(try!(File::open(path)));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         try!(writeln!(f, "SimpleRequest ->"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         try!(writeln!(f, "  url: {}", self.url));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         try!(writeln!(f, "  method: {}", self.method()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         try!(writeln!(f, "  path: {:?}", self.url.path()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(writeln!(f, "  query: {:?}", self.url.query()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         try!(writeln!(f, "  remote_addr: {}", self.remote_addr()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub body: Option<Box<WriteBody>>,
[INFO] [stdout]    |                          ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from(status: status::StatusCode, body: Box<WriteBody>) -> Response {
[INFO] [stdout]    |                                                       ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:56:46
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn replace_body(&mut self, body: Box<WriteBody>) {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn url(&self) -> &backend::AsUrl { &self.url }
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn body(&self) -> &request::Body { &self.body }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn body_mut(&mut self) -> &mut request::Body { &mut self.body }
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:51:61
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:52:74
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.get::<bodyparser::Raw>().map_err(|err| Box::new(err) as Box<errors::Error + Send>)
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/nesting.rs:129:95
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn call_handlers<'a, 'r>(&'a self, rest_path: &str, params: &mut JsonValue, req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                                                                                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/nesting.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |             --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut JsonValue`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:57
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...ue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<backend::Response>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'b mut (backend::Request + 'b)`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:90
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...d::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<backend::Response>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut CallInfo<'a>`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:11:66
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'b`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl ApiHandler {
[INFO] [stdout]    |      ^^^^^^^^^^ help: use `dyn`: `dyn ApiHandler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub type ApiHandlers = Vec<Box<ApiHandler + Send + Sync>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ApiHandler + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |     where F: Fn(&errors::Error, &media::Media) -> Option<backend::Response> + Send+Sync {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api.rs:89:34
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn handle_error(&self, err: &errors::Error, media: &media::Media) -> Option<backend::Response>  {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/api.rs:100:35
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn extract_media(&self, req: &backend::Request) -> Option<media::Media> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/api.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                    return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                               --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:146:35
[INFO] [stdout]     |
[INFO] [stdout] 146 |                        return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                   --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         _ => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                         --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:175:44
[INFO] [stdout]     |
[INFO] [stdout] 175 | ...                   return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                  --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:180:44
[INFO] [stdout]     |
[INFO] [stdout] 180 |                         None => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                            --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:192:36
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 None => return Err(error_response!(errors::NotAcceptable))
[INFO] [stdout]     |                                    -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/endpoint.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...er = Box<for<'a> Fn(framework::Client<'a>, &JsonValue) -> backend::HandleResult<framework::Client<'a>> + 'static + Sync>;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Fn(framework::Client<'a>, &JsonValue) -> backend::HandleResult<framework::Client<'a>> + 'static + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/endpoint.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type EndpointBuilder = FnOnce(&mut Endpoint) -> EndpointHandlerPresent + 'static;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnOnce(&mut Endpoint) -> EndpointHandlerPresent + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Err(error_response!(errors::Validation{ reason: state.errors }))
[INFO] [stdout]     |                     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(self.validate(params, info.app.ext.get::<schemes::SchemesScope>()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/endpoint.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |         req: &'a mut (backend::Request + 'a),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(Endpoint::call_callbacks(parent.get_before(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(Endpoint::call_callbacks(parent.get_before_validation(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             try!(Endpoint::call_callbacks(parent.get_after_validation(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut client = try!((handler.unwrap())(client, params));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             try!(Endpoint::call_callbacks(parent.get_after(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |             try!(cb(client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/endpoint.rs:156:23
[INFO] [stdout]     |
[INFO] [stdout] 156 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:161:24
[INFO] [stdout]     |
[INFO] [stdout] 161 |             return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                        --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |             None => Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                         --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/namespace.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Err(error_response!(errors::Validation{ reason: state.errors }))
[INFO] [stdout]    |                     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/framework/namespace.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         try!(self.validate(params, info.app.ext.get::<schemes::SchemesScope>()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/namespace.rs:76:23
[INFO] [stdout]    |
[INFO] [stdout] 76 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/namespace.rs:86:32
[INFO] [stdout]    |
[INFO] [stdout] 86 |             None => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]    |                                --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/client.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub request: &'a mut (backend::Request + 'a),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/client.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |                request: &'a mut (backend::Request + 'r), media: &'a media::Media) -> Client<'a> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/client.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         Err(error_response!(error))
[INFO] [stdout]    |             ---------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/client.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 return Err(error_response!(errors::File(err)));
[INFO] [stdout]     |                            ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/client.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 return Err(error_response!(errors::File(err)));
[INFO] [stdout]     |                            ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn call_internal<'a>(&self, req: &'a mut (backend::Request + 'a)) -> backend::HandleResult<backend::Response> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn call<'a>(&self, req: &'a mut (backend::Request + 'a)) -> backend::HandleResultStrict<backend::Response> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:50:52
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     let response = if (&*error as &errors::Error).is::<errors::NotMatch>() {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:54:44
[INFO] [stdout]    |
[INFO] [stdout] 54 |                     } else if (&*error as &errors::Error).is::<errors::Validation>() {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/app.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |             return Err(error_response!(errors::QueryString));
[INFO] [stdout]    |                        ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn parse_json_body(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/framework/app.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let maybe_body = try!(req.read_to_end().map_err(|err| error_response_boxed!(err)))
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/app.rs:116:34
[INFO] [stdout]     |
[INFO] [stdout] 116 |             Err(e) => return Err(error_response!(errors::Body::new(format!("Invalid JSON: {}", e))))
[INFO] [stdout]     |                                  ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/app.rs:123:36
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn parse_urlencoded_body(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:124:22
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let maybe_body = try!(req.read_to_end().map_err(|err| error_response_boxed!(err)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/app.rs:142:34
[INFO] [stdout]     |
[INFO] [stdout] 142 |             Err(_) => return Err(error_response!(errors::Body::new(format!("Invalid encoded data"))))
[INFO] [stdout]     |                                  ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/app.rs:149:28
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn parse_request(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         try!(parse_query(&req.url().query().as_ref().unwrap(), params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         try!(parse_json_body(req, params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         try!(parse_urlencoded_body(req, params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub parents: Vec<&'a (nesting::Node + 'static)>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn nesting::Node + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type Callback = Box<for<'a> Fn(&'a mut client::Client, &JsonValue) -> backend::HandleSuccessResult + 'static + Sync + Send>;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Fn(&'a mut client::Client, &JsonValue) -> backend::HandleSuccessResult + 'static + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ErrorFormatter = Box<Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ErrorFormatter = Box<Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/cookie.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'r> CookieExt for (backend::Request + 'r) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/cookie.rs:53:38
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let maybe_jar = (req as &mut backend::Request).find_cookie_jar();
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/batteries/swagger.rs:433:39
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let handler = &**handler_ as &framework::ApiHandler;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn framework::ApiHandler`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/schemes.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut handler = &mut **handler_ as &mut framework::ApiHandler;
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn framework::ApiHandler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustless v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             try!(build_schemes(&mut api.handlers, scope))
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             try!(build_schemes(&mut namespace.handlers, scope));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 try!(coercer.build_schemes(scope));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 try!(coercer.build_schemes(scope));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     try!(build_schemes(&mut app.root_api.handlers, &mut scope));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/framework/media.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | / lazy_static! {
[INFO] [stdout] 5 | |     static ref MEDIA_REGEX: regex::Regex = regex::Regex::new(r"vnd\.(?P<vendor>[a-zA-Z_-]+)(?:\.(?P<version>[a-zA-Z0-9]+)(?:\.(?P<param>[...
[INFO] [stdout] 6 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/framework/path.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | / lazy_static! {
[INFO] [stdout] 8 | |     pub static ref MATCHER: regex::Regex = regex::Regex::new(r":([a-z][a-z_]*)").unwrap();
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/batteries/swagger.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 | impl_basic_err!(NotMatch, "NotMatch");
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 | impl_basic_err!(NotFound, "NotFound");
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 | impl_basic_err!(QueryString, "QueryString");
[INFO] [stdout]    | -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 | impl_basic_err!(Validation, "Validation");
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 | impl_basic_err!(Body, "Body");
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 | impl_basic_err!(File, "File");
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 | impl_basic_err!(NotAcceptable, "NotAcceptable");
[INFO] [stdout]    | ------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/nesting.rs:136:25
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     if !errors::Error::is::<errors::NotMatch>(&*error_response.error) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: use `dyn`: `<dyn errors::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/batteries/swagger.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/batteries/schemes.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut handler = &mut **handler_ as &mut framework::ApiHandler;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 111 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> examples/simple.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/simple.rs:97:63
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     error: Box::new(UnauthorizedError) as Box<Error + Send>,
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/errors.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub error: Box<Error + Send>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub error: Box<Error + Send>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Body for Box<io::Read + 'static> { }
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Read + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn url(&self) -> &AsUrl;
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn body(&self) -> &Body;
[INFO] [stdout]    |                        ^^^^ help: use `dyn`: `dyn Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:33:36
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn body_mut(&mut self) -> &mut Body;
[INFO] [stdout]    |                                    ^^^^ help: use `dyn`: `dyn Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/request.rs:35:61
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>>;
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub body: Box<io::Read + 'static>
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Read + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn url(&self) -> &AsUrl {
[INFO] [stdout]    |                       ^^^^^ help: use `dyn`: `dyn AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn body(&self) -> &request::Body {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:47:36
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn body_mut(&mut self) -> &mut request::Body {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:51:61
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/simple_request.rs:56:49
[INFO] [stdout]    |
[INFO] [stdout] 56 |             .map_err(|err| Box::new(err) as Box<errors::Error + Send>)
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/simple_request.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |         self.body = Box::new(try!(File::open(path)));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         try!(writeln!(f, "SimpleRequest ->"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         try!(writeln!(f, "  url: {}", self.url));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         try!(writeln!(f, "  method: {}", self.method()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         try!(writeln!(f, "  path: {:?}", self.url.path()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(writeln!(f, "  query: {:?}", self.url.query()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/backend/simple_request.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         try!(writeln!(f, "  remote_addr: {}", self.remote_addr()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub body: Option<Box<WriteBody>>,
[INFO] [stdout]    |                          ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from(status: status::StatusCode, body: Box<WriteBody>) -> Response {
[INFO] [stdout]    |                                                       ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/response.rs:56:46
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn replace_body(&mut self, body: Box<WriteBody>) {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn url(&self) -> &backend::AsUrl { &self.url }
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::AsUrl`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn body(&self) -> &request::Body { &self.body }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn body_mut(&mut self) -> &mut request::Body { &mut self.body }
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:51:61
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/iron.rs:52:74
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.get::<bodyparser::Raw>().map_err(|err| Box::new(err) as Box<errors::Error + Send>)
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/nesting.rs:129:95
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn call_handlers<'a, 'r>(&'a self, rest_path: &str, params: &mut JsonValue, req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                                                                                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/nesting.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |             --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut JsonValue`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:57
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...ue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<backend::Response>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'b mut (backend::Request + 'b)`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/framework/api_handler.rs:11:90
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...d::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<backend::Response>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut CallInfo<'a>`
[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 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:11:66
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'b`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl ApiHandler {
[INFO] [stdout]    |      ^^^^^^^^^^ help: use `dyn`: `dyn ApiHandler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api_handler.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub type ApiHandlers = Vec<Box<ApiHandler + Send + Sync>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ApiHandler + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |     where F: Fn(&errors::Error, &media::Media) -> Option<backend::Response> + Send+Sync {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/api.rs:89:34
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn handle_error(&self, err: &errors::Error, media: &media::Media) -> Option<backend::Response>  {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/api.rs:100:35
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn extract_media(&self, req: &backend::Request) -> Option<media::Media> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/api.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                    return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                               --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:146:35
[INFO] [stdout]     |
[INFO] [stdout] 146 |                        return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                   --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         _ => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                         --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:175:44
[INFO] [stdout]     |
[INFO] [stdout] 175 | ...                   return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                  --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:180:44
[INFO] [stdout]     |
[INFO] [stdout] 180 |                         None => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                                            --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/api.rs:192:36
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 None => return Err(error_response!(errors::NotAcceptable))
[INFO] [stdout]     |                                    -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/endpoint.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...er = Box<for<'a> Fn(framework::Client<'a>, &JsonValue) -> backend::HandleResult<framework::Client<'a>> + 'static + Sync>;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Fn(framework::Client<'a>, &JsonValue) -> backend::HandleResult<framework::Client<'a>> + 'static + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/endpoint.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type EndpointBuilder = FnOnce(&mut Endpoint) -> EndpointHandlerPresent + 'static;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnOnce(&mut Endpoint) -> EndpointHandlerPresent + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Err(error_response!(errors::Validation{ reason: state.errors }))
[INFO] [stdout]     |                     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(self.validate(params, info.app.ext.get::<schemes::SchemesScope>()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/endpoint.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |         req: &'a mut (backend::Request + 'a),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(Endpoint::call_callbacks(parent.get_before(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             try!(Endpoint::call_callbacks(parent.get_before_validation(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             try!(Endpoint::call_callbacks(parent.get_after_validation(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut client = try!((handler.unwrap())(client, params));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             try!(Endpoint::call_callbacks(parent.get_after(), &mut client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/endpoint.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |             try!(cb(client, params));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/endpoint.rs:156:23
[INFO] [stdout]     |
[INFO] [stdout] 156 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:161:24
[INFO] [stdout]     |
[INFO] [stdout] 161 |             return Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                        --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/endpoint.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |             None => Err(error_response!(errors::NotMatch))
[INFO] [stdout]     |                         --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/namespace.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Err(error_response!(errors::Validation{ reason: state.errors }))
[INFO] [stdout]    |                     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/framework/namespace.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         try!(self.validate(params, info.app.ext.get::<schemes::SchemesScope>()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/namespace.rs:76:23
[INFO] [stdout]    |
[INFO] [stdout] 76 |         req: &'r mut (backend::Request + 'r),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/namespace.rs:86:32
[INFO] [stdout]    |
[INFO] [stdout] 86 |             None => return Err(error_response!(errors::NotMatch))
[INFO] [stdout]    |                                --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/client.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub request: &'a mut (backend::Request + 'a),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/client.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |                request: &'a mut (backend::Request + 'r), media: &'a media::Media) -> Client<'a> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/client.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         Err(error_response!(error))
[INFO] [stdout]    |             ---------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/client.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 return Err(error_response!(errors::File(err)));
[INFO] [stdout]     |                            ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/client.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 return Err(error_response!(errors::File(err)));
[INFO] [stdout]     |                            ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn call_internal<'a>(&self, req: &'a mut (backend::Request + 'a)) -> backend::HandleResult<backend::Response> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn call<'a>(&self, req: &'a mut (backend::Request + 'a)) -> backend::HandleResultStrict<backend::Response> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:50:52
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     let response = if (&*error as &errors::Error).is::<errors::NotMatch>() {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:54:44
[INFO] [stdout]    |
[INFO] [stdout] 54 |                     } else if (&*error as &errors::Error).is::<errors::Validation>() {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/framework/app.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |             return Err(error_response!(errors::QueryString));
[INFO] [stdout]    |                        ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/app.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn parse_json_body(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/framework/app.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let maybe_body = try!(req.read_to_end().map_err(|err| error_response_boxed!(err)))
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/app.rs:116:34
[INFO] [stdout]     |
[INFO] [stdout] 116 |             Err(e) => return Err(error_response!(errors::Body::new(format!("Invalid JSON: {}", e))))
[INFO] [stdout]     |                                  ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/app.rs:123:36
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn parse_urlencoded_body(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:124:22
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let maybe_body = try!(req.read_to_end().map_err(|err| error_response_boxed!(err)))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/framework/app.rs:142:34
[INFO] [stdout]     |
[INFO] [stdout] 142 |             Err(_) => return Err(error_response!(errors::Body::new(format!("Invalid encoded data"))))
[INFO] [stdout]     |                                  ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/app.rs:149:28
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn parse_request(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         try!(parse_query(&req.url().query().as_ref().unwrap(), params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         try!(parse_json_body(req, params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/framework/app.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         try!(parse_urlencoded_body(req, params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub parents: Vec<&'a (nesting::Node + 'static)>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn nesting::Node + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type Callback = Box<for<'a> Fn(&'a mut client::Client, &JsonValue) -> backend::HandleSuccessResult + 'static + Sync + Send>;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Fn(&'a mut client::Client, &JsonValue) -> backend::HandleSuccessResult + 'static + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ErrorFormatter = Box<Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/framework/mod.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ErrorFormatter = Box<Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/cookie.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'r> CookieExt for (backend::Request + 'r) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/cookie.rs:53:38
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let maybe_jar = (req as &mut backend::Request).find_cookie_jar();
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/batteries/swagger.rs:433:39
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let handler = &**handler_ as &framework::ApiHandler;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn framework::ApiHandler`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/batteries/schemes.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut handler = &mut **handler_ as &mut framework::ApiHandler;
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn framework::ApiHandler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             try!(build_schemes(&mut api.handlers, scope))
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             try!(build_schemes(&mut namespace.handlers, scope));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 try!(coercer.build_schemes(scope));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 try!(coercer.build_schemes(scope));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/batteries/schemes.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     try!(build_schemes(&mut app.root_api.handlers, &mut scope));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/tests.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/callbacks.rs:54:63
[INFO] [stdout]    |
[INFO] [stdout] 54 |                     error: Box::new(UnauthorizedError) as Box<Error + Send>,
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> examples/simple.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.description().fmt(formatter)
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/framework/media.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | / lazy_static! {
[INFO] [stdout] 5 | |     static ref MEDIA_REGEX: regex::Regex = regex::Regex::new(r"vnd\.(?P<vendor>[a-zA-Z_-]+)(?:\.(?P<version>[a-zA-Z0-9]+)(?:\.(?P<param>[...
[INFO] [stdout] 6 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/framework/path.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | / lazy_static! {
[INFO] [stdout] 8 | |     pub static ref MATCHER: regex::Regex = regex::Regex::new(r":([a-z][a-z_]*)").unwrap();
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/batteries/swagger.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> tests/callbacks.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 |         self.description().fmt(formatter)
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 | impl_basic_err!(NotMatch, "NotMatch");
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 | impl_basic_err!(NotFound, "NotFound");
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 | impl_basic_err!(QueryString, "QueryString");
[INFO] [stdout]    | -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 | impl_basic_err!(Validation, "Validation");
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 | impl_basic_err!(Body, "Body");
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 | impl_basic_err!(File, "File");
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 self.description().fmt(formatter)
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 | impl_basic_err!(NotAcceptable, "NotAcceptable");
[INFO] [stdout]    | ------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/framework/nesting.rs:136:25
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     if !errors::Error::is::<errors::NotMatch>(&*error_response.error) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: use `dyn`: `<dyn errors::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/batteries/swagger.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/batteries/schemes.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut handler = &mut **handler_ as &mut framework::ApiHandler;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 111 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.32s
[INFO] running `Command { std: "docker" "inspect" "e2839cced3f9aad021860ff2f671e14d1c62b532dd79dfc3309abcaaf3c2f689", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2839cced3f9aad021860ff2f671e14d1c62b532dd79dfc3309abcaaf3c2f689", kill_on_drop: false }`
[INFO] [stdout] e2839cced3f9aad021860ff2f671e14d1c62b532dd79dfc3309abcaaf3c2f689
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3d0ab31601b3d4e96baf214d0d14e867a34f033e8ef6f623dcf96a6376a72fe5
[INFO] running `Command { std: "docker" "start" "-a" "3d0ab31601b3d4e96baf214d0d14e867a34f033e8ef6f623dcf96a6376a72fe5", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/tests/namespace.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/serializers.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/versioning.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/params.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/callbacks.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/redirect.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/prefix.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/errors.rs:9:20
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub error: Box<Error + Send>,
[INFO] [stderr]   |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/errors.rs:14:20
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub error: Box<Error + Send>,
[INFO] [stderr]    |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/request.rs:14:19
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Body for Box<io::Read + 'static> { }
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Read + 'static`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/request.rs:31:23
[INFO] [stderr]    |
[INFO] [stderr] 31 |     fn url(&self) -> &AsUrl;
[INFO] [stderr]    |                       ^^^^^ help: use `dyn`: `dyn AsUrl`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/request.rs:32:24
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn body(&self) -> &Body;
[INFO] [stderr]    |                        ^^^^ help: use `dyn`: `dyn Body`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/request.rs:33:36
[INFO] [stderr]    |
[INFO] [stderr] 33 |     fn body_mut(&mut self) -> &mut Body;
[INFO] [stderr]    |                                    ^^^^ help: use `dyn`: `dyn Body`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/request.rs:35:61
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>>;
[INFO] [stderr]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/simple_request.rs:22:19
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub body: Box<io::Read + 'static>
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Read + 'static`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/simple_request.rs:27:23
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn url(&self) -> &AsUrl {
[INFO] [stderr]    |                       ^^^^^ help: use `dyn`: `dyn AsUrl`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/simple_request.rs:43:24
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn body(&self) -> &request::Body {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/simple_request.rs:47:36
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn body_mut(&mut self) -> &mut request::Body {
[INFO] [stderr]    |                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/simple_request.rs:51:61
[INFO] [stderr]    |
[INFO] [stderr] 51 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>> {
[INFO] [stderr]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/simple_request.rs:56:49
[INFO] [stderr]    |
[INFO] [stderr] 56 |             .map_err(|err| Box::new(err) as Box<errors::Error + Send>)
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/backend/simple_request.rs:99:30
[INFO] [stderr]    |
[INFO] [stderr] 99 |         self.body = Box::new(try!(File::open(path)));
[INFO] [stderr]    |                              ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/backend/simple_request.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |         try!(writeln!(f, "SimpleRequest ->"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/backend/simple_request.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 |         try!(writeln!(f, "  url: {}", self.url));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/backend/simple_request.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 112 |         try!(writeln!(f, "  method: {}", self.method()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/backend/simple_request.rs:113:9
[INFO] [stderr]     |
[INFO] [stderr] 113 |         try!(writeln!(f, "  path: {:?}", self.url.path()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/backend/simple_request.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |         try!(writeln!(f, "  query: {:?}", self.url.query()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/backend/simple_request.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 115 |         try!(writeln!(f, "  remote_addr: {}", self.remote_addr()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/response.rs:14:26
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub body: Option<Box<WriteBody>>,
[INFO] [stderr]    |                          ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/response.rs:30:55
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn from(status: status::StatusCode, body: Box<WriteBody>) -> Response {
[INFO] [stderr]    |                                                       ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/response.rs:56:46
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub fn replace_body(&mut self, body: Box<WriteBody>) {
[INFO] [stderr]    |                                              ^^^^^^^^^ help: use `dyn`: `dyn WriteBody`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/iron.rs:48:23
[INFO] [stderr]    |
[INFO] [stderr] 48 |     fn url(&self) -> &backend::AsUrl { &self.url }
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::AsUrl`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/iron.rs:49:24
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn body(&self) -> &request::Body { &self.body }
[INFO] [stderr]    |                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/iron.rs:50:36
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn body_mut(&mut self) -> &mut request::Body { &mut self.body }
[INFO] [stderr]    |                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn request::Body`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/iron.rs:51:61
[INFO] [stderr]    |
[INFO] [stderr] 51 |     fn read_to_end(&mut self) -> Result<Option<String>, Box<errors::Error + Send>> {
[INFO] [stderr]    |                                                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/iron.rs:52:74
[INFO] [stderr]    |
[INFO] [stderr] 52 |         self.get::<bodyparser::Raw>().map_err(|err| Box::new(err) as Box<errors::Error + Send>)
[INFO] [stderr]    |                                                                          ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/framework/nesting.rs:129:95
[INFO] [stderr]     |
[INFO] [stderr] 129 |     fn call_handlers<'a, 'r>(&'a self, rest_path: &str, params: &mut JsonValue, req: &'r mut (backend::Request + 'r),
[INFO] [stderr]     |                                                                                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/nesting.rs:143:13
[INFO] [stderr]     |
[INFO] [stderr] 143 |         Err(error_response!(errors::NotMatch))
[INFO] [stderr]     |             --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stderr]   --> src/framework/api_handler.rs:11:35
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stderr]    |                                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stderr]   --> src/framework/api_handler.rs:11:41
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut JsonValue`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stderr]   --> src/framework/api_handler.rs:11:57
[INFO] [stderr]    |
[INFO] [stderr] 11 | ...ue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<backend::Response>;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'b mut (backend::Request + 'b)`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stderr]   --> src/framework/api_handler.rs:11:90
[INFO] [stderr]    |
[INFO] [stderr] 11 | ...d::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<backend::Response>;
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut CallInfo<'a>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/api_handler.rs:11:66
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fn api_call<'a, 'b>(&'a self, &str, &mut JsonValue, &'b mut (backend::Request + 'b), &mut CallInfo<'a>) -> backend::HandleResult<back...
[INFO] [stderr]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'b`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/api_handler.rs:14:6
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl ApiHandler {
[INFO] [stderr]    |      ^^^^^^^^^^ help: use `dyn`: `dyn ApiHandler`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/api_handler.rs:49:32
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub type ApiHandlers = Vec<Box<ApiHandler + Send + Sync>>;
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ApiHandler + Send + Sync`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/api.rs:85:18
[INFO] [stderr]    |
[INFO] [stderr] 85 |     where F: Fn(&errors::Error, &media::Media) -> Option<backend::Response> + Send+Sync {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/api.rs:89:34
[INFO] [stderr]    |
[INFO] [stderr] 89 |     fn handle_error(&self, err: &errors::Error, media: &media::Media) -> Option<backend::Response>  {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/framework/api.rs:100:35
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn extract_media(&self, req: &backend::Request) -> Option<media::Media> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/framework/api.rs:118:23
[INFO] [stderr]     |
[INFO] [stderr] 118 |         req: &'r mut (backend::Request + 'r),
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/api.rs:127:31
[INFO] [stderr]     |
[INFO] [stderr] 127 |                    return Err(error_response!(errors::NotMatch))
[INFO] [stderr]     |                               --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/api.rs:146:35
[INFO] [stderr]     |
[INFO] [stderr] 146 |                        return Err(error_response!(errors::NotMatch))
[INFO] [stderr]     |                                   --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/api.rs:152:41
[INFO] [stderr]     |
[INFO] [stderr] 152 |                         _ => return Err(error_response!(errors::NotMatch))
[INFO] [stderr]     |                                         --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/api.rs:175:44
[INFO] [stderr]     |
[INFO] [stderr] 175 | ...                   return Err(error_response!(errors::NotMatch))
[INFO] [stderr]     |                                  --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/api.rs:180:44
[INFO] [stderr]     |
[INFO] [stderr] 180 |                         None => return Err(error_response!(errors::NotMatch))
[INFO] [stderr]     |                                            --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/api.rs:192:36
[INFO] [stderr]     |
[INFO] [stderr] 192 |                 None => return Err(error_response!(errors::NotAcceptable))
[INFO] [stderr]     |                                    -------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/endpoint.rs:12:32
[INFO] [stderr]    |
[INFO] [stderr] 12 | ...er = Box<for<'a> Fn(framework::Client<'a>, &JsonValue) -> backend::HandleResult<framework::Client<'a>> + 'static + Sync>;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Fn(framework::Client<'a>, &JsonValue) -> backend::HandleResult<framework::Client<'a>> + 'static + Sync`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/endpoint.rs:19:28
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub type EndpointBuilder = FnOnce(&mut Endpoint) -> EndpointHandlerPresent + 'static;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnOnce(&mut Endpoint) -> EndpointHandlerPresent + 'static`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/endpoint.rs:100:21
[INFO] [stderr]     |
[INFO] [stderr] 100 |                 Err(error_response!(errors::Validation{ reason: state.errors }))
[INFO] [stderr]     |                     ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/endpoint.rs:122:9
[INFO] [stderr]     |
[INFO] [stderr] 122 |         try!(self.validate(params, info.app.ext.get::<schemes::SchemesScope>()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/framework/endpoint.rs:109:23
[INFO] [stderr]     |
[INFO] [stderr] 109 |         req: &'a mut (backend::Request + 'a),
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/endpoint.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |             try!(Endpoint::call_callbacks(parent.get_before(), &mut client, params));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/endpoint.rs:119:13
[INFO] [stderr]     |
[INFO] [stderr] 119 |             try!(Endpoint::call_callbacks(parent.get_before_validation(), &mut client, params));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/endpoint.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |             try!(Endpoint::call_callbacks(parent.get_after_validation(), &mut client, params));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/endpoint.rs:129:26
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let mut client = try!((handler.unwrap())(client, params));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/endpoint.rs:132:13
[INFO] [stderr]     |
[INFO] [stderr] 132 |             try!(Endpoint::call_callbacks(parent.get_after(), &mut client, params));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/endpoint.rs:144:13
[INFO] [stderr]     |
[INFO] [stderr] 144 |             try!(cb(client, params));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/framework/endpoint.rs:156:23
[INFO] [stderr]     |
[INFO] [stderr] 156 |         req: &'r mut (backend::Request + 'r),
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/endpoint.rs:161:24
[INFO] [stderr]     |
[INFO] [stderr] 161 |             return Err(error_response!(errors::NotMatch))
[INFO] [stderr]     |                        --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/endpoint.rs:169:25
[INFO] [stderr]     |
[INFO] [stderr] 169 |             None => Err(error_response!(errors::NotMatch))
[INFO] [stderr]     |                         --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/errors.rs:20:40
[INFO] [stderr]    |
[INFO] [stderr] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/framework/namespace.rs:63:21
[INFO] [stderr]    |
[INFO] [stderr] 63 |                 Err(error_response!(errors::Validation{ reason: state.errors }))
[INFO] [stderr]    |                     ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/framework/namespace.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |         try!(self.validate(params, info.app.ext.get::<schemes::SchemesScope>()));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/namespace.rs:76:23
[INFO] [stderr]    |
[INFO] [stderr] 76 |         req: &'r mut (backend::Request + 'r),
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/errors.rs:20:40
[INFO] [stderr]    |
[INFO] [stderr] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/framework/namespace.rs:86:32
[INFO] [stderr]    |
[INFO] [stderr] 86 |             None => return Err(error_response!(errors::NotMatch))
[INFO] [stderr]    |                                --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/client.rs:17:27
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub request: &'a mut (backend::Request + 'a),
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/client.rs:28:34
[INFO] [stderr]    |
[INFO] [stderr] 28 |                request: &'a mut (backend::Request + 'r), media: &'a media::Media) -> Client<'a> {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/errors.rs:20:40
[INFO] [stderr]    |
[INFO] [stderr] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/framework/client.rs:88:13
[INFO] [stderr]    |
[INFO] [stderr] 88 |         Err(error_response!(error))
[INFO] [stderr]    |             ---------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/client.rs:108:28
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 return Err(error_response!(errors::File(err)));
[INFO] [stderr]     |                            ---------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/client.rs:115:28
[INFO] [stderr]     |
[INFO] [stderr] 115 |                 return Err(error_response!(errors::File(err)));
[INFO] [stderr]     |                            ---------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/app.rs:28:47
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn call_internal<'a>(&self, req: &'a mut (backend::Request + 'a)) -> backend::HandleResult<backend::Response> {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/app.rs:37:42
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub fn call<'a>(&self, req: &'a mut (backend::Request + 'a)) -> backend::HandleResultStrict<backend::Response> {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'a`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/app.rs:50:52
[INFO] [stderr]    |
[INFO] [stderr] 50 |                     let response = if (&*error as &errors::Error).is::<errors::NotMatch>() {
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/app.rs:54:44
[INFO] [stderr]    |
[INFO] [stderr] 54 |                     } else if (&*error as &errors::Error).is::<errors::Validation>() {
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/errors.rs:20:40
[INFO] [stderr]    |
[INFO] [stderr] 20 |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/framework/app.rs:90:24
[INFO] [stderr]    |
[INFO] [stderr] 90 |             return Err(error_response!(errors::QueryString));
[INFO] [stderr]    |                        ------------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]    = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/app.rs:97:30
[INFO] [stderr]    |
[INFO] [stderr] 97 | fn parse_json_body(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/framework/app.rs:98:22
[INFO] [stderr]    |
[INFO] [stderr] 98 |     let maybe_body = try!(req.read_to_end().map_err(|err| error_response_boxed!(err)))
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/app.rs:116:34
[INFO] [stderr]     |
[INFO] [stderr] 116 |             Err(e) => return Err(error_response!(errors::Body::new(format!("Invalid JSON: {}", e))))
[INFO] [stderr]     |                                  ------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/framework/app.rs:123:36
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn parse_urlencoded_body(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/app.rs:124:22
[INFO] [stderr]     |
[INFO] [stderr] 124 |     let maybe_body = try!(req.read_to_end().map_err(|err| error_response_boxed!(err)))
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/errors.rs:20:40
[INFO] [stderr]     |
[INFO] [stderr] 20  |         error: Box::new($error) as Box<$crate::errors::Error + Send>,
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::errors::Error + Send`
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/framework/app.rs:142:34
[INFO] [stderr]     |
[INFO] [stderr] 142 |             Err(_) => return Err(error_response!(errors::Body::new(format!("Invalid encoded data"))))
[INFO] [stderr]     |                                  ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `error_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/framework/app.rs:149:28
[INFO] [stderr]     |
[INFO] [stderr] 149 | fn parse_request(req: &mut backend::Request, params: &mut JsonValue) -> backend::HandleSuccessResult {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/app.rs:152:9
[INFO] [stderr]     |
[INFO] [stderr] 152 |         try!(parse_query(&req.url().query().as_ref().unwrap(), params));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/app.rs:157:9
[INFO] [stderr]     |
[INFO] [stderr] 157 |         try!(parse_json_body(req, params));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/framework/app.rs:159:9
[INFO] [stderr]     |
[INFO] [stderr] 159 |         try!(parse_urlencoded_body(req, params));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/mod.rs:28:27
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub parents: Vec<&'a (nesting::Node + 'static)>,
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn nesting::Node + 'static`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/mod.rs:32:25
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub type Callback = Box<for<'a> Fn(&'a mut client::Client, &JsonValue) -> backend::HandleSuccessResult + 'static + Sync + Send>;
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Fn(&'a mut client::Client, &JsonValue) -> backend::HandleSuccessResult + 'static + Sync + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/mod.rs:35:31
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub type ErrorFormatter = Box<Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/framework/mod.rs:35:35
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub type ErrorFormatter = Box<Fn(&errors::Error, &media::Media) -> Option<backend::Response> + 'static + Sync + Send>;
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn errors::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/batteries/cookie.rs:22:25
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl<'r> CookieExt for (backend::Request + 'r) {
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request + 'r`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/batteries/cookie.rs:53:38
[INFO] [stderr]    |
[INFO] [stderr] 53 |         let maybe_jar = (req as &mut backend::Request).find_cookie_jar();
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn backend::Request`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/batteries/swagger.rs:433:39
[INFO] [stderr]     |
[INFO] [stderr] 433 |         let handler = &**handler_ as &framework::ApiHandler;
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn framework::ApiHandler`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/batteries/schemes.rs:14:51
[INFO] [stderr]    |
[INFO] [stderr] 14 |         let mut handler = &mut **handler_ as &mut framework::ApiHandler;
[INFO] [stderr]    |                                                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn framework::ApiHandler`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/batteries/schemes.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |             try!(build_schemes(&mut api.handlers, scope))
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/batteries/schemes.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 |             try!(build_schemes(&mut namespace.handlers, scope));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/batteries/schemes.rs:22:17
[INFO] [stderr]    |
[INFO] [stderr] 22 |                 try!(coercer.build_schemes(scope));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/batteries/schemes.rs:29:17
[INFO] [stderr]    |
[INFO] [stderr] 29 |                 try!(coercer.build_schemes(scope));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/batteries/schemes.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     try!(build_schemes(&mut app.root_api.handlers, &mut scope));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]  --> src/framework/media.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | / lazy_static! {
[INFO] [stderr] 5 | |     static ref MEDIA_REGEX: regex::Regex = regex::Regex::new(r"vnd\.(?P<vendor>[a-zA-Z_-]+)(?:\.(?P<version>[a-zA-Z0-9]+)(?:\.(?P<param>[...
[INFO] [stderr] 6 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]  --> src/framework/path.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | / lazy_static! {
[INFO] [stderr] 8 | |     pub static ref MATCHER: regex::Regex = regex::Regex::new(r":([a-z][a-z_]*)").unwrap();
[INFO] [stderr] 9 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stderr]  --> src/batteries/swagger.rs:1:17
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ascii::AsciiExt;
[INFO] [stderr]   |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:43:22
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 self.description().fmt(formatter)
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 | impl_basic_err!(NotMatch, "NotMatch");
[INFO] [stderr]    | -------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:43:22
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 self.description().fmt(formatter)
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 | impl_basic_err!(NotFound, "NotFound");
[INFO] [stderr]    | -------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:43:22
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 self.description().fmt(formatter)
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 | impl_basic_err!(QueryString, "QueryString");
[INFO] [stderr]    | -------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:43:22
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 self.description().fmt(formatter)
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 | impl_basic_err!(Validation, "Validation");
[INFO] [stderr]    | ------------------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:43:22
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 self.description().fmt(formatter)
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 79 | impl_basic_err!(Body, "Body");
[INFO] [stderr]    | ------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:43:22
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 self.description().fmt(formatter)
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83 | impl_basic_err!(File, "File");
[INFO] [stderr]    | ------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:43:22
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 self.description().fmt(formatter)
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 | impl_basic_err!(NotAcceptable, "NotAcceptable");
[INFO] [stderr]    | ------------------------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `impl_basic_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/framework/nesting.rs:136:25
[INFO] [stderr]     |
[INFO] [stderr] 136 |                     if !errors::Error::is::<errors::NotMatch>(&*error_response.error) {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^ help: use `dyn`: `<dyn errors::Error>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stderr]  --> src/batteries/swagger.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ascii::AsciiExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/batteries/schemes.rs:14:13
[INFO] [stderr]    |
[INFO] [stderr] 14 |         let mut handler = &mut **handler_ as &mut framework::ApiHandler;
[INFO] [stderr]    |             ----^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustless` (lib) generated 111 warnings
[INFO] [stderr] warning: `rustless` (lib test) generated 111 warnings (111 duplicates)
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/tests.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/callbacks.rs:54:63
[INFO] [stderr]    |
[INFO] [stderr] 54 |                     error: Box::new(UnauthorizedError) as Box<Error + Send>,
[INFO] [stderr]    |                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> tests/callbacks.rs:20:14
[INFO] [stderr]    |
[INFO] [stderr] 20 |         self.description().fmt(formatter)
[INFO] [stderr]    |              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> examples/simple.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> examples/simple.rs:97:63
[INFO] [stderr]    |
[INFO] [stderr] 97 |                     error: Box::new(UnauthorizedError) as Box<Error + Send>,
[INFO] [stderr]    |                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> examples/simple.rs:32:14
[INFO] [stderr]    |
[INFO] [stderr] 32 |         self.description().fmt(formatter)
[INFO] [stderr]    |              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustless` (test "tests") generated 3 warnings
[INFO] [stderr] warning: `rustless` (example "simple") generated 3 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/rustless-7049a13c0da6aeef)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test framework::media::assert_media ... ok
[INFO] [stdout] test framework::path::it_normalize ... ok
[INFO] [stdout] test framework::path::parse_and_match_root ... ok
[INFO] [stdout] test framework::media::asset_regexp ... ok
[INFO] [stdout] test framework::path::parse_and_match_single_val ... ok
[INFO] [stdout] test framework::path::sub_regex ... ok
[INFO] [stdout] test framework::path::parse_and_match ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tests.rs (/opt/rustwide/target/debug/deps/tests-fe5472ed845b5575)
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test prefix::it_allows_prefix_with_path_versioning ... ok
[INFO] [stdout] test prefix::it_allows_nested_prefix ... ok
[INFO] [stdout] test serializers::it_serializes_json_properly ... ok
[INFO] [stdout] test namespace::it_allows_grouping_with_zero_path ... ok
[INFO] [stdout] test namespace::it_allows_nested_namespaces ... ok
[INFO] [stdout] test redirect::it_allows_permanent_redirect ... ok
[INFO] [stdout] test redirect::it_allows_redirect ... ok
[INFO] [stdout] test params::it_urldecodes_query_params ... ok
[INFO] [stdout] test params::it_validates_query_params ... ok
[INFO] [stdout] test prefix::it_allows_prefix ... ok
[INFO] [stdout] test versioning::it_pass_accept_header_versioning ... ok
[INFO] [stdout] test versioning::it_pass_path_versioning ... ok
[INFO] [stdout] test callbacks::it_invokes_callbacks ... ok
[INFO] [stdout] test params::it_validates_endpoint_simple_path_params ... ok
[INFO] [stdout] test versioning::it_pass_nesting_param_versioning ... ok
[INFO] [stdout] test params::it_validates_typed_endpoint_path_params ... ok
[INFO] [stdout] test versioning::it_pass_param_versioning ... ok
[INFO] [stdout] test namespace::it_allows_to_create_namespace ... ok
[INFO] [stdout] test versioning::it_pass_nesting_path_versioning ... ok
[INFO] [stdout] test versioning::it_pass_without_versioning ... ok
[INFO] [stdout] test params::it_urldecodes_path_params ... ok
[INFO] [stdout] test versioning::it_pass_nesting_crazy_mixed_versioning_never_do_this ... ok
[INFO] [stdout] test params::it_validates_params_with_json_schema ... ok
[INFO] [stdout] test params::it_validates_common_namespace_params ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustless
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3d0ab31601b3d4e96baf214d0d14e867a34f033e8ef6f623dcf96a6376a72fe5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d0ab31601b3d4e96baf214d0d14e867a34f033e8ef6f623dcf96a6376a72fe5", kill_on_drop: false }`
[INFO] [stdout] 3d0ab31601b3d4e96baf214d0d14e867a34f033e8ef6f623dcf96a6376a72fe5
