[INFO] fetching crate overture-core 0.2.0...
[INFO] testing overture-core-0.2.0 against 1.91.0 for beta-1.92-2
[INFO] extracting crate overture-core 0.2.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate overture-core 0.2.0
[INFO] finished tweaking crates.io crate overture-core 0.2.0
[INFO] tweaked toml for crates.io crate overture-core 0.2.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate overture-core 0.2.0 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate overture-core 0.2.0 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" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7361e28495e2ff92431ef7fb9892a6b47539594b0b55831362174c2ab6f74275
[INFO] running `Command { std: "docker" "start" "-a" "7361e28495e2ff92431ef7fb9892a6b47539594b0b55831362174c2ab6f74275", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7361e28495e2ff92431ef7fb9892a6b47539594b0b55831362174c2ab6f74275", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7361e28495e2ff92431ef7fb9892a6b47539594b0b55831362174c2ab6f74275", kill_on_drop: false }`
[INFO] [stdout] 7361e28495e2ff92431ef7fb9892a6b47539594b0b55831362174c2ab6f74275
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c8c198caf80519f2d1e0000ab93a7a3c36187f45ffa17fab06fdadd4f1f164b2
[INFO] running `Command { std: "docker" "start" "-a" "c8c198caf80519f2d1e0000ab93a7a3c36187f45ffa17fab06fdadd4f1f164b2", kill_on_drop: false }`
[INFO] [stderr] Compiling overture-core v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type parameter `F_IN` should have an upper camel case name
[INFO] [stdout] --> src/compose_rc.rs:157:35
[INFO] [stdout] |
[INFO] [stdout] 157 | pub fn compose6_rs(f: F, g: G, h: H, i: I, j: J, k: K) -> impl Fn(A) -> R
[INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `FIn`
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: type parameter `F_IN` should have an upper camel case name
[INFO] [stdout] --> src/compose_rc.rs:322:44
[INFO] [stdout] |
[INFO] [stdout] 322 | pub fn compose6_rs_throwing(f: F, g: G, h: H, i: I, j: J, k: K) -> impl Fn(A) -> Result src/suites.rs:4:5
[INFO] [stdout] |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.01s
[INFO] running `Command { std: "docker" "inspect" "c8c198caf80519f2d1e0000ab93a7a3c36187f45ffa17fab06fdadd4f1f164b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8c198caf80519f2d1e0000ab93a7a3c36187f45ffa17fab06fdadd4f1f164b2", kill_on_drop: false }`
[INFO] [stdout] c8c198caf80519f2d1e0000ab93a7a3c36187f45ffa17fab06fdadd4f1f164b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 337e107a120bc0ced5027a561c5d8dd3c0439bf081a1c331a9fe98f992a7fbe2
[INFO] running `Command { std: "docker" "start" "-a" "337e107a120bc0ced5027a561c5d8dd3c0439bf081a1c331a9fe98f992a7fbe2", kill_on_drop: false }`
[INFO] [stderr] Compiling overture-core v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type parameter `F_IN` should have an upper camel case name
[INFO] [stdout] --> src/compose_rc.rs:157:35
[INFO] [stdout] |
[INFO] [stdout] 157 | pub fn compose6_rs(f: F, g: G, h: H, i: I, j: J, k: K) -> impl Fn(A) -> R
[INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `FIn`
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: type parameter `F_IN` should have an upper camel case name
[INFO] [stdout] --> src/compose_rc.rs:322:44
[INFO] [stdout] |
[INFO] [stdout] 322 | pub fn compose6_rs_throwing(f: F, g: G, h: H, i: I, j: J, k: K) -> impl Fn(A) -> Result src/suites.rs:4:5
[INFO] [stdout] |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: type parameter `F_IN` should have an upper camel case name
[INFO] [stdout] --> src/compose_rc.rs:157:35
[INFO] [stdout] |
[INFO] [stdout] 157 | pub fn compose6_rs(f: F, g: G, h: H, i: I, j: J, k: K) -> impl Fn(A) -> R
[INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `FIn`
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: type parameter `F_IN` should have an upper camel case name
[INFO] [stdout] --> src/compose_rc.rs:322:44
[INFO] [stdout] |
[INFO] [stdout] 322 | pub fn compose6_rs_throwing(f: F, g: G, h: H, i: I, j: J, k: K) -> impl Fn(A) -> Result src/suites.rs:4:5
[INFO] [stdout] |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout] --> src/result.rs:213:28
[INFO] [stdout] |
[INFO] [stdout] 213 | let results = vec![Ok(1), Ok(2), Ok(3)];
[INFO] [stdout] | ^^ cannot infer type of the type parameter `E` declared on the enum `Result`
[INFO] [stdout] |
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout] |
[INFO] [stdout] 213 | let results = vec![Ok::(1), Ok(2), Ok(3)];
[INFO] [stdout] | ++++++++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@result.rs:243:40}` to return `{closure@result.rs:243:40}`, but it returns `String`
[INFO] [stdout] --> src/result.rs:243:44
[INFO] [stdout] |
[INFO] [stdout] 243 | let mapped = map_error(result, |e| format!("Error: {}", e));
[INFO] [stdout] | --------- --- ^^^^^^^^^^^^^^^^^^^^^^^ expected closure, found `String`
[INFO] [stdout] | | |
[INFO] [stdout] | | this closure
[INFO] [stdout] | | the expected closure
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected closure `{closure@src/result.rs:243:40: 243:43}`
[INFO] [stdout] found struct `String`
[INFO] [stdout] note: required by a bound in `result::map_error`
[INFO] [stdout] --> src/result.rs:114:21
[INFO] [stdout] |
[INFO] [stdout] 112 | pub fn map_error(result: Result, transform: F) -> Result
[INFO] [stdout] | --------- required by a bound in this function
[INFO] [stdout] 113 | where
[INFO] [stdout] 114 | F: FnOnce(E) -> F,
[INFO] [stdout] | ^ required by this bound in `map_error`
[INFO] [stdout] = note: this error originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Result`
[INFO] [stdout] --> src/result.rs:244:9
[INFO] [stdout] |
[INFO] [stdout] 244 | assert_eq!(mapped, Err("Error: error".to_string()));
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] | |
[INFO] [stdout] | Result
[INFO] [stdout] | Result<_, String>
[INFO] [stdout] |
[INFO] [stdout] note: the foreign item type `Result` doesn't implement `PartialEq>`
[INFO] [stdout] --> /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/result.rs:550:1
[INFO] [stdout] |
[INFO] [stdout] = note: not implement `PartialEq>`
[INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0277]: `{closure@src/result.rs:243:40: 243:43}` doesn't implement `Debug`
[INFO] [stdout] --> src/result.rs:244:9
[INFO] [stdout] |
[INFO] [stdout] 243 | let mapped = map_error(result, |e| format!("Error: {}", e));
[INFO] [stdout] | --- consider calling this closure
[INFO] [stdout] 244 | assert_eq!(mapped, Err("Error: error".to_string()));
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for closure `{closure@src/result.rs:243:40: 243:43}`
[INFO] [stdout] |
[INFO] [stdout] = help: the trait `Debug` is implemented for `Result`
[INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:205:22}` to return `Box _>`, but it returns `Box<{closure@setter.rs:205:60}>`
[INFO] [stdout] --> src/setter.rs:205:51
[INFO] [stdout] |
[INFO] [stdout] 205 | let setter = |f: Box i32>| Box::new(move |x: i32| f(x));
[INFO] [stdout] | ---------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box _>`, found `Box<{closure@setter.rs:205:60}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 206 | let transform = over(setter, |x| x * 2);
[INFO] [stdout] | ---- ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn Fn(_) -> _ + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:205:60: 205:73}>`
[INFO] [stdout] note: required by a bound in `setter::over`
[INFO] [stdout] --> src/setter.rs:26:40
[INFO] [stdout] |
[INFO] [stdout] 16 | pub fn over(
[INFO] [stdout] | ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 26 | Setter: Fn(Box B>) -> Box T>,
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ required by this bound in `over`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:213:22}` to return `Box _>`, but it returns `Box<{closure@setter.rs:213:60}>`
[INFO] [stdout] --> src/setter.rs:213:51
[INFO] [stdout] |
[INFO] [stdout] 213 | let setter = |f: Box i32>| Box::new(move |x: i32| f(x));
[INFO] [stdout] | ---------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box _>`, found `Box<{closure@setter.rs:213:60}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 214 | let set_value = set(setter, 42);
[INFO] [stdout] | --- ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn Fn(_) -> _ + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:213:60: 213:73}>`
[INFO] [stdout] note: required by a bound in `setter::set`
[INFO] [stdout] --> src/setter.rs:52:40
[INFO] [stdout] |
[INFO] [stdout] 43 | pub fn set(
[INFO] [stdout] | --- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 52 | Setter: Fn(Box B>) -> Box T>,
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ required by this bound in `set`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:221:22}` to return `Box`, but it returns `Box<{closure@setter.rs:221:61}>`
[INFO] [stdout] --> src/setter.rs:221:52
[INFO] [stdout] |
[INFO] [stdout] 221 | let setter = |f: Box| Box::new(move |x: &mut i32| f(x));
[INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box`, found `Box<{closure@setter.rs:221:61}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 222 | let mut_transform = mver(setter, |x| *x *= 2);
[INFO] [stdout] | ---- ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn for<'a> FnMut(&'a mut _) + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:221:61: 221:79}>`
[INFO] [stdout] note: required by a bound in `setter::mver`
[INFO] [stdout] --> src/setter.rs:80:43
[INFO] [stdout] |
[INFO] [stdout] 72 | pub fn mver(
[INFO] [stdout] | ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 80 | Setter: Fn(Box) -> Box,
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `mver`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:230:22}` to return `Box`, but it returns `Box<{closure@setter.rs:230:61}>`
[INFO] [stdout] --> src/setter.rs:230:52
[INFO] [stdout] |
[INFO] [stdout] 230 | let setter = |f: Box| Box::new(move |x: Rc>| f(&mut x.borrow_mut()));
[INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box`, found `Box<{closure@setter.rs:230:61}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 231 | let mut_transform = mver_ref(setter, |x| *x *= 2);
[INFO] [stdout] | -------- ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn FnMut(_) + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:230:61: 230:87}>`
[INFO] [stdout] note: required by a bound in `setter::mver_ref`
[INFO] [stdout] --> src/setter.rs:108:43
[INFO] [stdout] |
[INFO] [stdout] 100 | pub fn mver_ref(
[INFO] [stdout] | -------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 108 | Setter: Fn(Box) -> Box,
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^ required by this bound in `mver_ref`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:239:22}` to return `Box`, but it returns `Box<{closure@setter.rs:239:66}>`
[INFO] [stdout] --> src/setter.rs:239:57
[INFO] [stdout] |
[INFO] [stdout] 239 | let setter = |f: Box>)>| Box::new(move |x: Rc>| f(x));
[INFO] [stdout] | ---------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box`, found `Box<{closure@setter.rs:239:66}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 240 | let mut_transform = mver_ref_mut(setter, |x| *x.borrow_mut() *= 2);
[INFO] [stdout] | ------------ ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn Fn(_) + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:239:66: 239:92}>`
[INFO] [stdout] note: required by a bound in `setter::mver_ref_mut`
[INFO] [stdout] --> src/setter.rs:136:35
[INFO] [stdout] |
[INFO] [stdout] 128 | pub fn mver_ref_mut(
[INFO] [stdout] | ------------ required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 136 | Setter: Fn(Box) -> Box,
[INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `mver_ref_mut`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:248:22}` to return `Box`, but it returns `Box<{closure@setter.rs:248:61}>`
[INFO] [stdout] --> src/setter.rs:248:52
[INFO] [stdout] |
[INFO] [stdout] 248 | let setter = |f: Box| Box::new(move |x: &mut i32| f(x));
[INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box`, found `Box<{closure@setter.rs:248:61}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 249 | let set_value = mut_set(setter, 42);
[INFO] [stdout] | ------- ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn for<'a> FnMut(&'a mut _) + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:248:61: 248:79}>`
[INFO] [stdout] note: required by a bound in `setter::mut_set`
[INFO] [stdout] --> src/setter.rs:161:43
[INFO] [stdout] |
[INFO] [stdout] 154 | pub fn mut_set(
[INFO] [stdout] | ------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 161 | Setter: Fn(Box) -> Box,
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `mut_set`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:257:22}` to return `Box`, but it returns `Box<{closure@setter.rs:257:61}>`
[INFO] [stdout] --> src/setter.rs:257:52
[INFO] [stdout] |
[INFO] [stdout] 257 | let setter = |f: Box| Box::new(move |x: Rc>| f(&mut x.borrow_mut()));
[INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box`, found `Box<{closure@setter.rs:257:61}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 258 | let set_value = mut_set_ref(setter, 42);
[INFO] [stdout] | ----------- ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn FnMut(_) + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:257:61: 257:87}>`
[INFO] [stdout] note: required by a bound in `setter::mut_set_ref`
[INFO] [stdout] --> src/setter.rs:188:43
[INFO] [stdout] |
[INFO] [stdout] 181 | pub fn mut_set_ref(
[INFO] [stdout] | ----------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 188 | Setter: Fn(Box) -> Box,
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^ required by this bound in `mut_set_ref`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:266:22}` to return `Box`, but it returns `Box<{closure@setter.rs:266:61}>`
[INFO] [stdout] --> src/setter.rs:266:52
[INFO] [stdout] |
[INFO] [stdout] 266 | let setter = |f: Box| Box::new(move |x: &mut i32| f(x));
[INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box`, found `Box<{closure@setter.rs:266:61}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 267 | let set_value = mset(setter, 42);
[INFO] [stdout] | ---- ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn for<'a> FnMut(&'a mut _) + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:266:61: 266:79}>`
[INFO] [stdout] note: required by a bound in `setter::mut_set`
[INFO] [stdout] --> src/setter.rs:161:43
[INFO] [stdout] |
[INFO] [stdout] 154 | pub fn mut_set(
[INFO] [stdout] | ------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 161 | Setter: Fn(Box) -> Box,
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `mut_set`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0271]: expected `{closure@setter.rs:275:22}` to return `Box`, but it returns `Box<{closure@setter.rs:275:61}>`
[INFO] [stdout] --> src/setter.rs:275:52
[INFO] [stdout] |
[INFO] [stdout] 275 | let setter = |f: Box| Box::new(move |x: Rc>| f(&mut x.borrow_mut()));
[INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box`, found `Box<{closure@setter.rs:275:61}>`
[INFO] [stdout] | |
[INFO] [stdout] | this closure
[INFO] [stdout] 276 | let set_value = mset_ref(setter, 42);
[INFO] [stdout] | -------- ------ closure used here
[INFO] [stdout] | |
[INFO] [stdout] | required by a bound introduced by this call
[INFO] [stdout] |
[INFO] [stdout] = note: expected struct `Box<(dyn FnMut(_) + 'static)>`
[INFO] [stdout] found struct `Box<{closure@src/setter.rs:275:61: 275:87}>`
[INFO] [stdout] note: required by a bound in `setter::mut_set_ref`
[INFO] [stdout] --> src/setter.rs:188:43
[INFO] [stdout] |
[INFO] [stdout] 181 | pub fn mut_set_ref(
[INFO] [stdout] | ----------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 188 | Setter: Fn(Box) -> Box,
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^ required by this bound in `mut_set_ref`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0282]: type annotations needed for `Result, _>`
[INFO] [stdout] --> src/with.rs:234:13
[INFO] [stdout] |
[INFO] [stdout] 234 | let result = with_mut_throwing(vec![1, 2, 3], |v| {
[INFO] [stdout] | ^^^^^^
[INFO] [stdout] 235 | v.push(4);
[INFO] [stdout] 236 | Ok(())
[INFO] [stdout] | ------ type must be known at this point
[INFO] [stdout] |
[INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout] |
[INFO] [stdout] 234 | let result: Result<_, E> = with_mut_throwing(vec![1, 2, 3], |v| {
[INFO] [stdout] | ++++++++++++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0282]: type annotations needed for `Result`
[INFO] [stdout] --> src/with.rs:261:13
[INFO] [stdout] |
[INFO] [stdout] 261 | let result = with_chain_throwing(5, [
[INFO] [stdout] | ^^^^^^
[INFO] [stdout] 262 | |x| Ok(x * 2),
[INFO] [stdout] | --------- type must be known at this point
[INFO] [stdout] |
[INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout] |
[INFO] [stdout] 261 | let result: Result<_, E> = with_chain_throwing(5, [
[INFO] [stdout] | ++++++++++++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0282]: type annotations needed for `Result`
[INFO] [stdout] --> src/zurry.rs:294:13
[INFO] [stdout] |
[INFO] [stdout] 294 | let result = zurry_throwing(|| Ok(42));
[INFO] [stdout] | ^^^^^^ ------ type must be known at this point
[INFO] [stdout] |
[INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout] |
[INFO] [stdout] 294 | let result: Result<_, E> = zurry_throwing(|| Ok(42));
[INFO] [stdout] | ++++++++++++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0282]: type annotations needed for `Result`
[INFO] [stdout] --> src/zurry.rs:311:13
[INFO] [stdout] |
[INFO] [stdout] 310 | let lazy_value = unzurry_throwing(|| Ok(42));
[INFO] [stdout] | ------ type must be known at this point
[INFO] [stdout] 311 | let result = lazy_value();
[INFO] [stdout] | ^^^^^^
[INFO] [stdout] |
[INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout] |
[INFO] [stdout] 311 | let result: Result<_, E> = lazy_value();
[INFO] [stdout] | ++++++++++++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout] --> src/combinig.rs:399:38
[INFO] [stdout] |
[INFO] [stdout] 399 | let eq = their_eq(|u: &User| &u.name);
[INFO] [stdout] | - - ^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout] | | |
[INFO] [stdout] | | return type of closure is &'2 String
[INFO] [stdout] | let's call the lifetime of this reference `'1`
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0382]: use of moved value: `result2`
[INFO] [stdout] --> src/result.rs:178:46
[INFO] [stdout] |
[INFO] [stdout] 172 | let result2: Result = Ok("hello".to_string());
[INFO] [stdout] | ------- move occurs because `result2` has type `Result`, which does not implement the `Copy` trait
[INFO] [stdout] 173 |
[INFO] [stdout] 174 | let zipped = zip(result1, result2);
[INFO] [stdout] | ------- value moved here
[INFO] [stdout] ...
[INFO] [stdout] 178 | let zipped_error = zip(error_result, result2);
[INFO] [stdout] | ^^^^^^^ value used here after move
[INFO] [stdout] |
[INFO] [stdout] note: consider changing this parameter type in function `zip` to borrow instead if owning the value isn't necessary
[INFO] [stdout] --> src/result.rs:8:14
[INFO] [stdout] |
[INFO] [stdout] 6 | pub fn zip(
[INFO] [stdout] | --- in this function
[INFO] [stdout] 7 | result1: Result,
[INFO] [stdout] 8 | result2: Result,
[INFO] [stdout] | ^^^^^^^^^^^^ this parameter takes ownership of the value
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout] |
[INFO] [stdout] 174 | let zipped = zip(result1, result2.clone());
[INFO] [stdout] | ++++++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0594]: cannot assign to `counter`, as it is a captured variable in a `Fn` closure
[INFO] [stdout] --> src/zurry.rs:319:13
[INFO] [stdout] |
[INFO] [stdout] 83 | pub fn unzurry_repeatable(value: impl Fn() -> A + 'static) -> impl Fn() -> A {
[INFO] [stdout] | ------------------------ change this to accept `FnMut` instead of `Fn`
[INFO] [stdout] ...
[INFO] [stdout] 318 | let lazy_value = unzurry_repeatable(|| {
[INFO] [stdout] | ------------------ -- in this closure
[INFO] [stdout] | |
[INFO] [stdout] | expects `Fn` instead of `FnMut`
[INFO] [stdout] 319 | counter += 1;
[INFO] [stdout] | ^^^^^^^^^^^^ cannot assign
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `counter`, which is owned by the current function
[INFO] [stdout] --> src/zurry.rs:318:45
[INFO] [stdout] |
[INFO] [stdout] 318 | let lazy_value = unzurry_repeatable(|| {
[INFO] [stdout] | ^^ may outlive borrowed value `counter`
[INFO] [stdout] 319 | counter += 1;
[INFO] [stdout] | ------- `counter` is borrowed here
[INFO] [stdout] |
[INFO] [stdout] note: function requires argument type to outlive `'static`
[INFO] [stdout] --> src/zurry.rs:318:26
[INFO] [stdout] |
[INFO] [stdout] 318 | let lazy_value = unzurry_repeatable(|| {
[INFO] [stdout] | __________________________^
[INFO] [stdout] 319 | | counter += 1;
[INFO] [stdout] 320 | | counter
[INFO] [stdout] 321 | | });
[INFO] [stdout] | |__________^
[INFO] [stdout] help: to force the closure to take ownership of `counter` (and any other referenced variables), use the `move` keyword
[INFO] [stdout] |
[INFO] [stdout] 318 | let lazy_value = unzurry_repeatable(move || {
[INFO] [stdout] | ++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0594]: cannot assign to `call_count`, as it is a captured variable in a `Fn` closure
[INFO] [stdout] --> src/zurry.rs:339:13
[INFO] [stdout] |
[INFO] [stdout] 138 | pub fn lazy(f: F) -> impl Fn() -> A
[INFO] [stdout] | - change this to accept `FnMut` instead of `Fn`
[INFO] [stdout] ...
[INFO] [stdout] 338 | let lazy_value = lazy(|| {
[INFO] [stdout] | ---- -- in this closure
[INFO] [stdout] | |
[INFO] [stdout] | expects `Fn` instead of `FnMut`
[INFO] [stdout] 339 | call_count += 1;
[INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `call_count`, which is owned by the current function
[INFO] [stdout] --> src/zurry.rs:338:31
[INFO] [stdout] |
[INFO] [stdout] 338 | let lazy_value = lazy(|| {
[INFO] [stdout] | ^^ may outlive borrowed value `call_count`
[INFO] [stdout] 339 | call_count += 1;
[INFO] [stdout] | ---------- `call_count` is borrowed here
[INFO] [stdout] |
[INFO] [stdout] note: function requires argument type to outlive `'static`
[INFO] [stdout] --> src/zurry.rs:338:26
[INFO] [stdout] |
[INFO] [stdout] 338 | let lazy_value = lazy(|| {
[INFO] [stdout] | __________________________^
[INFO] [stdout] 339 | | call_count += 1;
[INFO] [stdout] 340 | | 42
[INFO] [stdout] 341 | | });
[INFO] [stdout] | |__________^
[INFO] [stdout] help: to force the closure to take ownership of `call_count` (and any other referenced variables), use the `move` keyword
[INFO] [stdout] |
[INFO] [stdout] 338 | let lazy_value = lazy(move || {
[INFO] [stdout] | ++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0594]: cannot assign to `call_count`, as it is a captured variable in a `Fn` closure
[INFO] [stdout] --> src/zurry.rs:356:13
[INFO] [stdout] |
[INFO] [stdout] 200 | pub fn memoize(f: F) -> impl Fn(A) -> B
[INFO] [stdout] | - change this to accept `FnMut` instead of `Fn`
[INFO] [stdout] ...
[INFO] [stdout] 355 | let memoized = memoize(|x: i32| {
[INFO] [stdout] | ------- -------- in this closure
[INFO] [stdout] | |
[INFO] [stdout] | expects `Fn` instead of `FnMut`
[INFO] [stdout] 356 | call_count += 1;
[INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `call_count`, which is owned by the current function
[INFO] [stdout] --> src/zurry.rs:355:32
[INFO] [stdout] |
[INFO] [stdout] 355 | let memoized = memoize(|x: i32| {
[INFO] [stdout] | ^^^^^^^^ may outlive borrowed value `call_count`
[INFO] [stdout] 356 | call_count += 1;
[INFO] [stdout] | ---------- `call_count` is borrowed here
[INFO] [stdout] |
[INFO] [stdout] note: function requires argument type to outlive `'static`
[INFO] [stdout] --> src/zurry.rs:355:24
[INFO] [stdout] |
[INFO] [stdout] 355 | let memoized = memoize(|x: i32| {
[INFO] [stdout] | ________________________^
[INFO] [stdout] 356 | | call_count += 1;
[INFO] [stdout] 357 | | x * x
[INFO] [stdout] 358 | | });
[INFO] [stdout] | |__________^
[INFO] [stdout] help: to force the closure to take ownership of `call_count` (and any other referenced variables), use the `move` keyword
[INFO] [stdout] |
[INFO] [stdout] 355 | let memoized = memoize(move |x: i32| {
[INFO] [stdout] | ++++
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0282, E0369, E0373, E0382, E0594.
[INFO] [stdout]
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout]
[INFO] [stderr] error: could not compile `overture-core` (lib test) due to 25 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "337e107a120bc0ced5027a561c5d8dd3c0439bf081a1c331a9fe98f992a7fbe2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "337e107a120bc0ced5027a561c5d8dd3c0439bf081a1c331a9fe98f992a7fbe2", kill_on_drop: false }`
[INFO] [stdout] 337e107a120bc0ced5027a561c5d8dd3c0439bf081a1c331a9fe98f992a7fbe2