[INFO] fetching crate cw-storage-plus 0.4.0... [INFO] testing cw-storage-plus-0.4.0 against beta-2021-01-01 for beta-1.50-1 [INFO] extracting crate cw-storage-plus 0.4.0 into /workspace/builds/worker-5/source [INFO] validating manifest of crates.io crate cw-storage-plus 0.4.0 on toolchain beta-2021-01-01 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate cw-storage-plus 0.4.0 [INFO] finished tweaking crates.io crate cw-storage-plus 0.4.0 [INFO] tweaked toml for crates.io crate cw-storage-plus 0.4.0 written to /workspace/builds/worker-5/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "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-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 728b18fa1eb1d4d2f28f4ceb4d50e03bb7bd1707de168971f2e431af089fdbed [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" "728b18fa1eb1d4d2f28f4ceb4d50e03bb7bd1707de168971f2e431af089fdbed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "728b18fa1eb1d4d2f28f4ceb4d50e03bb7bd1707de168971f2e431af089fdbed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "728b18fa1eb1d4d2f28f4ceb4d50e03bb7bd1707de168971f2e431af089fdbed", kill_on_drop: false }` [INFO] [stdout] 728b18fa1eb1d4d2f28f4ceb4d50e03bb7bd1707de168971f2e431af089fdbed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 793cafbd80049001d92d7c3f4decf372e6f290e4cd8f8dd78f47ae1eb612174d [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" "793cafbd80049001d92d7c3f4decf372e6f290e4cd8f8dd78f47ae1eb612174d", kill_on_drop: false }` [INFO] [stderr] Compiling serde_derive_internals v0.25.0 [INFO] [stderr] Compiling thiserror-impl v1.0.23 [INFO] [stderr] Compiling serde v1.0.118 [INFO] [stderr] Compiling schemars_derive v0.7.6 [INFO] [stderr] Compiling thiserror v1.0.23 [INFO] [stderr] Compiling serde_json v1.0.61 [INFO] [stderr] Compiling serde-json-wasm v0.2.1 [INFO] [stderr] Compiling schemars v0.7.6 [INFO] [stderr] Compiling cosmwasm-std v0.12.2 [INFO] [stderr] Compiling cw-storage-plus v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 22.09s [INFO] running `Command { std: "docker" "inspect" "793cafbd80049001d92d7c3f4decf372e6f290e4cd8f8dd78f47ae1eb612174d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "793cafbd80049001d92d7c3f4decf372e6f290e4cd8f8dd78f47ae1eb612174d", kill_on_drop: false }` [INFO] [stdout] 793cafbd80049001d92d7c3f4decf372e6f290e4cd8f8dd78f47ae1eb612174d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c00f274f7343604b1a46868dd7d5478dd85ec3927a35223658e11943eea04eee [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" "c00f274f7343604b1a46868dd7d5478dd85ec3927a35223658e11943eea04eee", kill_on_drop: false }` [INFO] [stderr] Compiling cw-storage-plus v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/item.rs:157:22 [INFO] [stdout] | [INFO] [stdout] 157 | let output = CONFIG.update(&mut store, |mut c| -> StdResult<_> { [INFO] [stdout] | ______________________^ [INFO] [stdout] 158 | | c.max_tokens *= 2; [INFO] [stdout] 159 | | Ok(c) [INFO] [stdout] 160 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(const_item_mutation)]` on by default [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: mutable reference created due to call to this method [INFO] [stdout] --> src/item.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | A: FnOnce(T) -> Result, [INFO] [stdout] 67 | | E: From, [INFO] [stdout] | |__________________________^ [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/item.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/item.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | / CONFIG [INFO] [stdout] 180 | | .update(&mut store, |mut c| -> StdResult<_> { [INFO] [stdout] 181 | | old_max_tokens = c.max_tokens; [INFO] [stdout] 182 | | c.max_tokens *= 2; [INFO] [stdout] 183 | | Ok(c) [INFO] [stdout] 184 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: mutable reference created due to call to this method [INFO] [stdout] --> src/item.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | A: FnOnce(T) -> Result, [INFO] [stdout] 67 | | E: From, [INFO] [stdout] | |__________________________^ [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/item.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/item.rs:199:22 [INFO] [stdout] | [INFO] [stdout] 199 | let output = CONFIG.update(&mut store, &|_c| Err(StdError::underflow(4, 7))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: mutable reference created due to call to this method [INFO] [stdout] --> src/item.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | A: FnOnce(T) -> Result, [INFO] [stdout] 67 | | E: From, [INFO] [stdout] | |__________________________^ [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/item.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/item.rs:229:19 [INFO] [stdout] | [INFO] [stdout] 229 | let res = CONFIG.update(&mut store, |mut c| { [INFO] [stdout] | ___________________^ [INFO] [stdout] 230 | | if c.max_tokens > 5000 { [INFO] [stdout] 231 | | return Err(MyError::Foo); [INFO] [stdout] 232 | | } [INFO] [stdout] ... | [INFO] [stdout] 240 | | Ok(c) [INFO] [stdout] 241 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: mutable reference created due to call to this method [INFO] [stdout] --> src/item.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | A: FnOnce(T) -> Result, [INFO] [stdout] 67 | | E: From, [INFO] [stdout] | |__________________________^ [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/item.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/item.rs:267:22 [INFO] [stdout] | [INFO] [stdout] 267 | let output = CONFIG.update(&mut store, |mut c| -> StdResult<_> { [INFO] [stdout] | ______________________^ [INFO] [stdout] 268 | | c.max_tokens *= 2; [INFO] [stdout] 269 | | Ok(c) [INFO] [stdout] 270 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: mutable reference created due to call to this method [INFO] [stdout] --> src/item.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | A: FnOnce(T) -> Result, [INFO] [stdout] 67 | | E: From, [INFO] [stdout] | |__________________________^ [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/item.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/item.rs:274:22 [INFO] [stdout] | [INFO] [stdout] 274 | let failed = CONFIG.update(&mut store, |_| -> StdResult<_> { [INFO] [stdout] | ______________________^ [INFO] [stdout] 275 | | Err(StdError::generic_err("failure mode")) [INFO] [stdout] 276 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: mutable reference created due to call to this method [INFO] [stdout] --> src/item.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | A: FnOnce(T) -> Result, [INFO] [stdout] 67 | | E: From, [INFO] [stdout] | |__________________________^ [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/item.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.73s [INFO] running `Command { std: "docker" "inspect" "c00f274f7343604b1a46868dd7d5478dd85ec3927a35223658e11943eea04eee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c00f274f7343604b1a46868dd7d5478dd85ec3927a35223658e11943eea04eee", kill_on_drop: false }` [INFO] [stdout] c00f274f7343604b1a46868dd7d5478dd85ec3927a35223658e11943eea04eee [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1559b57d72f2809fd3a1eec9292117ab371655e1c8790380f183a4a3a04edd2c [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" "1559b57d72f2809fd3a1eec9292117ab371655e1c8790380f183a4a3a04edd2c", kill_on_drop: false }` [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/item.rs:157:22 [INFO] [stderr] | [INFO] [stderr] 157 | let output = CONFIG.update(&mut store, |mut c| -> StdResult<_> { [INFO] [stderr] | ______________________^ [INFO] [stderr] 158 | | c.max_tokens *= 2; [INFO] [stderr] 159 | | Ok(c) [INFO] [stderr] 160 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(const_item_mutation)]` on by default [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: mutable reference created due to call to this method [INFO] [stderr] --> src/item.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stderr] 65 | | where [INFO] [stderr] 66 | | A: FnOnce(T) -> Result, [INFO] [stderr] 67 | | E: From, [INFO] [stderr] | |__________________________^ [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/item.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/item.rs:179:9 [INFO] [stderr] | [INFO] [stderr] 179 | / CONFIG [INFO] [stderr] 180 | | .update(&mut store, |mut c| -> StdResult<_> { [INFO] [stderr] 181 | | old_max_tokens = c.max_tokens; [INFO] [stderr] 182 | | c.max_tokens *= 2; [INFO] [stderr] 183 | | Ok(c) [INFO] [stderr] 184 | | }) [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: mutable reference created due to call to this method [INFO] [stderr] --> src/item.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stderr] 65 | | where [INFO] [stderr] 66 | | A: FnOnce(T) -> Result, [INFO] [stderr] 67 | | E: From, [INFO] [stderr] | |__________________________^ [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/item.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stdout] running 32 tests [INFO] [stderr] --> src/item.rs:199:22 [INFO] [stdout] test helpers::test::may_deserialize_handles_none ... ok [INFO] [stderr] | [INFO] [stdout] test helpers::test::must_deserialize_handles_none ... ok [INFO] [stderr] 199 | let output = CONFIG.update(&mut store, &|_c| Err(StdError::underflow(4, 7))); [INFO] [stdout] test helpers::test::may_deserialize_handles_some ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] test item::test::remove_works ... ok [INFO] [stderr] | [INFO] [stdout] test helpers::test::must_deserialize_handles_some ... ok [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: mutable reference created due to call to this method [INFO] [stderr] --> src/item.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stderr] 65 | | where [INFO] [stderr] 66 | | A: FnOnce(T) -> Result, [INFO] [stderr] 67 | | E: From, [INFO] [stderr] | |__________________________^ [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/item.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/item.rs:229:19 [INFO] [stderr] | [INFO] [stderr] 229 | let res = CONFIG.update(&mut store, |mut c| { [INFO] [stderr] | ___________________^ [INFO] [stderr] 230 | | if c.max_tokens > 5000 { [INFO] [stderr] 231 | | return Err(MyError::Foo); [INFO] [stderr] 232 | | } [INFO] [stderr] ... | [INFO] [stderr] 240 | | Ok(c) [INFO] [stderr] 241 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: mutable reference created due to call to this method [INFO] [stderr] --> src/item.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stderr] 65 | | where [INFO] [stderr] 66 | | A: FnOnce(T) -> Result, [INFO] [stderr] 67 | | E: From, [INFO] [stderr] | |__________________________^ [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/item.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/item.rs:267:22 [INFO] [stderr] | [INFO] [stderr] 267 | let output = CONFIG.update(&mut store, |mut c| -> StdResult<_> { [INFO] [stderr] | ______________________^ [INFO] [stderr] 268 | | c.max_tokens *= 2; [INFO] [stderr] 269 | | Ok(c) [INFO] [stderr] 270 | | })?; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: mutable reference created due to call to this method [INFO] [stderr] --> src/item.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stderr] 65 | | where [INFO] [stderr] 66 | | A: FnOnce(T) -> Result, [INFO] [stderr] 67 | | E: From, [INFO] [stderr] | |__________________________^ [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/item.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/item.rs:274:22 [INFO] [stderr] | [INFO] [stderr] 274 | let failed = CONFIG.update(&mut store, |_| -> StdResult<_> { [INFO] [stderr] | ______________________^ [INFO] [stderr] 275 | | Err(StdError::generic_err("failure mode")) [INFO] [stderr] 276 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: mutable reference created due to call to this method [INFO] [stderr] --> src/item.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn update(&mut self, store: &mut dyn Storage, action: A) -> Result [INFO] [stderr] 65 | | where [INFO] [stderr] 66 | | A: FnOnce(T) -> Result, [INFO] [stderr] 67 | | E: From, [INFO] [stderr] | |__________________________^ [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/item.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | const CONFIG: Item = Item::new("config"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 6 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/cw_storage_plus-f02cda6966c18230 [INFO] [stdout] test item::test::readme_works ... ok [INFO] [stdout] test keys::test::composite_int_key ... ok [INFO] [stdout] test item::test::update_does_not_change_data_on_error ... ok [INFO] [stdout] test keys::test::nested_composite_keys ... ok [INFO] [stdout] test item::test::update_can_change_variable_from_outer_scope ... ok [INFO] [stdout] test keys::test::nested_str_key_works ... ok [INFO] [stdout] test item::test::update_success ... ok [INFO] [stdout] test keys::test::parse_joined_keys_int ... ok [INFO] [stdout] test item::test::update_supports_custom_errors ... ok [INFO] [stdout] test helpers::test::encode_length_works ... ok [INFO] [stdout] test keys::test::parse_joined_keys_pk1 ... ok [INFO] [stdout] test keys::test::parse_joined_keys_pk2 ... ok [INFO] [stdout] test keys::test::composite_byte_key ... ok [INFO] [stdout] test keys::test::str_key_works ... ok [INFO] [stdout] test keys::test::parse_joined_keys_string_int ... ok [INFO] [stdout] test map::test::basic_update ... ok [INFO] [stdout] test map::test::create_path ... ok [INFO] [stdout] test keys::test::u32key_works ... ok [INFO] [stdout] test keys::test::u64key_works ... ok [INFO] [stdout] test map::test::composite_keys ... ok [INFO] [stdout] test item::test::save_and_load ... ok [INFO] [stdout] test map::test::readme_works ... ok [INFO] [stdout] test map::test::save_and_load ... ok [INFO] [stdout] test map::test::readme_works_composite_keys ... ok [INFO] [stdout] test item::test::isolated_reads ... ok [INFO] [stdout] test map::test::readme_works_with_path ... ok [INFO] [stderr] Doc-tests cw-storage-plus [INFO] [stdout] test helpers::test::encode_length_panics_for_large_values ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [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; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1559b57d72f2809fd3a1eec9292117ab371655e1c8790380f183a4a3a04edd2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1559b57d72f2809fd3a1eec9292117ab371655e1c8790380f183a4a3a04edd2c", kill_on_drop: false }` [INFO] [stdout] 1559b57d72f2809fd3a1eec9292117ab371655e1c8790380f183a4a3a04edd2c