[INFO] cloning repository https://github.com/sammeboy635/RustTemplate
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sammeboy635/RustTemplate" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsammeboy635%2FRustTemplate", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsammeboy635%2FRustTemplate'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5e390413451d0e40f7ffe1c3aad13a4bbd10f054
[INFO] checking sammeboy635/RustTemplate against e5e97e3ef0ee95d34bea49cdac051ed1bbac01df for pr-158759-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsammeboy635%2FRustTemplate" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sammeboy635/RustTemplate
[INFO] finished tweaking git repo https://github.com/sammeboy635/RustTemplate
[INFO] tweaked toml for git repo https://github.com/sammeboy635/RustTemplate written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sammeboy635/RustTemplate on toolchain e5e97e3ef0ee95d34bea49cdac051ed1bbac01df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sammeboy635/RustTemplate already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5
[INFO] running `Command { std: "docker" "start" "1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]     Checking engine v0.1.0 (/opt/rustwide/workdir/engine)
[INFO] [stdout] warning: method `is_keyword` is never used
[INFO] [stdout]   --> engine/src/lexer.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Token {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 13 |     fn is_keyword(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling libs v0.1.0 (/opt/rustwide/workdir/libs)
[INFO] [stdout] warning: unused import: `quote::quote`
[INFO] [stdout]  --> libs/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use quote::quote;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `syn::Data`
[INFO] [stdout]  --> libs/src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::Data;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ECS v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0382]: use of moved value: `self`
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn start<F>(&mut self, fun: F)
[INFO] [stdout]    |                     --------- move occurs because `self` has type `&mut Timer`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |         self.handle = Some(thread::spawn(move || {
[INFO] [stdout]    |         ^^^^^^^^^^^                      ------- value moved into closure here
[INFO] [stdout]    |         |
[INFO] [stdout]    |         value used here after move
[INFO] [stdout] 37 |             let mut fun = fun;
[INFO] [stdout] 38 |             while alive.load(Ordering::SeqCst) {
[INFO] [stdout]    |             ---------------------------------- inside of this loop
[INFO] [stdout] 39 |                 fun();
[INFO] [stdout] 40 |                 thread::sleep(self.duration.clone());
[INFO] [stdout]    |                               ------------- variable moved due to use in closure
[INFO] [stdout]    |
[INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once
[INFO] [stdout]    |
[INFO] [stdout] 38 ~             let mut value = self.duration.clone();
[INFO] [stdout] 39 ~             while alive.load(Ordering::SeqCst) {
[INFO] [stdout] 40 |                 fun();
[INFO] [stdout] 41 ~                 thread::sleep(value);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]   --> src/main.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |       pub fn start<F>(&mut self, fun: F)
[INFO] [stdout]    |                       ---------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]    |                       let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 36 |           self.handle = Some(thread::spawn(move || {
[INFO] [stdout]    |  ____________________________^
[INFO] [stdout] 37 | |             let mut fun = fun;
[INFO] [stdout] 38 | |             while alive.load(Ordering::SeqCst) {
[INFO] [stdout] 39 | |                 fun();
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |         }));
[INFO] [stdout]    | |          ^
[INFO] [stdout]    | |          |
[INFO] [stdout]    | |__________`self` escapes the method body here
[INFO] [stdout]    |            argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0382, E0521.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ECS` (bin "ECS" test) due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0382]: use of moved value: `self`
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn start<F>(&mut self, fun: F)
[INFO] [stdout]    |                     --------- move occurs because `self` has type `&mut Timer`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |         self.handle = Some(thread::spawn(move || {
[INFO] [stdout]    |         ^^^^^^^^^^^                      ------- value moved into closure here
[INFO] [stdout]    |         |
[INFO] [stdout]    |         value used here after move
[INFO] [stdout] 37 |             let mut fun = fun;
[INFO] [stdout] 38 |             while alive.load(Ordering::SeqCst) {
[INFO] [stdout]    |             ---------------------------------- inside of this loop
[INFO] [stdout] 39 |                 fun();
[INFO] [stdout] 40 |                 thread::sleep(self.duration.clone());
[INFO] [stdout]    |                               ------------- variable moved due to use in closure
[INFO] [stdout]    |
[INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once
[INFO] [stdout]    |
[INFO] [stdout] 38 ~             let mut value = self.duration.clone();
[INFO] [stdout] 39 ~             while alive.load(Ordering::SeqCst) {
[INFO] [stdout] 40 |                 fun();
[INFO] [stdout] 41 ~                 thread::sleep(value);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]   --> src/main.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |       pub fn start<F>(&mut self, fun: F)
[INFO] [stdout]    |                       ---------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]    |                       let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 36 |           self.handle = Some(thread::spawn(move || {
[INFO] [stdout]    |  ____________________________^
[INFO] [stdout] 37 | |             let mut fun = fun;
[INFO] [stdout] 38 | |             while alive.load(Ordering::SeqCst) {
[INFO] [stdout] 39 | |                 fun();
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |         }));
[INFO] [stdout]    | |          ^
[INFO] [stdout]    | |          |
[INFO] [stdout]    | |__________`self` escapes the method body here
[INFO] [stdout]    |            argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0382, E0521.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ECS` (bin "ECS") due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5", kill_on_drop: false }`
[INFO] [stdout] 1cb6aa3b805badd41137a8609a1aabddac5b0df70cf05e3a717a38ef2ec99be5
