[INFO] fetching crate webframework 0.0.2... [INFO] testing webframework-0.0.2 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate webframework 0.0.2 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate webframework 0.0.2 [INFO] finished tweaking crates.io crate webframework 0.0.2 [INFO] tweaked toml for crates.io crate webframework 0.0.2 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate webframework 0.0.2 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 182 packages to latest compatible versions [INFO] [stderr] Adding futures v0.1.31 (available: v0.3.31) [INFO] [stderr] Adding horrorshow v0.6.6 (available: v0.8.8) [INFO] [stderr] Adding http v0.1.21 (available: v1.3.1) [INFO] [stderr] Adding hyper v0.12.36 (available: v1.7.0) [INFO] [stderr] Adding uuid v0.7.4 (available: v1.18.0) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fba148fcba84a806ce4a72dac7d25742f753770bc739a7fbaddf5ea0c803a3b5 [INFO] running `Command { std: "docker" "start" "-a" "fba148fcba84a806ce4a72dac7d25742f753770bc739a7fbaddf5ea0c803a3b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fba148fcba84a806ce4a72dac7d25742f753770bc739a7fbaddf5ea0c803a3b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fba148fcba84a806ce4a72dac7d25742f753770bc739a7fbaddf5ea0c803a3b5", kill_on_drop: false }` [INFO] [stdout] fba148fcba84a806ce4a72dac7d25742f753770bc739a7fbaddf5ea0c803a3b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6915d9f90d38c078dc217680fc72fe191d5287259d231b10c2f2bbdfbfd92379 [INFO] running `Command { std: "docker" "start" "-a" "6915d9f90d38c078dc217680fc72fe191d5287259d231b10c2f2bbdfbfd92379", kill_on_drop: false }` [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling slog v2.7.0 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling time-core v0.1.5 [INFO] [stderr] Compiling want v0.2.0 [INFO] [stderr] Compiling deranged v0.5.3 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling dtoa v0.4.8 [INFO] [stderr] Compiling slog-async v2.8.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling take_mut v0.2.2 [INFO] [stderr] Compiling term v1.1.0 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling serde_urlencoded v0.5.5 [INFO] [stderr] Compiling horrorshow v0.6.6 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling h2 v0.1.26 [INFO] [stderr] Compiling time-macros v0.2.23 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling uuid v0.7.4 [INFO] [stderr] Compiling time v0.3.42 [INFO] [stderr] Compiling hyper v0.12.36 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling slog-term v2.9.2 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling webframework-derive v0.0.2 [INFO] [stderr] Compiling webframework-core v0.0.2 [INFO] [stderr] Compiling webframework v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | fn cause(&self) -> Option<&dyn Fail> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/templates.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn error_page(error: &Fail) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 | pub fn error_page(error: &dyn Fail) -> String { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServiceErrorKind` [INFO] [stdout] 5 | pub enum ServiceErrorKind { [INFO] [stdout] | ---------------- `ServiceErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServiceErrorKind` [INFO] [stdout] 5 | pub enum ServiceErrorKind { [INFO] [stdout] | ---------------- `ServiceErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.71s [INFO] running `Command { std: "docker" "inspect" "6915d9f90d38c078dc217680fc72fe191d5287259d231b10c2f2bbdfbfd92379", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6915d9f90d38c078dc217680fc72fe191d5287259d231b10c2f2bbdfbfd92379", kill_on_drop: false }` [INFO] [stdout] 6915d9f90d38c078dc217680fc72fe191d5287259d231b10c2f2bbdfbfd92379 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c0f7228648d6eccbc4f2e21f65964abe1bc881255c58f4451e665cbe805afd88 [INFO] running `Command { std: "docker" "start" "-a" "c0f7228648d6eccbc4f2e21f65964abe1bc881255c58f4451e665cbe805afd88", kill_on_drop: false }` [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | fn cause(&self) -> Option<&dyn Fail> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/templates.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn error_page(error: &Fail) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 | pub fn error_page(error: &dyn Fail) -> String { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling webframework v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServiceErrorKind` [INFO] [stdout] 5 | pub enum ServiceErrorKind { [INFO] [stdout] | ---------------- `ServiceErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServiceErrorKind` [INFO] [stdout] 5 | pub enum ServiceErrorKind { [INFO] [stdout] | ---------------- `ServiceErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `handle_it` should have an upper camel case name [INFO] [stdout] --> tests/macro.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn handle_it(_req: &Request) -> WebResult { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `HandleIt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `dynamic` should have an upper camel case name [INFO] [stdout] --> tests/macro.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn dynamic(test: String)-> WebResult { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `Dynamic` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `handle_it` should have an upper camel case name [INFO] [stdout] --> tests/nested_router.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn handle_it(_req: &Request) -> WebResult { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `HandleIt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `handle404` should have an upper camel case name [INFO] [stdout] --> examples/explicit.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn handle404(req: &Request) -> WebResponse { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `Handle404` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `root` should have an upper camel case name [INFO] [stdout] --> examples/explicit.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn root() -> WebResponse { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `about` should have an upper camel case name [INFO] [stdout] --> examples/explicit.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn about() -> WebResponse { [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `About` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `create_task` should have an upper camel case name [INFO] [stdout] --> examples/explicit.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn create_task() -> WebResponse { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `CreateTask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `new_task` should have an upper camel case name [INFO] [stdout] --> examples/explicit.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn new_task() -> WebResponse { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `NewTask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tasks` should have an upper camel case name [INFO] [stdout] --> examples/explicit.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn tasks() -> WebResponse { [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tasks_json` should have an upper camel case name [INFO] [stdout] --> examples/explicit.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn tasks_json() -> WebResponse { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TasksJson` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `dynamic_path` should have an upper camel case name [INFO] [stdout] --> examples/explicit.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn dynamic_path(test: String) -> WebResponse { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicPath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | fn cause(&self) -> Option<&Fail> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | fn cause(&self) -> Option<&dyn Fail> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/templates.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn error_page(error: &Fail) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 | pub fn error_page(error: &dyn Fail) -> String { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServiceErrorKind` [INFO] [stdout] 5 | pub enum ServiceErrorKind { [INFO] [stdout] | ---------------- `ServiceErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServiceErrorKind` [INFO] [stdout] 5 | pub enum ServiceErrorKind { [INFO] [stdout] | ---------------- `ServiceErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.73s [INFO] running `Command { std: "docker" "inspect" "c0f7228648d6eccbc4f2e21f65964abe1bc881255c58f4451e665cbe805afd88", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0f7228648d6eccbc4f2e21f65964abe1bc881255c58f4451e665cbe805afd88", kill_on_drop: false }` [INFO] [stdout] c0f7228648d6eccbc4f2e21f65964abe1bc881255c58f4451e665cbe805afd88 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 83aeba3662418f00ab9de380a61b174fdfd9c4cd8a55b055d55737610495b157 [INFO] running `Command { std: "docker" "start" "-a" "83aeba3662418f00ab9de380a61b174fdfd9c4cd8a55b055d55737610495b157", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:22:32 [INFO] [stderr] | [INFO] [stderr] 22 | fn cause(&self) -> Option<&Fail> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 22 | fn cause(&self) -> Option<&dyn Fail> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/templates.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn error_page(error: &Fail) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 4 | pub fn error_page(error: &dyn Fail) -> String { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/error.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServiceErrorKind` [INFO] [stderr] 5 | pub enum ServiceErrorKind { [INFO] [stderr] | ---------------- `ServiceErrorKind` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/error.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServiceErrorKind` [INFO] [stderr] 5 | pub enum ServiceErrorKind { [INFO] [stderr] | ---------------- `ServiceErrorKind` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `webframework` (lib) generated 4 warnings (run `cargo fix --lib -p webframework` to apply 2 suggestions) [INFO] [stderr] warning: `webframework` (lib test) generated 4 warnings (4 duplicates) [INFO] [stderr] warning: type `handle404` should have an upper camel case name [INFO] [stderr] --> examples/explicit.rs:9:4 [INFO] [stderr] | [INFO] [stderr] 9 | fn handle404(req: &Request) -> WebResponse { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `Handle404` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: type `root` should have an upper camel case name [INFO] [stderr] --> examples/explicit.rs:15:4 [INFO] [stderr] | [INFO] [stderr] 15 | fn root() -> WebResponse { [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Root` [INFO] [stderr] [INFO] [stderr] warning: type `about` should have an upper camel case name [INFO] [stderr] --> examples/explicit.rs:20:4 [INFO] [stderr] | [INFO] [stderr] 20 | fn about() -> WebResponse { [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `About` [INFO] [stderr] [INFO] [stderr] warning: type `create_task` should have an upper camel case name [INFO] [stderr] --> examples/explicit.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | fn create_task() -> WebResponse { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `CreateTask` [INFO] [stderr] [INFO] [stderr] warning: type `new_task` should have an upper camel case name [INFO] [stderr] --> examples/explicit.rs:30:4 [INFO] [stderr] | [INFO] [stderr] 30 | fn new_task() -> WebResponse { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `NewTask` [INFO] [stderr] [INFO] [stderr] warning: type `tasks` should have an upper camel case name [INFO] [stderr] --> examples/explicit.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | fn tasks() -> WebResponse { [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `Tasks` [INFO] [stderr] [INFO] [stderr] warning: type `tasks_json` should have an upper camel case name [INFO] [stderr] --> examples/explicit.rs:40:4 [INFO] [stderr] | [INFO] [stderr] 40 | fn tasks_json() -> WebResponse { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TasksJson` [INFO] [stderr] [INFO] [stderr] warning: type `dynamic_path` should have an upper camel case name [INFO] [stderr] --> examples/explicit.rs:45:4 [INFO] [stderr] | [INFO] [stderr] 45 | fn dynamic_path(test: String) -> WebResponse { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DynamicPath` [INFO] [stderr] [INFO] [stderr] warning: type `handle_it` should have an upper camel case name [INFO] [stderr] --> tests/nested_router.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | fn handle_it(_req: &Request) -> WebResult { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `HandleIt` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: type `handle_it` should have an upper camel case name [INFO] [stderr] --> tests/macro.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | fn handle_it(_req: &Request) -> WebResult { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `HandleIt` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: type `dynamic` should have an upper camel case name [INFO] [stderr] --> tests/macro.rs:65:4 [INFO] [stderr] | [INFO] [stderr] 65 | fn dynamic(test: String)-> WebResult { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `Dynamic` [INFO] [stderr] [INFO] [stderr] warning: `webframework` (example "explicit") generated 8 warnings [INFO] [stderr] warning: `webframework` (test "nested_router") generated 1 warning [INFO] [stderr] warning: `webframework` (test "macro") generated 2 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/webframework-adc4202d4766a0c8) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/macro.rs (/opt/rustwide/target/debug/deps/macro-fb3b4b227c738a24) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test check_router ... ok [INFO] [stdout] test check_dynamic ... ok [INFO] [stdout] test check_routing ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/nested_router.rs (/opt/rustwide/target/debug/deps/nested_router-4ad88aebbebf3713) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test nested_not_found ... ok [INFO] [stdout] test nested_dynamic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests webframework [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" "83aeba3662418f00ab9de380a61b174fdfd9c4cd8a55b055d55737610495b157", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "83aeba3662418f00ab9de380a61b174fdfd9c4cd8a55b055d55737610495b157", kill_on_drop: false }` [INFO] [stdout] 83aeba3662418f00ab9de380a61b174fdfd9c4cd8a55b055d55737610495b157