[INFO] cloning repository https://github.com/TerenceGe/rust_data_api
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TerenceGe/rust_data_api" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTerenceGe%2Frust_data_api", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTerenceGe%2Frust_data_api'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8612a28f0fb0c2d7694dcf2c98b6fbe4d7d79391
[INFO] testing TerenceGe/rust_data_api against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTerenceGe%2Frust_data_api" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/TerenceGe/rust_data_api on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/TerenceGe/rust_data_api
[INFO] finished tweaking git repo https://github.com/TerenceGe/rust_data_api
[INFO] tweaked toml for git repo https://github.com/TerenceGe/rust_data_api written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/TerenceGe/rust_data_api already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] error: the lock file /workspace/builds/worker-5/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] da7de1c97e4f23f9b621d9818e23a1d6a8a863aa04ea32cee2e7fb53c280bee3
[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" "da7de1c97e4f23f9b621d9818e23a1d6a8a863aa04ea32cee2e7fb53c280bee3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da7de1c97e4f23f9b621d9818e23a1d6a8a863aa04ea32cee2e7fb53c280bee3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da7de1c97e4f23f9b621d9818e23a1d6a8a863aa04ea32cee2e7fb53c280bee3", kill_on_drop: false }`
[INFO] [stdout] da7de1c97e4f23f9b621d9818e23a1d6a8a863aa04ea32cee2e7fb53c280bee3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1bb98eaaadff4b05033b540dac9176c53fde59c0e4a16e05a4cc2fca15e25d61
[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" "1bb98eaaadff4b05033b540dac9176c53fde59c0e4a16e05a4cc2fca15e25d61", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling atomic-waker v1.0.0
[INFO] [stderr]    Compiling standback v0.2.11
[INFO] [stderr]    Compiling time v0.2.22
[INFO] [stderr]    Compiling async-mutex v1.4.0
[INFO] [stderr]    Compiling nb-connect v1.0.2
[INFO] [stderr]    Compiling async-trait v0.1.41
[INFO] [stderr]    Compiling futures-util v0.3.6
[INFO] [stderr]    Compiling blocking v1.0.2
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling mio v0.6.22
[INFO] [stderr]    Compiling polling v2.0.1
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling tracing v0.1.21
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling async-io v1.1.10
[INFO] [stderr]    Compiling mime v0.2.6
[INFO] [stderr]    Compiling mime_guess v1.8.8
[INFO] [stderr]    Compiling hyper v0.10.16
[INFO] [stderr]    Compiling async-global-executor v1.4.0
[INFO] [stderr]    Compiling multipart v0.13.6
[INFO] [stderr]    Compiling async-std v1.6.5
[INFO] [stderr]    Compiling mio-uds v0.6.8
[INFO] [stderr]    Compiling time-macros v0.1.1
[INFO] [stderr]    Compiling tokio v0.2.22
[INFO] [stderr]    Compiling iron v0.6.1
[INFO] [stderr]    Compiling persistent v0.4.0
[INFO] [stderr]    Compiling router v0.6.0
[INFO] [stderr]    Compiling bodyparser v0.8.0
[INFO] [stderr]    Compiling urlencoded v0.6.0
[INFO] [stderr]    Compiling params v0.8.0
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling combine v4.3.2
[INFO] [stderr]    Compiling h2 v0.2.6
[INFO] [stderr]    Compiling hyper v0.13.8
[INFO] [stderr]    Compiling redis v0.17.0
[INFO] [stderr]    Compiling data_api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let client = try!(redis::Client::open("redis://127.0.0.1:6379"));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let con = try!(client.get_connection());
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |             *ticker = try!(con.get("ticker_btccny"));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |             *ticker = try!(con.get("ticker_ltccny"));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 |             *ticker = try!(con.get("ticker_ltcbtc"));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let ticker_btccny : String = try!(con.get("ticker_btccny"));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:52:42
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let ticker_ltccny : String = try!(con.get("ticker_ltccny"));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:53:42
[INFO] [stdout]    |
[INFO] [stdout] 53 |             let ticker_ltcbtc : String = try!(con.get("ticker_ltcbtc"));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use time::precise_time_ns;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]   --> src/main.rs:24:47
[INFO] [stdout]    |
[INFO] [stdout] 24 |         req.extensions.insert::<ResponseTime>(precise_time_ns());
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]   --> src/main.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let delta = precise_time_ns() - *req.extensions.get::<ResponseTime>().unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/main.rs:55:66
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 ticker_btccny.replace("ticker", "ticker_btccny").trim_right_matches('}'), "}",
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/main.rs:56:66
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 ticker_ltccny.replace("ticker", "ticker_ltccny").trim_right_matches('}').trim_left_matches('{'), "}",
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/main.rs:56:90
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 ticker_ltccny.replace("ticker", "ticker_ltccny").trim_right_matches('}').trim_left_matches('{'), "}",
[INFO] [stdout]    |                                                                                          ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/main.rs:57:66
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 ticker_ltcbtc.replace("ticker", "ticker_ltcbtc").trim_right_matches('}').trim_left_matches('{'), "}", "}");
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/main.rs:57:90
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 ticker_ltcbtc.replace("ticker", "ticker_ltcbtc").trim_right_matches('}').trim_left_matches('{'), "}", "}");
[INFO] [stdout]    |                                                                                          ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:72:62
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     println!("  {}: {}", err.category(), err.description());
[INFO] [stdout]    |                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/main.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |     router.get("/ticker", move |r: &mut Request| fetch_ticker(r));
[INFO] [stdout]    |            ^^^ ---------  -------------------------------------- supplied 2 arguments
[INFO] [stdout]    |            |
[INFO] [stdout]    |            expected 3 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `data_api`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "1bb98eaaadff4b05033b540dac9176c53fde59c0e4a16e05a4cc2fca15e25d61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1bb98eaaadff4b05033b540dac9176c53fde59c0e4a16e05a4cc2fca15e25d61", kill_on_drop: false }`
[INFO] [stdout] 1bb98eaaadff4b05033b540dac9176c53fde59c0e4a16e05a4cc2fca15e25d61
