[INFO] fetching crate finchers 0.13.5... [INFO] testing finchers-0.13.5 against 1.52.1 for beta-1.53-1 [INFO] extracting crate finchers 0.13.5 into /workspace/builds/worker-2/source [INFO] validating manifest of crates.io crate finchers 0.13.5 on toolchain 1.52.1 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.52.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate finchers 0.13.5 [INFO] finished tweaking crates.io crate finchers 0.13.5 [INFO] tweaked toml for crates.io crate finchers 0.13.5 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.52.1" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.52.1" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+1.52.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7d2fb5f27dbda33ffc3ac7e94dc6326447e595278ed6a48ba0676d6bc9ac63f1 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7d2fb5f27dbda33ffc3ac7e94dc6326447e595278ed6a48ba0676d6bc9ac63f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7d2fb5f27dbda33ffc3ac7e94dc6326447e595278ed6a48ba0676d6bc9ac63f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d2fb5f27dbda33ffc3ac7e94dc6326447e595278ed6a48ba0676d6bc9ac63f1", kill_on_drop: false }` [INFO] [stdout] 7d2fb5f27dbda33ffc3ac7e94dc6326447e595278ed6a48ba0676d6bc9ac63f1 [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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+1.52.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7e79f733b7638d9cb20c7964df095f63d7b419e2f870cc3cc63ced813f37e962 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7e79f733b7638d9cb20c7964df095f63d7b419e2f870cc3cc63ced813f37e962", kill_on_drop: false }` [INFO] [stderr] Compiling tokio-sync v0.1.8 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling tower-service v0.1.0 [INFO] [stderr] Compiling finchers v0.13.5 (/opt/rustwide/workdir) [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling hyper v0.12.36 [INFO] [stderr] Compiling want v0.2.0 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling cookie v0.11.4 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling tokio-executor v0.1.10 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling http v0.1.21 [INFO] [stderr] Compiling tokio-buf v0.1.1 [INFO] [stderr] Compiling string v0.2.1 [INFO] [stderr] Compiling tokio-timer v0.2.13 [INFO] [stderr] Compiling tokio-current-thread v0.1.7 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling tokio-codec v0.1.2 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling tokio-threadpool v0.1.18 [INFO] [stderr] Compiling tokio-udp v0.1.6 [INFO] [stderr] Compiling tokio-uds v0.2.7 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling tokio-fs v0.1.7 [INFO] [stderr] Compiling http-body v0.1.0 [INFO] [stderr] Compiling h2 v0.1.26 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling serde_qs v0.4.6 [INFO] [stderr] Compiling serde_json v1.0.64 [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/endpoint/syntax/mod.rs:214:34 [INFO] [stdout] | [INFO] [stdout] 214 | _marker: PhantomData<fn() -> (T)>, [INFO] [stdout] | ^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_parens)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stdout] --> src/output/fs.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use mime_guess::guess_mime_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stdout] --> src/output/fs.rs:98:28 [INFO] [stdout] | [INFO] [stdout] 98 | let content_type = guess_mime_type(&path); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `http::uri::Authority::port`: use `port_part` or `port_u16` instead [INFO] [stdout] --> src/test.rs:328:48 [INFO] [stdout] | [INFO] [stdout] 328 | .or_insert(match authority.port() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/wrapper/and_then.rs:79:32 [INFO] [stdout] | [INFO] [stdout] 79 | F: Func<F1::Item, Out = F2> + 'a, [INFO] [stdout] | ^^^^^ help: remove this bound [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | rust_2018_idioms, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(explicit_outlives_requirements)]` implied by `#[warn(rust_2018_idioms)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/wrapper/map.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct MapFuture<'a, T, F: 'a> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/by_ref.rs:58:29 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct ByRefFuture<'a, T: 'a> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoints/header.rs:84:29 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct ParseFuture<'e, T: 'e> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoints/header.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | pub struct OptionalFuture<'e, T: 'e> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 54.51s [INFO] running `Command { std: "docker" "inspect" "7e79f733b7638d9cb20c7964df095f63d7b419e2f870cc3cc63ced813f37e962", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e79f733b7638d9cb20c7964df095f63d7b419e2f870cc3cc63ced813f37e962", kill_on_drop: false }` [INFO] [stdout] 7e79f733b7638d9cb20c7964df095f63d7b419e2f870cc3cc63ced813f37e962 [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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+1.52.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7239ed96de8e5c37f66be62de5ee983b9fa31ab65add2f52f2ec5f586966ff52 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7239ed96de8e5c37f66be62de5ee983b9fa31ab65add2f52f2ec5f586966ff52", kill_on_drop: false }` [INFO] [stderr] Compiling cargo-husky v1.5.0 [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/endpoint/syntax/mod.rs:214:34 [INFO] [stdout] | [INFO] [stdout] 214 | _marker: PhantomData<fn() -> (T)>, [INFO] [stdout] | ^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_parens)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stdout] --> src/output/fs.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use mime_guess::guess_mime_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stdout] --> src/output/fs.rs:98:28 [INFO] [stdout] | [INFO] [stdout] 98 | let content_type = guess_mime_type(&path); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `http::uri::Authority::port`: use `port_part` or `port_u16` instead [INFO] [stdout] --> src/test.rs:328:48 [INFO] [stdout] | [INFO] [stdout] 328 | .or_insert(match authority.port() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/wrapper/and_then.rs:79:32 [INFO] [stdout] | [INFO] [stdout] 79 | F: Func<F1::Item, Out = F2> + 'a, [INFO] [stdout] | ^^^^^ help: remove this bound [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | rust_2018_idioms, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(explicit_outlives_requirements)]` implied by `#[warn(rust_2018_idioms)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/wrapper/map.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct MapFuture<'a, T, F: 'a> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/by_ref.rs:58:29 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct ByRefFuture<'a, T: 'a> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoints/header.rs:84:29 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct ParseFuture<'e, T: 'e> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoints/header.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | pub struct OptionalFuture<'e, T: 'e> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling finchers v0.13.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> tests/endpoint/syntax.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | let mut runner = test::runner({ syntax::segment("foo").and(syntax::segment("bar")) }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> tests/endpoints/header.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | test::runner({ endpoints::header::parse::<Mime>("content-type").with_output::<(Mime,)>() }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> tests/endpoints/query.rs:8:35 [INFO] [stdout] | [INFO] [stdout] 8 | let mut runner = test::runner({ query::raw().with_output::<(Option<String>,)>() }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> tests/tests.rs:52:22 [INFO] [stdout] | [INFO] [stdout] 52 | test::runner({ endpoint::lazy(|| Err::<&str, _>(finchers::error::bad_request("error"))) }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/endpoint/syntax/mod.rs:214:34 [INFO] [stdout] | [INFO] [stdout] 214 | _marker: PhantomData<fn() -> (T)>, [INFO] [stdout] | ^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_parens)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> src/test.rs:564:33 [INFO] [stdout] | [INFO] [stdout] 564 | let mut runner = runner({ endpoint::cloned("Hello") }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | unused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(unused_braces)]` implied by `#[warn(unused)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stdout] --> src/output/fs.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use mime_guess::guess_mime_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stdout] --> src/output/fs.rs:98:28 [INFO] [stdout] | [INFO] [stdout] 98 | let content_type = guess_mime_type(&path); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `http::uri::Authority::port`: use `port_part` or `port_u16` instead [INFO] [stdout] --> src/test.rs:328:48 [INFO] [stdout] | [INFO] [stdout] 328 | .or_insert(match authority.port() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/wrapper/and_then.rs:79:32 [INFO] [stdout] | [INFO] [stdout] 79 | F: Func<F1::Item, Out = F2> + 'a, [INFO] [stdout] | ^^^^^ help: remove this bound [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | rust_2018_idioms, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(explicit_outlives_requirements)]` implied by `#[warn(rust_2018_idioms)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/wrapper/map.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct MapFuture<'a, T, F: 'a> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoint/by_ref.rs:58:29 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct ByRefFuture<'a, T: 'a> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoints/header.rs:84:29 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct ParseFuture<'e, T: 'e> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: outlives requirements can be inferred [INFO] [stdout] --> src/endpoints/header.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | pub struct OptionalFuture<'e, T: 'e> { [INFO] [stdout] | ^^^^ help: remove this bound [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 28.18s [INFO] running `Command { std: "docker" "inspect" "7239ed96de8e5c37f66be62de5ee983b9fa31ab65add2f52f2ec5f586966ff52", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7239ed96de8e5c37f66be62de5ee983b9fa31ab65add2f52f2ec5f586966ff52", kill_on_drop: false }` [INFO] [stdout] 7239ed96de8e5c37f66be62de5ee983b9fa31ab65add2f52f2ec5f586966ff52 [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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+1.52.1" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8265ecd31eb60dab06bafdb54d8731c6367c5818b11dc240fc9199ef2eb93a97 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "8265ecd31eb60dab06bafdb54d8731c6367c5818b11dc240fc9199ef2eb93a97", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/endpoint/syntax/mod.rs:214:34 [INFO] [stderr] | [INFO] [stderr] 214 | _marker: PhantomData<fn() -> (T)>, [INFO] [stderr] | ^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | unused, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: `#[warn(unused_parens)]` implied by `#[warn(unused)]` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stderr] --> src/output/fs.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use mime_guess::guess_mime_type; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stderr] --> src/output/fs.rs:98:28 [INFO] [stderr] | [INFO] [stderr] 98 | let content_type = guess_mime_type(&path); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `http::uri::Authority::port`: use `port_part` or `port_u16` instead [INFO] [stderr] --> src/test.rs:328:48 [INFO] [stderr] | [INFO] [stderr] 328 | .or_insert(match authority.port() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoint/wrapper/and_then.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | F: Func<F1::Item, Out = F2> + 'a, [INFO] [stderr] | ^^^^^ help: remove this bound [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | rust_2018_idioms, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(explicit_outlives_requirements)]` implied by `#[warn(rust_2018_idioms)]` [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoint/wrapper/map.rs:71:30 [INFO] [stderr] | [INFO] [stderr] 71 | pub struct MapFuture<'a, T, F: 'a> { [INFO] [stderr] | ^^^^ help: remove this bound [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoint/by_ref.rs:58:29 [INFO] [stderr] | [INFO] [stderr] 58 | pub struct ByRefFuture<'a, T: 'a> { [INFO] [stderr] | ^^^^ help: remove this bound [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoints/header.rs:84:29 [INFO] [stderr] | [INFO] [stderr] 84 | pub struct ParseFuture<'e, T: 'e> { [INFO] [stderr] | ^^^^ help: remove this bound [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoints/header.rs:161:32 [INFO] [stderr] | [INFO] [stderr] 161 | pub struct OptionalFuture<'e, T: 'e> { [INFO] [stderr] | ^^^^ help: remove this bound [INFO] [stderr] [INFO] [stderr] warning: 9 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/endpoint/syntax/mod.rs:214:34 [INFO] [stderr] | [INFO] [stderr] 214 | _marker: PhantomData<fn() -> (T)>, [INFO] [stderr] | ^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | unused, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: `#[warn(unused_parens)]` implied by `#[warn(unused)]` [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around function argument [INFO] [stderr] --> src/test.rs:564:33 [INFO] [stderr] | [INFO] [stderr] 564 | let mut runner = runner({ endpoint::cloned("Hello") }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | unused, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: `#[warn(unused_braces)]` implied by `#[warn(unused)]` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stderr] --> src/output/fs.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use mime_guess::guess_mime_type; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stderr] --> src/output/fs.rs:98:28 [INFO] [stderr] | [INFO] [stderr] 98 | let content_type = guess_mime_type(&path); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `http::uri::Authority::port`: use `port_part` or `port_u16` instead [INFO] [stderr] --> src/test.rs:328:48 [INFO] [stderr] | [INFO] [stderr] 328 | .or_insert(match authority.port() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoint/wrapper/and_then.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | F: Func<F1::Item, Out = F2> + 'a, [INFO] [stderr] | ^^^^^ help: remove this bound [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | rust_2018_idioms, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(explicit_outlives_requirements)]` implied by `#[warn(rust_2018_idioms)]` [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoint/wrapper/map.rs:71:30 [INFO] [stderr] | [INFO] [stderr] 71 | pub struct MapFuture<'a, T, F: 'a> { [INFO] [stderr] | ^^^^ help: remove this bound [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoint/by_ref.rs:58:29 [INFO] [stderr] | [INFO] [stderr] 58 | pub struct ByRefFuture<'a, T: 'a> { [INFO] [stderr] | ^^^^ help: remove this bound [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoints/header.rs:84:29 [INFO] [stderr] | [INFO] [stderr] 84 | pub struct ParseFuture<'e, T: 'e> { [INFO] [stderr] | ^^^^ help: remove this bound [INFO] [stderr] [INFO] [stderr] warning: outlives requirements can be inferred [INFO] [stderr] --> src/endpoints/header.rs:161:32 [INFO] [stderr] | [INFO] [stderr] 161 | pub struct OptionalFuture<'e, T: 'e> { [INFO] [stderr] | ^^^^ help: remove this bound [INFO] [stderr] [INFO] [stderr] warning: 10 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around function argument [INFO] [stderr] --> tests/endpoint/syntax.rs:20:35 [INFO] [stderr] | [INFO] [stderr] 20 | let mut runner = test::runner({ syntax::segment("foo").and(syntax::segment("bar")) }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around function argument [INFO] [stderr] --> tests/endpoints/header.rs:26:22 [INFO] [stderr] | [INFO] [stderr] 26 | test::runner({ endpoints::header::parse::<Mime>("content-type").with_output::<(Mime,)>() }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around function argument [INFO] [stderr] --> tests/endpoints/query.rs:8:35 [INFO] [stderr] | [INFO] [stderr] 8 | let mut runner = test::runner({ query::raw().with_output::<(Option<String>,)>() }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around function argument [INFO] [stderr] --> tests/tests.rs:52:22 [INFO] [stderr] | [INFO] [stderr] 52 | test::runner({ endpoint::lazy(|| Err::<&str, _>(finchers::error::bad_request("error"))) }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/finchers-6ff213dfda61489f) [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test common::combine::tests::case1_units ... ok [INFO] [stdout] test common::combine::tests::case3_unit2 ... ok [INFO] [stdout] test endpoint::by_ref::tests::compiletest_by_ref ... ignored [INFO] [stdout] test server::middleware::error_handler::tests::compiletest_error_handler ... ignored [INFO] [stdout] test server::middleware::log::tests::compiletest_stdlog ... ignored [INFO] [stdout] test common::combine::tests::case4_complicated ... ok [INFO] [stdout] test common::combine::tests::case5_nested ... ok [INFO] [stdout] test endpoint::error::tests::test_merge_1 ... ok [INFO] [stdout] test endpoint::context::tests::test_segments ... ok [INFO] [stdout] test test::tests::test_test_request ... ok [INFO] [stdout] test test::tests::test_apply_all ... ok [INFO] [stdout] test test::tests::test_host_useragent ... ok [INFO] [stdout] test test::tests::test_default_headers ... ok [INFO] [stdout] test endpoint::error::tests::test_merge_2 ... ok [INFO] [stdout] test endpoint::error::tests::test_merge_3 ... ok [INFO] [stdout] test common::combine::tests::case2_unit1 ... ok [INFO] [stdout] test endpoint::syntax::verb::tests::test_methods_single_get ... ok [INFO] [stdout] test endpoint::syntax::verb::tests::test_methods_two_methods ... ok [INFO] [stdout] test output::body::tests::test_either ... ok [INFO] [stdout] test output::body::tests::test_empty ... ok [INFO] [stdout] test output::body::tests::test_optional_some ... ok [INFO] [stdout] test output::body::tests::test_optional_none ... ok [INFO] [stdout] test endpoint::context::tests::test_segments_from_root_path ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/test_import_macros.rs (/opt/rustwide/target/debug/deps/test_import_macros-bd227cc35cd089c0) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_routes_macro ... ok [INFO] [stderr] Running tests/tests.rs (/opt/rustwide/target/debug/deps/tests-3958326a66076349) [INFO] [stdout] test test_path_macro ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 42 tests [INFO] [stdout] test compiletest_new_runtime ... ignored [INFO] [stdout] test endpoint::apply::compiletest_apply ... ignored [INFO] [stdout] test endpoint::apply::compiletest_apply_raw ... ignored [INFO] [stdout] test endpoint::boxed::compiletest ... ignored [INFO] [stdout] test endpoint::macros::compile_test_routes ... ok [INFO] [stdout] test endpoint::and::test_and_flatten ... ok [INFO] [stdout] test endpoint::and::test_and_all_ok ... ok [INFO] [stdout] test endpoint::or::test_or_choose_longer_segments ... ok [INFO] [stdout] test endpoint::map::test_map ... ok [INFO] [stdout] test endpoint::syntax::test_match_encoded_path ... ok [INFO] [stdout] test endpoint::and_then::test_and_then_1 ... ok [INFO] [stdout] test endpoint::or::test_or_with_rejection ... ok [INFO] [stdout] test endpoint::or::test_or_1 ... ok [INFO] [stdout] test endpoint::or_strict::test_or_strict ... ok [INFO] [stdout] test endpoint::syntax::test_extract_integer ... ok [INFO] [stdout] test endpoint::syntax::test_extract_strings ... ok [INFO] [stdout] test endpoint::macros::compile_test_path ... ok [INFO] [stdout] test endpoint::recover::test_recover ... ok [INFO] [stdout] test endpoint::wrap::compiletest_launch_wrapped_endpoint ... ignored [INFO] [stdout] test endpoint::boxed::test_boxed ... ok [INFO] [stdout] test endpoint::and_then::test_and_then_2 ... ok [INFO] [stdout] test endpoint::syntax::test_match_multi_segments ... ok [INFO] [stdout] test endpoints::header::test_header_raw ... ok [INFO] [stdout] test endpoint::wrap::test_wrap ... ok [INFO] [stdout] test endpoint::boxed::test_boxed_local ... ok [INFO] [stdout] test endpoint::syntax::test_path_macro ... ok [INFO] [stdout] test endpoint::syntax::test_match_single_segment ... ok [INFO] [stdout] test endpoints::body::test_body_text ... ok [INFO] [stdout] test endpoints::cookie::test_cookies_get ... ok [INFO] [stdout] test endpoints::cookie::test_cookies_add ... ok [INFO] [stdout] test endpoints::header::test_header_parse_required ... ok [INFO] [stdout] test endpoints::header::test_header_matches_with_rejection ... ok [INFO] [stdout] test endpoints::header::test_header_parse ... ok [INFO] [stdout] test endpoints::cookie::test_cookies_remove ... ok [INFO] [stdout] test endpoints::body::test_body_json ... ok [INFO] [stdout] test endpoints::header::test_header_optional ... ok [INFO] [stdout] test endpoints::body::test_body_urlencoded ... ok [INFO] [stdout] test test_perform_on_error_response ... ok [INFO] [stdout] test endpoints::query::test_query_parse ... ok [INFO] [stdout] test endpoints::upgrade::test_upgrade ... ok [INFO] [stdout] test endpoints::query::test_query_raw ... ok [INFO] [stdout] test endpoints::query::test_query_optional ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 37 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Doc-tests finchers [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> /opt/rustwide/workdir/src/endpoint/syntax/mod.rs:214:34 [INFO] [stderr] | [INFO] [stderr] 214 | _marker: PhantomData<fn() -> (T)>, [INFO] [stderr] | ^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | unused, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: `#[warn(unused_parens)]` implied by `#[warn(unused)]` [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test src/lib.rs - (line 16) ... ok [INFO] [stdout] test src/endpoint/syntax/mod.rs - path (line 253) ... ok [INFO] [stdout] test src/endpoints/header.rs - endpoints::header::parse (line 20) ... ok [INFO] [stdout] test src/endpoints/query.rs - endpoints::query::required (line 22) ... ok [INFO] [stdout] test src/endpoint/syntax/mod.rs - path (line 265) ... ok [INFO] [stdout] test src/rt.rs - rt::blocking_section (line 66) ... ok [INFO] [stdout] test src/endpoints/header.rs - endpoints::header::matches (line 198) ... ok [INFO] [stdout] test src/endpoints/header.rs - endpoints::header::parse (line 30) ... ok [INFO] [stdout] test src/endpoints/header.rs - endpoints::header::matches (line 192) ... ok [INFO] [stdout] test src/endpoints/header.rs - endpoints::header::optional (line 117) ... ok [INFO] [stdout] test src/endpoints/query.rs - endpoints::query::optional (line 124) ... ok [INFO] [stdout] test src/endpoint/by_ref.rs - endpoint::by_ref::by_ref (line 10) ... ok [INFO] [stdout] test src/endpoint/or.rs - routes (line 112) ... ok [INFO] [stdout] test src/endpoint/cloned.rs - endpoint::cloned::cloned (line 10) ... ok [INFO] [stdout] test src/endpoints/cookie.rs - endpoints::cookie::cookies (line 214) ... ok [INFO] [stdout] test src/test.rs - test (line 28) ... ok [INFO] [stdout] test src/test.rs - test (line 5) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 16.27s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8265ecd31eb60dab06bafdb54d8731c6367c5818b11dc240fc9199ef2eb93a97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8265ecd31eb60dab06bafdb54d8731c6367c5818b11dc240fc9199ef2eb93a97", kill_on_drop: false }` [INFO] [stdout] 8265ecd31eb60dab06bafdb54d8731c6367c5818b11dc240fc9199ef2eb93a97