[INFO] cloning repository https://github.com/austudio-team/austudio-template-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/austudio-team/austudio-template-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faustudio-team%2Faustudio-template-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faustudio-team%2Faustudio-template-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 622adb228983be4abd711fc82f09fe35bce97fef
[INFO] testing austudio-team/austudio-template-server against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faustudio-team%2Faustudio-template-server" "/workspace/builds/worker-11/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/austudio-team/austudio-template-server 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/austudio-team/austudio-template-server
[INFO] finished tweaking git repo https://github.com/austudio-team/austudio-template-server
[INFO] tweaked toml for git repo https://github.com/austudio-team/austudio-template-server written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] crate git repo https://github.com/austudio-team/austudio-template-server 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]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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] f39beeeb0827cd1767c6333e8fd35214e4200794a4efa6313376eeaaf3848abd
[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" "f39beeeb0827cd1767c6333e8fd35214e4200794a4efa6313376eeaaf3848abd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f39beeeb0827cd1767c6333e8fd35214e4200794a4efa6313376eeaaf3848abd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f39beeeb0827cd1767c6333e8fd35214e4200794a4efa6313376eeaaf3848abd", kill_on_drop: false }`
[INFO] [stdout] f39beeeb0827cd1767c6333e8fd35214e4200794a4efa6313376eeaaf3848abd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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] 390bb252671c8ebd6121fcf88a650a3a6d379b3df456e03f28f1a4fde0e24029
[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" "390bb252671c8ebd6121fcf88a650a3a6d379b3df456e03f28f1a4fde0e24029", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling syn v1.0.13
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling if_chain v0.1.3
[INFO] [stderr]    Compiling bytestring v0.1.2
[INFO] [stderr]    Compiling futures-channel v0.3.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.16.0
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling twoway v0.2.1
[INFO] [stderr]    Compiling xattr v0.2.2
[INFO] [stderr]    Compiling filetime v0.2.8
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling tokio v0.2.6
[INFO] [stderr]    Compiling tar v0.4.26
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling tokio-util v0.2.0
[INFO] [stderr]    Compiling derive-error-chain v0.10.1
[INFO] [stderr]    Compiling actix-codec v0.2.0
[INFO] [stderr]    Compiling dotenv v0.10.1
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]    Compiling proc-macro-hack v0.5.11
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]    Compiling derive_more v0.99.2
[INFO] [stderr]    Compiling pin-project-internal v0.4.6
[INFO] [stderr]    Compiling actix-macros v0.1.1
[INFO] [stderr]    Compiling failure_derive v0.1.6
[INFO] [stderr]    Compiling async-trait v0.1.22
[INFO] [stderr]    Compiling enum-as-inner v0.3.0
[INFO] [stderr]    Compiling actix-web-codegen v0.2.0
[INFO] [stderr]    Compiling v_escape_derive v0.5.6
[INFO] [stderr]    Compiling diesel_derives v1.4.1
[INFO] [stderr]    Compiling actix_derive v0.5.0
[INFO] [stderr]    Compiling failure v0.1.6
[INFO] [stderr]    Compiling futures-macro v0.3.1
[INFO] [stderr]    Compiling v_escape v0.7.4
[INFO] [stderr]    Compiling v_htmlescape v0.4.5
[INFO] [stderr]    Compiling pin-project v0.4.6
[INFO] [stderr]    Compiling futures-util v0.3.1
[INFO] [stderr]    Compiling actix-threadpool v0.3.1
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling futures-executor v0.3.1
[INFO] [stderr]    Compiling actix-service v1.0.1
[INFO] [stderr]    Compiling h2 v0.2.1
[INFO] [stderr]    Compiling futures v0.3.1
[INFO] [stderr]    Compiling actix-rt v1.0.0
[INFO] [stderr]    Compiling trust-dns-proto v0.18.0-alpha.2
[INFO] [stderr]    Compiling actix-utils v1.0.4
[INFO] [stderr]    Compiling actix-server v1.0.1
[INFO] [stderr]    Compiling actix-tls v1.0.0
[INFO] [stderr]    Compiling actix-testing v1.0.0
[INFO] [stderr]    Compiling trust-dns-resolver v0.18.0-alpha.2
[INFO] [stderr]    Compiling actix-connect v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.44
[INFO] [stderr]    Compiling chrono v0.4.10
[INFO] [stderr]    Compiling serde_urlencoded v0.6.1
[INFO] [stderr]    Compiling actix-router v0.2.4
[INFO] [stderr]    Compiling validator v0.8.0
[INFO] [stderr]    Compiling actix-http v1.0.1
[INFO] [stderr]    Compiling diesel v1.4.3
[INFO] [stderr]    Compiling validator_derive v0.8.0
[INFO] [stderr]    Compiling awc v1.0.1
[INFO] [stderr]    Compiling actix v0.9.0
[INFO] [stderr]    Compiling actix-web v2.0.0
[INFO] [stderr]    Compiling actix-files v0.2.1
[INFO] [stderr]    Compiling actix-multipart v0.2.0
[INFO] [stderr]    Compiling austudio-template-server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]  --> src/app/version.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix_multipart::{Multipart, Field};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryStreamExt`
[INFO] [stdout]   --> src/app/version.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::{StreamExt, TryStreamExt};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::web::Bytes`
[INFO] [stdout]   --> src/app/version.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use actix_web::web::Bytes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HttpResponse`
[INFO] [stdout]  --> src/app/static_files.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use actix_web::{HttpRequest, web, HttpMessage, HttpResponse, Responder};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicVersion`
[INFO] [stdout]  --> src/app/static_files.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::app::{AppState, BasicVersion};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_last_version`
[INFO] [stdout]  --> src/app/static_files.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::utils::last_version::{get_last_version, parse_cookie_version};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HttpResponse`
[INFO] [stdout]  --> src/app/index.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use actix_web::{HttpRequest, web, HttpMessage, HttpResponse, Responder};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicVersion`
[INFO] [stdout]  --> src/app/index.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::app::{AppState, BasicVersion};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_last_version`
[INFO] [stdout]  --> src/app/index.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::utils::last_version::{get_last_version, parse_cookie_version};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/app/index.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |   let cookie = req.cookie("version");;
[INFO] [stdout]    |                                      ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HttpRequest`
[INFO] [stdout]  --> src/app/mod.rs:9:60
[INFO] [stdout]   |
[INFO] [stdout] 9 | use actix_web::{web, App, HttpServer, HttpResponse, guard, HttpRequest};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::Error`
[INFO] [stdout]   --> src/app/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::web::Bytes`
[INFO] [stdout]  --> src/utils/extract_file.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::web::Bytes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_multipart::Field`
[INFO] [stdout]  --> src/utils/extract_file.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use actix_multipart::Field;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/utils/extract_file.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/app/version.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |   let mut last_version = state.last_version.lock().unwrap();
[INFO] [stdout]    |       ----^^^^^^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/main.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 |   app::start();
[INFO] [stdout]    |   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `empty_template` should have an upper case name
[INFO] [stdout]   --> src/error.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const empty_template: &'static str = r#"
[INFO] [stdout]    |       ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `EMPTY_TEMPLATE`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::sync::MutexGuard` that must be used
[INFO] [stdout]    --> src/app/version.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |       get_last_version(&db, last_version, true).await;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if unused the Mutex will immediately unlock
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/utils/extract_file.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         remove_dir_all(path);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/utils/extract_file.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 29 |   create_dir_all(path);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3m 51s
[INFO] running `Command { std: "docker" "inspect" "390bb252671c8ebd6121fcf88a650a3a6d379b3df456e03f28f1a4fde0e24029", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "390bb252671c8ebd6121fcf88a650a3a6d379b3df456e03f28f1a4fde0e24029", kill_on_drop: false }`
[INFO] [stdout] 390bb252671c8ebd6121fcf88a650a3a6d379b3df456e03f28f1a4fde0e24029
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 6db55541d2453c032edb8cee3c246a1321a9d4188df9a1e71246facd9cbb8865
[INFO] running `Command { std: "docker" "start" "-a" "6db55541d2453c032edb8cee3c246a1321a9d4188df9a1e71246facd9cbb8865", kill_on_drop: false }`
[INFO] [stderr]    Compiling austudio-template-server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]  --> src/app/version.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix_multipart::{Multipart, Field};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryStreamExt`
[INFO] [stdout]   --> src/app/version.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::{StreamExt, TryStreamExt};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::web::Bytes`
[INFO] [stdout]   --> src/app/version.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use actix_web::web::Bytes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HttpResponse`
[INFO] [stdout]  --> src/app/static_files.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use actix_web::{HttpRequest, web, HttpMessage, HttpResponse, Responder};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicVersion`
[INFO] [stdout]  --> src/app/static_files.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::app::{AppState, BasicVersion};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_last_version`
[INFO] [stdout]  --> src/app/static_files.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::utils::last_version::{get_last_version, parse_cookie_version};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HttpResponse`
[INFO] [stdout]  --> src/app/index.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use actix_web::{HttpRequest, web, HttpMessage, HttpResponse, Responder};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicVersion`
[INFO] [stdout]  --> src/app/index.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::app::{AppState, BasicVersion};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_last_version`
[INFO] [stdout]  --> src/app/index.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::utils::last_version::{get_last_version, parse_cookie_version};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/app/index.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |   let cookie = req.cookie("version");;
[INFO] [stdout]    |                                      ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HttpRequest`
[INFO] [stdout]  --> src/app/mod.rs:9:60
[INFO] [stdout]   |
[INFO] [stdout] 9 | use actix_web::{web, App, HttpServer, HttpResponse, guard, HttpRequest};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::Error`
[INFO] [stdout]   --> src/app/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::web::Bytes`
[INFO] [stdout]  --> src/utils/extract_file.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::web::Bytes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_multipart::Field`
[INFO] [stdout]  --> src/utils/extract_file.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use actix_multipart::Field;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/utils/extract_file.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/app/version.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |   let mut last_version = state.last_version.lock().unwrap();
[INFO] [stdout]    |       ----^^^^^^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/main.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 |   app::start();
[INFO] [stdout]    |   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `empty_template` should have an upper case name
[INFO] [stdout]   --> src/error.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const empty_template: &'static str = r#"
[INFO] [stdout]    |       ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `EMPTY_TEMPLATE`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::sync::MutexGuard` that must be used
[INFO] [stdout]    --> src/app/version.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |       get_last_version(&db, last_version, true).await;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if unused the Mutex will immediately unlock
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/utils/extract_file.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         remove_dir_all(path);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/utils/extract_file.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 29 |   create_dir_all(path);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.44s
[INFO] running `Command { std: "docker" "inspect" "6db55541d2453c032edb8cee3c246a1321a9d4188df9a1e71246facd9cbb8865", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6db55541d2453c032edb8cee3c246a1321a9d4188df9a1e71246facd9cbb8865", kill_on_drop: false }`
[INFO] [stdout] 6db55541d2453c032edb8cee3c246a1321a9d4188df9a1e71246facd9cbb8865
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] e5fc061014bf44469fd2e5ebba9095298d4a79e674f4b9874deeb3fe405920a2
[INFO] running `Command { std: "docker" "start" "-a" "e5fc061014bf44469fd2e5ebba9095298d4a79e674f4b9874deeb3fe405920a2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Field`
[INFO] [stderr]  --> src/app/version.rs:6:34
[INFO] [stderr]   |
[INFO] [stderr] 6 | use actix_multipart::{Multipart, Field};
[INFO] [stderr]   |                                  ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TryStreamExt`
[INFO] [stderr]   --> src/app/version.rs:10:26
[INFO] [stderr]    |
[INFO] [stderr] 10 | use futures::{StreamExt, TryStreamExt};
[INFO] [stderr]    |                          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::web::Bytes`
[INFO] [stderr]   --> src/app/version.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use actix_web::web::Bytes;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HttpResponse`
[INFO] [stderr]  --> src/app/static_files.rs:1:48
[INFO] [stderr]   |
[INFO] [stderr] 1 | use actix_web::{HttpRequest, web, HttpMessage, HttpResponse, Responder};
[INFO] [stderr]   |                                                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BasicVersion`
[INFO] [stderr]  --> src/app/static_files.rs:4:28
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::app::{AppState, BasicVersion};
[INFO] [stderr]   |                            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `get_last_version`
[INFO] [stderr]  --> src/app/static_files.rs:5:34
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::utils::last_version::{get_last_version, parse_cookie_version};
[INFO] [stderr]   |                                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HttpResponse`
[INFO] [stderr]  --> src/app/index.rs:1:48
[INFO] [stderr]   |
[INFO] [stderr] 1 | use actix_web::{HttpRequest, web, HttpMessage, HttpResponse, Responder};
[INFO] [stderr]   |                                                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BasicVersion`
[INFO] [stderr]  --> src/app/index.rs:4:28
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::app::{AppState, BasicVersion};
[INFO] [stderr]   |                            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `get_last_version`
[INFO] [stderr]  --> src/app/index.rs:5:34
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::utils::last_version::{get_last_version, parse_cookie_version};
[INFO] [stderr]   |                                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/app/index.rs:11:38
[INFO] [stderr]    |
[INFO] [stderr] 11 |   let cookie = req.cookie("version");;
[INFO] [stderr]    |                                      ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HttpRequest`
[INFO] [stderr]  --> src/app/mod.rs:9:60
[INFO] [stderr]   |
[INFO] [stderr] 9 | use actix_web::{web, App, HttpServer, HttpResponse, guard, HttpRequest};
[INFO] [stderr]   |                                                            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::error::Error`
[INFO] [stderr]   --> src/app/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::error::Error;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::web::Bytes`
[INFO] [stderr]  --> src/utils/extract_file.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use actix_web::web::Bytes;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_multipart::Field`
[INFO] [stderr]  --> src/utils/extract_file.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use actix_multipart::Field;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::StreamExt`
[INFO] [stderr]  --> src/utils/extract_file.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use futures::StreamExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/app/version.rs:70:7
[INFO] [stderr]    |
[INFO] [stderr] 70 |   let mut last_version = state.last_version.lock().unwrap();
[INFO] [stderr]    |       ----^^^^^^^^^^^^
[INFO] [stderr]    |       |
[INFO] [stderr]    |       help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/main.rs:22:3
[INFO] [stderr]    |
[INFO] [stderr] 22 |   app::start();
[INFO] [stderr]    |   ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: constant `empty_template` should have an upper case name
[INFO] [stderr]   --> src/error.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const empty_template: &'static str = r#"
[INFO] [stderr]    |       ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `EMPTY_TEMPLATE`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::sync::MutexGuard` that must be used
[INFO] [stderr]    --> src/app/version.rs:144:7
[INFO] [stderr]     |
[INFO] [stderr] 144 |       get_last_version(&db, last_version, true).await;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if unused the Mutex will immediately unlock
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/utils/extract_file.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |         remove_dir_all(path);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/utils/extract_file.rs:29:3
[INFO] [stderr]    |
[INFO] [stderr] 29 |   create_dir_all(path);
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: 21 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/austudio_template_server-87b5568c8aa8da92
[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
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e5fc061014bf44469fd2e5ebba9095298d4a79e674f4b9874deeb3fe405920a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5fc061014bf44469fd2e5ebba9095298d4a79e674f4b9874deeb3fe405920a2", kill_on_drop: false }`
[INFO] [stdout] e5fc061014bf44469fd2e5ebba9095298d4a79e674f4b9874deeb3fe405920a2
