[INFO] fetching crate cw-storage-plus 0.4.0... [INFO] testing cw-storage-plus-0.4.0 against 1.49.0 for beta-1.50-1 [INFO] extracting crate cw-storage-plus 0.4.0 into /workspace/builds/worker-6/source [INFO] validating manifest of crates.io crate cw-storage-plus 0.4.0 on toolchain 1.49.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.49.0" "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-6/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.49.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.49.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "+1.49.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cc14a4b9d339fde848818a724297ebf5beccf3ebfe866a7fe998f045123cbf00 [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" "cc14a4b9d339fde848818a724297ebf5beccf3ebfe866a7fe998f045123cbf00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cc14a4b9d339fde848818a724297ebf5beccf3ebfe866a7fe998f045123cbf00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cc14a4b9d339fde848818a724297ebf5beccf3ebfe866a7fe998f045123cbf00", kill_on_drop: false }` [INFO] [stdout] cc14a4b9d339fde848818a724297ebf5beccf3ebfe866a7fe998f045123cbf00 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "+1.49.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0f3d37c2772169aaf75c9c89065b4bc14e90d9bc016c69038ba3865a737ca666 [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" "0f3d37c2772169aaf75c9c89065b4bc14e90d9bc016c69038ba3865a737ca666", kill_on_drop: false }` [INFO] [stderr] Compiling cw-storage-plus v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.85s [INFO] running `Command { std: "docker" "inspect" "0f3d37c2772169aaf75c9c89065b4bc14e90d9bc016c69038ba3865a737ca666", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f3d37c2772169aaf75c9c89065b4bc14e90d9bc016c69038ba3865a737ca666", kill_on_drop: false }` [INFO] [stdout] 0f3d37c2772169aaf75c9c89065b4bc14e90d9bc016c69038ba3865a737ca666 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "+1.49.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e6ebbdd2caa8698163b7b966333239274ad0387185087259234f8efc76905966 [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" "e6ebbdd2caa8698163b7b966333239274ad0387185087259234f8efc76905966", 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 2.84s [INFO] running `Command { std: "docker" "inspect" "e6ebbdd2caa8698163b7b966333239274ad0387185087259234f8efc76905966", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e6ebbdd2caa8698163b7b966333239274ad0387185087259234f8efc76905966", kill_on_drop: false }` [INFO] [stdout] e6ebbdd2caa8698163b7b966333239274ad0387185087259234f8efc76905966 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "+1.49.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 866d0a8d3c8f746b24d55584df53ccb845683887e4d314fe3cb9ca47c9b87ef1 [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" "866d0a8d3c8f746b24d55584df53ccb845683887e4d314fe3cb9ca47c9b87ef1", 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] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/item.rs:199:22 [INFO] [stderr] | [INFO] [stderr] 199 | let output = CONFIG.update(&mut store, &|_c| Err(StdError::underflow(4, 7))); [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: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.06s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/cw_storage_plus-f31da1b41705b8c8 [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test item::test::save_and_load ... ok [INFO] [stdout] test item::test::update_supports_custom_errors ... ok [INFO] [stdout] test helpers::test::may_deserialize_handles_some ... ok [INFO] [stdout] test helpers::test::must_deserialize_handles_none ... ok [INFO] [stdout] test keys::test::nested_composite_keys ... ok [INFO] [stdout] test keys::test::nested_str_key_works ... ok [INFO] [stdout] test keys::test::composite_byte_key ... ok [INFO] [stdout] test keys::test::parse_joined_keys_int ... ok [INFO] [stdout] test item::test::update_does_not_change_data_on_error ... ok [INFO] [stdout] test item::test::remove_works ... ok [INFO] [stdout] test item::test::update_success ... ok [INFO] [stdout] test helpers::test::may_deserialize_handles_none ... ok [INFO] [stdout] test keys::test::parse_joined_keys_pk1 ... ok [INFO] [stdout] test item::test::readme_works ... ok [INFO] [stdout] test keys::test::parse_joined_keys_pk2 ... ok [INFO] [stdout] test keys::test::parse_joined_keys_string_int ... ok [INFO] [stdout] test helpers::test::must_deserialize_handles_some ... ok [INFO] [stdout] test keys::test::u32key_works ... ok [INFO] [stdout] test map::test::basic_update ... ok [INFO] [stdout] test map::test::composite_keys ... ok [INFO] [stdout] test item::test::update_can_change_variable_from_outer_scope ... 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] [stdout] test map::test::readme_works ... ok [INFO] [stdout] test keys::test::str_key_works ... ok [INFO] [stdout] test keys::test::composite_int_key ... ok [INFO] [stdout] test keys::test::u64key_works ... ok [INFO] [stdout] test map::test::create_path ... ok [INFO] [stdout] test map::test::save_and_load ... ok [INFO] [stdout] test helpers::test::encode_length_works ... ok [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 [INFO] [stdout] [INFO] [stderr] Doc-tests cw-storage-plus [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "866d0a8d3c8f746b24d55584df53ccb845683887e4d314fe3cb9ca47c9b87ef1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "866d0a8d3c8f746b24d55584df53ccb845683887e4d314fe3cb9ca47c9b87ef1", kill_on_drop: false }` [INFO] [stdout] 866d0a8d3c8f746b24d55584df53ccb845683887e4d314fe3cb9ca47c9b87ef1