[INFO] crate rouille 3.0.0 is already in cache [INFO] extracting crate rouille 3.0.0 into work/ex/beta-1.38-1/sources/1.37.0/reg/rouille/3.0.0 [INFO] extracting crate rouille 3.0.0 into work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/rouille/3.0.0 [INFO] validating manifest of rouille-3.0.0 on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of rouille-3.0.0 on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing rouille-3.0.0 [INFO] finished frobbing rouille-3.0.0 [INFO] frobbed toml for rouille-3.0.0 written to work/ex/beta-1.38-1/sources/1.37.0/reg/rouille/3.0.0/Cargo.toml [INFO] started frobbing rouille-3.0.0 [INFO] finished frobbing rouille-3.0.0 [INFO] frobbed toml for rouille-3.0.0 written to work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/rouille/3.0.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing rouille-3.0.0 against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-4/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/rouille/3.0.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "build" "--frozen"` [INFO] [stdout] 8742ebb4f0e89eee29f19042174d75bb3722c05cbdd94ed9cb71461b7974df94 [INFO] running `"docker" "start" "-a" "8742ebb4f0e89eee29f19042174d75bb3722c05cbdd94ed9cb71461b7974df94"` [INFO] [stderr] Compiling chunked_transfer v0.3.1 [INFO] [stderr] Compiling ascii v0.8.7 [INFO] [stderr] Compiling brotli-sys v0.3.2 [INFO] [stderr] Compiling time v0.1.42 [INFO] [stderr] Compiling dirs v1.0.5 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling filetime v0.2.7 [INFO] [stderr] Compiling gzip-header v0.3.0 [INFO] [stderr] Compiling buf_redux v0.8.4 [INFO] [stderr] Compiling twoway v0.1.8 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling threadpool v1.7.1 [INFO] [stderr] Compiling deflate v0.7.20 [INFO] [stderr] Compiling term v0.5.2 [INFO] [stderr] Compiling chrono v0.4.7 [INFO] [stderr] Compiling tiny_http v0.6.2 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Compiling mime_guess v1.8.7 [INFO] [stderr] Compiling multipart v0.15.4 [INFO] [stderr] Compiling brotli2 v0.3.2 [INFO] [stderr] Compiling rouille v3.0.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cgi.rs:83:32 [INFO] [stderr] | [INFO] [stderr] 83 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/json.rs:92:32 [INFO] [stderr] | [INFO] [stderr] 92 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/post.rs:170:32 [INFO] [stderr] | [INFO] [stderr] 170 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/post.rs:255:32 [INFO] [stderr] | [INFO] [stderr] 255 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/plain.rs:64:32 [INFO] [stderr] | [INFO] [stderr] 64 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/proxy.rs:115:32 [INFO] [stderr] | [INFO] [stderr] 115 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/websocket/websocket.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | socket: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadWrite + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/websocket/websocket.rs:113:37 [INFO] [stderr] | [INFO] [stderr] 113 | fn build(&mut self, socket: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadWrite + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/response.rs:67:29 [INFO] [stderr] | [INFO] [stderr] 67 | pub upgrade: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Upgrade + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/response.rs:692:15 [INFO] [stderr] | [INFO] [stderr] 692 | data: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/response.rs:793:47 [INFO] [stderr] | [INFO] [stderr] 793 | pub fn into_reader_and_size(self) -> (Box, Option) { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:294:65 [INFO] [stderr] | [INFO] [stderr] 294 | pub fn new(addr: A, handler: F) -> Result, Box> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:464:37 [INFO] [stderr] | [INFO] [stderr] 464 | fn build(&mut self, socket: Box); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadWrite + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:476:32 [INFO] [stderr] | [INFO] [stderr] 476 | data: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:827:15 [INFO] [stderr] | [INFO] [stderr] 827 | body: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/lib.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/content_encoding.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/websocket/mod.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/response.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_left': superseded by `trim_start` [INFO] [stderr] --> src/input/priority_header.rs:131:35 [INFO] [stderr] | [INFO] [stderr] 131 | let trimmed_p = p.trim_left(); [INFO] [stderr] | ^^^^^^^^^ help: replace the use of the deprecated item: `trim_start` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/try_or_400.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | let cause = err.cause().map(ErrJson::from_err).map(Box::new); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 27.64s [INFO] running `"docker" "inspect" "8742ebb4f0e89eee29f19042174d75bb3722c05cbdd94ed9cb71461b7974df94"` [INFO] running `"docker" "rm" "-f" "8742ebb4f0e89eee29f19042174d75bb3722c05cbdd94ed9cb71461b7974df94"` [INFO] [stdout] 8742ebb4f0e89eee29f19042174d75bb3722c05cbdd94ed9cb71461b7974df94 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-4/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/rouille/3.0.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 81fe7edbd645476817490fe9344951f5b35f28efc7d22c6cab53fe9cca4f7d3c [INFO] running `"docker" "start" "-a" "81fe7edbd645476817490fe9344951f5b35f28efc7d22c6cab53fe9cca4f7d3c"` [INFO] [stderr] Compiling fallible-iterator v0.1.6 [INFO] [stderr] Compiling hex v0.2.0 [INFO] [stderr] Compiling stringprep v0.1.2 [INFO] [stderr] Compiling socket2 v0.3.11 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling postgres-protocol v0.3.2 [INFO] [stderr] Compiling postgres-shared v0.4.2 [INFO] [stderr] Compiling postgres v0.15.2 [INFO] [stderr] Compiling rouille v3.0.0 (/opt/crater/workdir) [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> examples/login-session.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | / router!(request, [INFO] [stderr] 94 | | (POST) (/login) => { [INFO] [stderr] 95 | | // This is the route that is called when the user wants to log in. [INFO] [stderr] 96 | | [INFO] [stderr] ... | [INFO] [stderr] 143 | | _ => () [INFO] [stderr] 144 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> examples/login-session.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | / router!(request, [INFO] [stderr] 94 | | (POST) (/login) => { [INFO] [stderr] 95 | | // This is the route that is called when the user wants to log in. [INFO] [stderr] 96 | | [INFO] [stderr] ... | [INFO] [stderr] 143 | | _ => () [INFO] [stderr] 144 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cgi.rs:83:32 [INFO] [stderr] | [INFO] [stderr] 83 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/json.rs:92:32 [INFO] [stderr] | [INFO] [stderr] 92 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/post.rs:170:32 [INFO] [stderr] | [INFO] [stderr] 170 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/post.rs:255:32 [INFO] [stderr] | [INFO] [stderr] 255 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/input/plain.rs:64:32 [INFO] [stderr] | [INFO] [stderr] 64 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/proxy.rs:115:32 [INFO] [stderr] | [INFO] [stderr] 115 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/websocket/websocket.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | socket: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadWrite + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/websocket/websocket.rs:113:37 [INFO] [stderr] | [INFO] [stderr] 113 | fn build(&mut self, socket: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadWrite + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/response.rs:67:29 [INFO] [stderr] | [INFO] [stderr] 67 | pub upgrade: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Upgrade + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/response.rs:692:15 [INFO] [stderr] | [INFO] [stderr] 692 | data: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/response.rs:793:47 [INFO] [stderr] | [INFO] [stderr] 793 | pub fn into_reader_and_size(self) -> (Box, Option) { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:294:65 [INFO] [stderr] | [INFO] [stderr] 294 | pub fn new(addr: A, handler: F) -> Result, Box> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + Sync` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:464:37 [INFO] [stderr] | [INFO] [stderr] 464 | fn build(&mut self, socket: Box); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReadWrite + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:476:32 [INFO] [stderr] | [INFO] [stderr] 476 | data: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:827:15 [INFO] [stderr] | [INFO] [stderr] 827 | body: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Read + Send` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/lib.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/content_encoding.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/websocket/mod.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/response.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_left': superseded by `trim_start` [INFO] [stderr] --> src/input/priority_header.rs:131:35 [INFO] [stderr] | [INFO] [stderr] 131 | let trimmed_p = p.trim_left(); [INFO] [stderr] | ^^^^^^^^^ help: replace the use of the deprecated item: `trim_start` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/try_or_400.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | let cause = err.cause().map(ErrJson::from_err).map(Box::new); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/router.rs:428:42 [INFO] [stderr] | [INFO] [stderr] 428 | (GET) ["/math/{a}/plus/{b}", a: u32 , b: u32] => { 7. }, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/router.rs:428:51 [INFO] [stderr] | [INFO] [stderr] 428 | (GET) ["/math/{a}/plus/{b}", a: u32 , b: u32] => { 7. }, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/router.rs:556:37 [INFO] [stderr] | [INFO] [stderr] 556 | (GET) ["/hello/{name}", name: String, id: u32] => { 1 }, // this should fail [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `id` [INFO] [stderr] --> src/router.rs:556:51 [INFO] [stderr] | [INFO] [stderr] 556 | (GET) ["/hello/{name}", name: String, id: u32] => { 1 }, // this should fail [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_id` [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> examples/hello-world.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / router!(request, [INFO] [stderr] 32 | | (GET) (/) => { [INFO] [stderr] 33 | | // If the request's URL is `/`, we jump here. [INFO] [stderr] 34 | | // This block builds a `Response` object that redirects to the `/hello/world`. [INFO] [stderr] ... | [INFO] [stderr] 81 | | _ => rouille::Response::empty_404() [INFO] [stderr] 82 | | ) [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 31.66s [INFO] running `"docker" "inspect" "81fe7edbd645476817490fe9344951f5b35f28efc7d22c6cab53fe9cca4f7d3c"` [INFO] running `"docker" "rm" "-f" "81fe7edbd645476817490fe9344951f5b35f28efc7d22c6cab53fe9cca4f7d3c"` [INFO] [stdout] 81fe7edbd645476817490fe9344951f5b35f28efc7d22c6cab53fe9cca4f7d3c [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-4/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/rouille/3.0.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen"` [INFO] [stdout] d83e48e089b423762b9ddfbe662e210af8bc7bea02026158e64329f63d11236e [INFO] running `"docker" "start" "-a" "d83e48e089b423762b9ddfbe662e210af8bc7bea02026158e64329f63d11236e"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running /opt/crater/target/debug/deps/rouille-094fda8b2dd2e8ff [INFO] [stdout] [INFO] [stdout] running 87 tests [INFO] [stdout] test content_encoding::tests::one_req_encoding ... ok [INFO] [stdout] test content_encoding::tests::no_req_encodings ... ok [INFO] [stdout] test content_encoding::tests::multi_req_encoding ... ok [INFO] [stdout] test content_encoding::tests::empty_req_encodings ... ok [INFO] [stdout] test input::accept::tests::basic ... ok [INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_ok ... ok [INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_no_header ... ok [INFO] [stdout] test input::accept::tests::wildcard ... ok [INFO] [stdout] test input::accept::tests::no_match ... ok [INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_wrong_header ... ok [INFO] [stdout] test input::cookies::test::cookies_ok ... ok [INFO] [stdout] test input::cookies::test::no_cookie ... ok [INFO] [stdout] test input::plain::test::body_twice ... ok [INFO] [stdout] test input::plain::test::bytes_limit ... ok [INFO] [stdout] test input::plain::test::non_utf8_encoding ... ignored [INFO] [stdout] test input::plain::test::charset ... ok [INFO] [stdout] test input::plain::test::exact_limit ... ok [INFO] [stdout] test input::plain::test::missing_content_type ... ok [INFO] [stdout] test input::plain::test::non_utf8_body ... ok [INFO] [stdout] test input::plain::test::ok ... ok [INFO] [stdout] test input::plain::test::wrong_content_type ... ok [INFO] [stdout] test input::post::tests::basic_bool ... ok [INFO] [stdout] test input::post::tests::basic_float ... ok [INFO] [stdout] test input::post::tests::basic_int ... ok [INFO] [stdout] test input::post::tests::basic_option_string ... ok [INFO] [stdout] test input::post::tests::basic_string ... ok [INFO] [stdout] test input::post::tests::body_extracted ... ok [INFO] [stdout] test input::post::tests::missing_field ... ok [INFO] [stdout] test input::post::tests::missing_field_bool ... ok [INFO] [stdout] test input::post::tests::missing_field_option ... ok [INFO] [stdout] test input::post::tests::missing_field_vec ... ok [INFO] [stdout] test input::post::tests::multiple_values ... ok [INFO] [stdout] test input::post::tests::not_utf8 ... ignored [INFO] [stdout] test input::post::tests::multiple_values_bool ... ok [INFO] [stdout] test input::post::tests::multiple_values_vec ... ok [INFO] [stdout] test input::post::tests::multiple_values_vec_option_parse_failure ... ok [INFO] [stdout] test input::post::tests::multiple_values_vec_parse_failure ... ok [INFO] [stdout] test input::post::tests::num_overflow ... ok [INFO] [stdout] test input::post::tests::num_parse_error ... ok [INFO] [stdout] test input::post::tests::num_parse_error_option ... ok [INFO] [stdout] test input::post::tests::too_many_fields ... ok [INFO] [stdout] test input::post::tests::weird_stuff ... ok [INFO] [stdout] test input::post::tests::wrong_content_type ... ok [INFO] [stdout] test input::priority_header::tests::parse_basic ... ok [INFO] [stdout] test input::priority_header::tests::parse_white_spaces ... ok [INFO] [stdout] test input::priority_header::tests::preferred_basic ... ok [INFO] [stdout] test input::priority_header::tests::preferred_empty ... ok [INFO] [stdout] test input::priority_header::tests::preferred_multimatch_first ... ok [INFO] [stdout] test input::priority_header::tests::preferred_wildcard_header ... ok [INFO] [stdout] test input::priority_header::tests::preferred_wildcard_header_left ... ok [INFO] [stdout] test response::tests::unique_header_adds ... ok [INFO] [stdout] test input::accept::tests::no_header_first ... ok [INFO] [stdout] test response::tests::unique_header_adds_without_touching ... ok [INFO] [stdout] test response::tests::unique_header_replaces ... ok [INFO] [stdout] test input::accept::tests::no_header_wildcard ... ok [INFO] [stdout] test router::tests::basic ... ok [INFO] [stdout] test router::tests::dash ... ok [INFO] [stdout] test router::tests::multiple_params ... ok [INFO] [stdout] test router::tests::numbers ... ok [INFO] [stdout] test router::tests::old_style_basic ... ok [INFO] [stdout] test router::tests::old_style_trailing_comma ... ok [INFO] [stdout] test router::tests::old_style_params ... ok [INFO] [stdout] test router::tests::old_style_dash ... ok [INFO] [stdout] test router::tests::old_style_trailing_commas ... ok [INFO] [stdout] test router::tests::param_slash ... ok [INFO] [stdout] test router::tests::skip_failed_parse_float ... ok [INFO] [stdout] test router::tests::encoded ... ok [INFO] [stdout] test router::tests::encoded_old ... ok [INFO] [stdout] test router::tests::skip_failed_parse_string ... ok [INFO] [stdout] test router::tests::trailing_commas ... ok [INFO] [stdout] test router::tests::trailing_comma ... ok [INFO] [stdout] test tests::body_twice ... ok [INFO] [stdout] test router::tests::url_parameter_ownership ... ok [INFO] [stdout] test router::tests::files ... ok [INFO] [stdout] test tests::encoded_plus_in_query_string ... ok [INFO] [stdout] test input::accept::tests::multimatch_first ... ok [INFO] [stdout] test tests::dnt ... ok [INFO] [stdout] test tests::plus_in_url ... ok [INFO] [stdout] test tests::plus_in_query_string ... ok [INFO] [stdout] test tests::url_encode ... ok [INFO] [stdout] test tests::get_param ... ok [INFO] [stdout] test websocket::low_level::tests::basic ... ok [INFO] [stdout] test tests::header ... ok [INFO] [stdout] test tests::url_strips_get_query ... ok [INFO] [stdout] test tests::urlencode_query_string ... ok [INFO] [stdout] test router::tests::parameter_with_no_matching_identity ... ok [INFO] [stdout] test router::tests::identity_not_present_in_url_string ... ok [INFO] [stderr] Doc-tests rouille [INFO] [stdout] [INFO] [stdout] test result: ok. 85 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 67 tests [INFO] [stdout] test src/assets.rs - assets::match_assets (line 33) ... ok [INFO] [stdout] test src/cgi.rs - cgi (line 18) ... ok [INFO] [stdout] test src/assets.rs - assets::match_assets (line 66) ... ok [INFO] [stdout] test src/content_encoding.rs - content_encoding::accepted_content_encodings (line 101) ... ok [INFO] [stdout] test src/content_encoding.rs - content_encoding::apply (line 34) ... ok [INFO] [stdout] test src/find_route.rs - find_route (line 17) ... ok [INFO] [stdout] test src/input/accept.rs - accept (line 30) ... ok [INFO] [stdout] test src/input/accept.rs - accept (line 46) ... ok [INFO] [stdout] test src/input/basic_http_auth.rs - input::basic_http_auth::basic_http_auth (line 38) ... ok [INFO] [stdout] test src/input/cookies.rs - input::cookies::cookies (line 30) ... ok [INFO] [stdout] test src/input/json.rs - input::json (line 17) ... ok [INFO] [stdout] test src/input/plain.rs - input::plain::plain_text_body (line 90) ... ok [INFO] [stdout] test src/input/post.rs - input::post (line 14) ... ok [INFO] [stdout] test src/input/json.rs - input::json::json_input (line 114) ... ok [INFO] [stdout] test src/input/post.rs - input::post (line 75) ... ok [INFO] [stdout] test src/lib.rs - (line 14) ... ok [INFO] [stdout] test src/input/priority_header.rs - input::priority_header::parse_priority_header (line 88) ... ok [INFO] [stdout] test src/lib.rs - Request::data (line 758) ... ok [INFO] [stdout] test src/lib.rs - Request::do_not_track (line 730) ... ok [INFO] [stdout] test src/input/priority_header.rs - input::priority_header::priority_header_preferred (line 23) ... ok [INFO] [stdout] test src/lib.rs - Request::is_secure (line 605) ... ok [INFO] [stdout] test src/lib.rs - Request::remote_addr (line 787) ... ok [INFO] [stdout] test src/lib.rs - Request::remove_prefix (line 572) ... ok [INFO] [stdout] test src/lib.rs - Server (line 270) ... ok [INFO] [stdout] test src/lib.rs - start_server (line 190) ... ok [INFO] [stdout] test src/lib.rs - Request::raw_url (line 635) ... ok [INFO] [stdout] test src/log.rs - log::log (line 31) ... ok [INFO] [stdout] test src/lib.rs - assert_or_400 (line 133) ... ok [INFO] [stdout] test src/lib.rs - Request::url (line 672) ... ok [INFO] [stdout] test src/proxy.rs - proxy (line 34) ... ok [INFO] [stdout] test src/log.rs - log::log_custom (line 79) ... ok [INFO] [stdout] test src/response.rs - response::Response::from_file (line 271) ... ok [INFO] [stdout] test src/response.rs - response::Response::basic_http_auth_login_required (line 382) ... ok [INFO] [stdout] test src/response.rs - response::Response::is_error (line 100) ... ok [INFO] [stdout] test src/response.rs - response::Response::empty_204 (line 401) ... ok [INFO] [stdout] test src/response.rs - response::Response::empty_404 (line 437) ... ok [INFO] [stdout] test src/response.rs - response::Response::from_data (line 250) ... ok [INFO] [stdout] test src/response.rs - response::Response::empty_406 (line 455) ... ok [INFO] [stdout] test src/response.rs - response::Response::html (line 294) ... ok [INFO] [stdout] test src/response.rs - response::Response::empty_400 (line 419) ... ok [INFO] [stdout] test src/response.rs - response::Response::is_success (line 86) ... ok [INFO] [stdout] test src/response.rs - response::Response::json (line 348) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_301 (line 118) ... ok [INFO] [stdout] test src/response.rs - response::Response::with_content_disposition_attachment (line 606) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_302 (line 142) ... ok [INFO] [stdout] test src/response.rs - response::Response::with_etag (line 551) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_307 (line 201) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_303 (line 171) ... ok [INFO] [stdout] test src/response.rs - response::Response::svg (line 312) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_308 (line 230) ... ok [INFO] [stdout] test src/response.rs - response::Response::text (line 330) ... ok [INFO] [stdout] test src/response.rs - response::ResponseBody::from_file (line 758) ... ok [INFO] [stdout] test src/router.rs - router (line 44) ... ignored [INFO] [stdout] test src/router.rs - router (line 56) ... ignored [INFO] [stdout] test src/router.rs - router (line 68) ... ignored [INFO] [stdout] test src/router.rs - router (line 78) ... ignored [INFO] [stdout] test src/response.rs - response::ResponseBody::from_reader (line 720) ... ok [INFO] [stdout] test src/response.rs - response::ResponseBody::empty (line 701) ... ok [INFO] [stdout] test src/response.rs - response::Response::with_status_code (line 473) ... ok [INFO] [stdout] test src/response.rs - response::ResponseBody (line 687) ... ok [INFO] [stdout] test src/router.rs - router (line 14) ... ok [INFO] [stdout] test src/websocket/mod.rs - websocket (line 49) ... ok [INFO] [stdout] test src/session.rs - session (line 20) ... ok [INFO] [stdout] test src/try_or_400.rs - try_or_400 (line 20) ... ok [INFO] [stdout] test src/websocket/mod.rs - websocket::requested_protocols (line 195) ... ok [INFO] [stdout] test src/response.rs - response::ResponseBody::from_data (line 739) ... ok [INFO] [stdout] test src/response.rs - response::ResponseBody::from_string (line 779) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 63 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "d83e48e089b423762b9ddfbe662e210af8bc7bea02026158e64329f63d11236e"` [INFO] running `"docker" "rm" "-f" "d83e48e089b423762b9ddfbe662e210af8bc7bea02026158e64329f63d11236e"` [INFO] [stdout] d83e48e089b423762b9ddfbe662e210af8bc7bea02026158e64329f63d11236e