[INFO] cloning repository https://github.com/pub-solar/psos [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pub-solar/psos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpub-solar%2Fpsos", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpub-solar%2Fpsos'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b498c057a9c74d25ec228304cca5019e75ca15f0 [INFO] checking pub-solar/psos against master#506512391b1a75ae450d36c9420978402a91abcc for pr-125384 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpub-solar%2Fpsos" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/pub-solar/psos on toolchain 506512391b1a75ae450d36c9420978402a91abcc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/pub-solar/psos [INFO] finished tweaking git repo https://github.com/pub-solar/psos [INFO] tweaked toml for git repo https://github.com/pub-solar/psos written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/pub-solar/psos 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" "+506512391b1a75ae450d36c9420978402a91abcc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasmer_enumset v1.0.1 [INFO] [stderr] Downloaded array-macro v1.0.5 [INFO] [stderr] Downloaded enum-map-derive v0.4.6 [INFO] [stderr] Downloaded enum-map v0.6.4 [INFO] [stderr] Downloaded wasmer_enumset_derive v0.5.0 [INFO] [stderr] Downloaded cursive v0.16.3 [INFO] [stderr] Downloaded cursive_core v0.2.2 [INFO] [stderr] Downloaded syn v1.0.70 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c8eb8addadb51c439a99414c6401cd74971286cf2a9e1c95065e91e31c7fbad6 [INFO] running `Command { std: "docker" "start" "-a" "c8eb8addadb51c439a99414c6401cd74971286cf2a9e1c95065e91e31c7fbad6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c8eb8addadb51c439a99414c6401cd74971286cf2a9e1c95065e91e31c7fbad6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8eb8addadb51c439a99414c6401cd74971286cf2a9e1c95065e91e31c7fbad6", kill_on_drop: false }` [INFO] [stdout] c8eb8addadb51c439a99414c6401cd74971286cf2a9e1c95065e91e31c7fbad6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d816910f3444d7f6e8e0e969b28b1afef4a6febb748c280930160450f105a60 [INFO] running `Command { std: "docker" "start" "-a" "1d816910f3444d7f6e8e0e969b28b1afef4a6febb748c280930160450f105a60", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling libc v0.2.93 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.70 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling strsim v0.9.3 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.3 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling ahash v0.6.3 [INFO] [stderr] Compiling cc v1.0.67 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Checking array-macro v1.0.5 [INFO] [stderr] Checking once_cell v1.7.2 [INFO] [stderr] Compiling signal-hook v0.3.8 [INFO] [stderr] Checking owning_ref v0.4.1 [INFO] [stderr] Checking unicode-segmentation v1.7.1 [INFO] [stderr] Checking xi-unicode v0.3.0 [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Checking quote v1.0.9 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Compiling ncurses v5.101.0 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking signal-hook-registry v1.3.0 [INFO] [stderr] Checking term_size v0.3.2 [INFO] [stderr] Checking num-complex v0.3.1 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking num v0.3.1 [INFO] [stderr] Compiling darling_core v0.10.2 [INFO] [stderr] Compiling enum-map-derive v0.4.6 [INFO] [stderr] Checking enum-map v0.6.4 [INFO] [stderr] Compiling darling_macro v0.10.2 [INFO] [stderr] Compiling darling v0.10.2 [INFO] [stderr] Compiling wasmer_enumset_derive v0.5.0 [INFO] [stderr] Checking wasmer_enumset v1.0.1 [INFO] [stderr] Checking cursive_core v0.2.2 [INFO] [stderr] Checking cursive v0.16.3 [INFO] [stderr] Checking psos v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0507]: cannot move out of `on_submit`, a captured variable in an `Fn` closure [INFO] [stdout] --> src/text_input.rs:29:59 [INFO] [stdout] | [INFO] [stdout] 12 | on_submit: F, [INFO] [stdout] | --------- captured outer variable [INFO] [stdout] ... [INFO] [stdout] 28 | .on_submit(|s, _| { [INFO] [stdout] | ------ captured by this `Fn` closure [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | ^^^^^^^^^ move occurs because `on_submit` has type `F`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: if `F` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/text_input.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn create( [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] ... [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `on_submit`, a captured variable in an `Fn` closure [INFO] [stdout] --> src/text_input.rs:29:59 [INFO] [stdout] | [INFO] [stdout] 12 | on_submit: F, [INFO] [stdout] | --------- captured outer variable [INFO] [stdout] ... [INFO] [stdout] 28 | .on_submit(|s, _| { [INFO] [stdout] | ------ captured by this `Fn` closure [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | ^^^^^^^^^ move occurs because `on_submit` has type `F`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: if `F` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/text_input.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn create( [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] ... [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `on_submit`, a captured variable in an `Fn` closure [INFO] [stdout] --> src/text_input.rs:42:51 [INFO] [stdout] | [INFO] [stdout] 12 | on_submit: F, [INFO] [stdout] | --------- captured outer variable [INFO] [stdout] ... [INFO] [stdout] 38 | .button("Ok", |s| { [INFO] [stdout] | --- captured by this `Fn` closure [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | ^^^^^^^^^ move occurs because `on_submit` has type `F`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: if `F` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/text_input.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn create( [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `on_submit`, a captured variable in an `Fn` closure [INFO] [stdout] --> src/text_input.rs:42:51 [INFO] [stdout] | [INFO] [stdout] 12 | on_submit: F, [INFO] [stdout] | --------- captured outer variable [INFO] [stdout] ... [INFO] [stdout] 38 | .button("Ok", |s| { [INFO] [stdout] | --- captured by this `Fn` closure [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | ^^^^^^^^^ move occurs because `on_submit` has type `F`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: if `F` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/text_input.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn create( [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0384]: cannot assign to immutable argument `view_name` [INFO] [stdout] --> src/text_input.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 13 | view_name: String, [INFO] [stdout] | --------- help: consider making this binding mutable: `mut view_name` [INFO] [stdout] ... [INFO] [stdout] 18 | view_name = "text_input_view".to_string(); [INFO] [stdout] | ^^^^^^^^^ cannot assign to immutable argument [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0384]: cannot assign to immutable argument `view_name` [INFO] [stdout] --> src/text_input.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 13 | view_name: String, [INFO] [stdout] | --------- help: consider making this binding mutable: `mut view_name` [INFO] [stdout] ... [INFO] [stdout] 18 | view_name = "text_input_view".to_string(); [INFO] [stdout] | ^^^^^^^^^ cannot assign to immutable argument [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `F` may not live long enough [INFO] [stdout] --> src/text_input.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | / Dialog::new() [INFO] [stdout] 22 | | .title(title) [INFO] [stdout] 23 | | // Padding is (left, right, top, bottom) [INFO] [stdout] 24 | | .padding_lrtb(1, 1, 1, 0) [INFO] [stdout] ... | [INFO] [stdout] 42 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] 43 | | }); [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________the parameter type `F` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `F` will meet its required lifetime bounds [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 15 | F: FnMut(&mut Cursive, &str) -> () + 'static, [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `F` may not live long enough [INFO] [stdout] --> src/text_input.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | / Dialog::new() [INFO] [stdout] 22 | | .title(title) [INFO] [stdout] 23 | | // Padding is (left, right, top, bottom) [INFO] [stdout] 24 | | .padding_lrtb(1, 1, 1, 0) [INFO] [stdout] ... | [INFO] [stdout] 42 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] 43 | | }); [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________the parameter type `F` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `F` will meet its required lifetime bounds [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 15 | F: FnMut(&mut Cursive, &str) -> () + 'static, [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `F` may not live long enough [INFO] [stdout] --> src/text_input.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | / EditView::new() [INFO] [stdout] 27 | | .content(content) [INFO] [stdout] 28 | | .on_submit(|s, _| { [INFO] [stdout] 29 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] 30 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________the parameter type `F` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `F` will meet its required lifetime bounds [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 15 | F: FnMut(&mut Cursive, &str) -> () + 'static, [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0310]: the parameter type `F` may not live long enough [INFO] [stdout] --> src/text_input.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | / EditView::new() [INFO] [stdout] 27 | | .content(content) [INFO] [stdout] 28 | | .on_submit(|s, _| { [INFO] [stdout] 29 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] 30 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________________the parameter type `F` must be valid for the static lifetime... [INFO] [stdout] | ...so that the type `F` will meet its required lifetime bounds [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 15 | F: FnMut(&mut Cursive, &str) -> () + 'static, [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `view_name`, which is owned by the current function [INFO] [stdout] --> src/text_input.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | .on_submit(|s, _| { [INFO] [stdout] | ^^^^^^ may outlive borrowed value `view_name` [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- `view_name` is borrowed here [INFO] [stdout] | [INFO] [stdout] note: function requires argument type to outlive `'static` [INFO] [stdout] --> src/text_input.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | / EditView::new() [INFO] [stdout] 27 | | .content(content) [INFO] [stdout] 28 | | .on_submit(|s, _| { [INFO] [stdout] 29 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] 30 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] help: to force the closure to take ownership of `view_name` (and any other referenced variables), use the `move` keyword [INFO] [stdout] | [INFO] [stdout] 28 | .on_submit(move |s, _| { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `view_name`, which is owned by the current function [INFO] [stdout] --> src/text_input.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | .on_submit(|s, _| { [INFO] [stdout] | ^^^^^^ may outlive borrowed value `view_name` [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- `view_name` is borrowed here [INFO] [stdout] | [INFO] [stdout] note: function requires argument type to outlive `'static` [INFO] [stdout] --> src/text_input.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | / EditView::new() [INFO] [stdout] 27 | | .content(content) [INFO] [stdout] 28 | | .on_submit(|s, _| { [INFO] [stdout] 29 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] 30 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] help: to force the closure to take ownership of `view_name` (and any other referenced variables), use the `move` keyword [INFO] [stdout] | [INFO] [stdout] 28 | .on_submit(move |s, _| { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `view_name` because it is borrowed [INFO] [stdout] --> src/text_input.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 26 | / EditView::new() [INFO] [stdout] 27 | | .content(content) [INFO] [stdout] 28 | | .on_submit(|s, _| { [INFO] [stdout] | | ------ borrow of `view_name` occurs here [INFO] [stdout] 29 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | | --------- borrow occurs due to use in closure [INFO] [stdout] 30 | | }) [INFO] [stdout] | |__________________- argument requires that `view_name` is borrowed for `'static` [INFO] [stdout] 31 | .with_name(view_name) [INFO] [stdout] | ^^^^^^^^^ move out of `view_name` occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `view_name` because it is borrowed [INFO] [stdout] --> src/text_input.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 26 | / EditView::new() [INFO] [stdout] 27 | | .content(content) [INFO] [stdout] 28 | | .on_submit(|s, _| { [INFO] [stdout] | | ------ borrow of `view_name` occurs here [INFO] [stdout] 29 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | | --------- borrow occurs due to use in closure [INFO] [stdout] 30 | | }) [INFO] [stdout] | |__________________- argument requires that `view_name` is borrowed for `'static` [INFO] [stdout] 31 | .with_name(view_name) [INFO] [stdout] | ^^^^^^^^^ move out of `view_name` occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `view_name`, which is owned by the current function [INFO] [stdout] --> src/text_input.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | .button("Ok", |s| { [INFO] [stdout] | ^^^ may outlive borrowed value `view_name` [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- `view_name` is borrowed here [INFO] [stdout] | [INFO] [stdout] note: function requires argument type to outlive `'static` [INFO] [stdout] --> src/text_input.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | / Dialog::new() [INFO] [stdout] 22 | | .title(title) [INFO] [stdout] 23 | | // Padding is (left, right, top, bottom) [INFO] [stdout] 24 | | .padding_lrtb(1, 1, 1, 0) [INFO] [stdout] ... | [INFO] [stdout] 42 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] 43 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] help: to force the closure to take ownership of `view_name` (and any other referenced variables), use the `move` keyword [INFO] [stdout] | [INFO] [stdout] 38 | .button("Ok", move |s| { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `view_name`, which is owned by the current function [INFO] [stdout] --> src/text_input.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | .button("Ok", |s| { [INFO] [stdout] | ^^^ may outlive borrowed value `view_name` [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- `view_name` is borrowed here [INFO] [stdout] | [INFO] [stdout] note: function requires argument type to outlive `'static` [INFO] [stdout] --> src/text_input.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | / Dialog::new() [INFO] [stdout] 22 | | .title(title) [INFO] [stdout] 23 | | // Padding is (left, right, top, bottom) [INFO] [stdout] 24 | | .padding_lrtb(1, 1, 1, 0) [INFO] [stdout] ... | [INFO] [stdout] 42 | | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] 43 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] help: to force the closure to take ownership of `view_name` (and any other referenced variables), use the `move` keyword [INFO] [stdout] | [INFO] [stdout] 38 | .button("Ok", move |s| { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `on_submit` [INFO] [stdout] --> src/text_input.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 12 | on_submit: F, [INFO] [stdout] | --------- move occurs because `on_submit` has type `F`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 28 | .on_submit(|s, _| { [INFO] [stdout] | ------ value moved into closure here [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- variable moved due to use in closure [INFO] [stdout] ... [INFO] [stdout] 38 | .button("Ok", |s| { [INFO] [stdout] | ^^^ value used here after move [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- use occurs due to use in closure [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in function `check_valid` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/text_input.rs:46:59 [INFO] [stdout] | [INFO] [stdout] 46 | fn check_valid(s: &mut Cursive, view_name: String, cb: F) [INFO] [stdout] | ----------- in this function ^ this parameter takes ownership of the value [INFO] [stdout] help: if `F` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/text_input.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn create( [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] ... [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] help: consider mutably borrowing `on_submit` [INFO] [stdout] | [INFO] [stdout] 28 | .on_submit(&mut |s, _| { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `on_submit` [INFO] [stdout] --> src/text_input.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 12 | on_submit: F, [INFO] [stdout] | --------- move occurs because `on_submit` has type `F`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 28 | .on_submit(|s, _| { [INFO] [stdout] | ------ value moved into closure here [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- variable moved due to use in closure [INFO] [stdout] ... [INFO] [stdout] 38 | .button("Ok", |s| { [INFO] [stdout] | ^^^ value used here after move [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- use occurs due to use in closure [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in function `check_valid` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/text_input.rs:46:59 [INFO] [stdout] | [INFO] [stdout] 46 | fn check_valid(s: &mut Cursive, view_name: String, cb: F) [INFO] [stdout] | ----------- in this function ^ this parameter takes ownership of the value [INFO] [stdout] help: if `F` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/text_input.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn create( [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] ... [INFO] [stdout] 29 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] help: consider mutably borrowing `on_submit` [INFO] [stdout] | [INFO] [stdout] 28 | .on_submit(&mut |s, _| { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `view_name` [INFO] [stdout] --> src/text_input.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 13 | view_name: String, [INFO] [stdout] | --------- move occurs because `view_name` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 31 | .with_name(view_name) [INFO] [stdout] | --------- value moved here [INFO] [stdout] ... [INFO] [stdout] 38 | .button("Ok", |s| { [INFO] [stdout] | ^^^ value borrowed here after move [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- borrow occurs due to use in closure [INFO] [stdout] | [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 31 | .with_name(view_name.clone()) [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `view_name` [INFO] [stdout] --> src/text_input.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 13 | view_name: String, [INFO] [stdout] | --------- move occurs because `view_name` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 31 | .with_name(view_name) [INFO] [stdout] | --------- value moved here [INFO] [stdout] ... [INFO] [stdout] 38 | .button("Ok", |s| { [INFO] [stdout] | ^^^ value borrowed here after move [INFO] [stdout] ... [INFO] [stdout] 42 | check_valid(s, view_name.to_string(), on_submit); [INFO] [stdout] | --------- borrow occurs due to use in closure [INFO] [stdout] | [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 31 | .with_name(view_name.clone()) [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `cb` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/text_input.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | cb(s, &output); [INFO] [stdout] | ^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 46 | fn check_valid(s: &mut Cursive, view_name: String, mut cb: F) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `cb` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/text_input.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | cb(s, &output); [INFO] [stdout] | ^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 46 | fn check_valid(s: &mut Cursive, view_name: String, mut cb: F) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 11 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0310, E0373, E0382, E0384, E0505, E0507, E0596. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0310`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 11 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0310, E0373, E0382, E0384, E0505, E0507, E0596. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0310`. [INFO] [stdout] [INFO] [stderr] error: could not compile `psos` (bin "psos") due to 12 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `psos` (bin "psos" test) due to 12 previous errors [INFO] running `Command { std: "docker" "inspect" "1d816910f3444d7f6e8e0e969b28b1afef4a6febb748c280930160450f105a60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d816910f3444d7f6e8e0e969b28b1afef4a6febb748c280930160450f105a60", kill_on_drop: false }` [INFO] [stdout] 1d816910f3444d7f6e8e0e969b28b1afef4a6febb748c280930160450f105a60 [INFO] checking pub-solar/psos against try#dae34b759e282c069aa28752564694effd121a63 for pr-125384 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpub-solar%2Fpsos" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/pub-solar/psos on toolchain dae34b759e282c069aa28752564694effd121a63 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dae34b759e282c069aa28752564694effd121a63" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/pub-solar/psos [INFO] finished tweaking git repo https://github.com/pub-solar/psos [INFO] tweaked toml for git repo https://github.com/pub-solar/psos written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/pub-solar/psos 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" "+dae34b759e282c069aa28752564694effd121a63" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+dae34b759e282c069aa28752564694effd121a63" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cd4a8340ff50bd60010be865526cfe4e5d771d4c43c0cf5892377196954fe309 [INFO] running `Command { std: "docker" "start" "-a" "cd4a8340ff50bd60010be865526cfe4e5d771d4c43c0cf5892377196954fe309", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cd4a8340ff50bd60010be865526cfe4e5d771d4c43c0cf5892377196954fe309", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd4a8340ff50bd60010be865526cfe4e5d771d4c43c0cf5892377196954fe309", kill_on_drop: false }` [INFO] [stdout] cd4a8340ff50bd60010be865526cfe4e5d771d4c43c0cf5892377196954fe309 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+dae34b759e282c069aa28752564694effd121a63" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a332f20004985a9f325083f80aab0a1c2cb8256291e59b2ebfedafb6fd9d5f0a [INFO] running `Command { std: "docker" "start" "-a" "a332f20004985a9f325083f80aab0a1c2cb8256291e59b2ebfedafb6fd9d5f0a", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] skipping non-2021 edition `2018` [INFO] running `Command { std: "docker" "inspect" "a332f20004985a9f325083f80aab0a1c2cb8256291e59b2ebfedafb6fd9d5f0a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a332f20004985a9f325083f80aab0a1c2cb8256291e59b2ebfedafb6fd9d5f0a", kill_on_drop: false }` [INFO] [stdout] a332f20004985a9f325083f80aab0a1c2cb8256291e59b2ebfedafb6fd9d5f0a