[INFO] fetching crate keyde 0.2.4... [INFO] testing keyde-0.2.4 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate keyde 0.2.4 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate keyde 0.2.4 [INFO] finished tweaking crates.io crate keyde 0.2.4 [INFO] tweaked toml for crates.io crate keyde 0.2.4 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate keyde 0.2.4 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 1 package to latest compatible version [INFO] [stderr] Adding glam v0.21.3 (available: v0.30.8) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] feec11ab2a3747b3ce150549cb3dac3464791db87001ee1f2c19323a3dd866f4 [INFO] running `Command { std: "docker" "start" "-a" "feec11ab2a3747b3ce150549cb3dac3464791db87001ee1f2c19323a3dd866f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "feec11ab2a3747b3ce150549cb3dac3464791db87001ee1f2c19323a3dd866f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "feec11ab2a3747b3ce150549cb3dac3464791db87001ee1f2c19323a3dd866f4", kill_on_drop: false }` [INFO] [stdout] feec11ab2a3747b3ce150549cb3dac3464791db87001ee1f2c19323a3dd866f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8b5256c253d0847777f9b3fa0bb92982adfe1ee0cd8051e3c0b3c7b8ba7774e8 [INFO] running `Command { std: "docker" "start" "-a" "8b5256c253d0847777f9b3fa0bb92982adfe1ee0cd8051e3c0b3c7b8ba7774e8", kill_on_drop: false }` [INFO] [stderr] Compiling keyde v0.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `point_id_to_sorted_axis_index` [INFO] [stdout] --> src/kdtree.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | let mut point_id_to_sorted_axis_index = (0..D).map(|axis| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_id_to_sorted_axis_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kdtree.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let mut sorted_axis_ids = (0..D) [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kdtree.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let mut point_id_to_sorted_axis_index = (0..D).map(|axis| { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/kdtree.rs:354:10 [INFO] [stdout] | [INFO] [stdout] 354 | &'a self, [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] 355 | points: &'a [P], [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] ... [INFO] [stdout] 358 | stack: &'a mut Vec<(usize, usize)>, [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] 359 | ) -> IndicesWithinIterator<'_, D, P> { [INFO] [stdout] | -- the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 359 - ) -> IndicesWithinIterator<'_, D, P> { [INFO] [stdout] 359 + ) -> IndicesWithinIterator<'a, D, P> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.36s [INFO] running `Command { std: "docker" "inspect" "8b5256c253d0847777f9b3fa0bb92982adfe1ee0cd8051e3c0b3c7b8ba7774e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8b5256c253d0847777f9b3fa0bb92982adfe1ee0cd8051e3c0b3c7b8ba7774e8", kill_on_drop: false }` [INFO] [stdout] 8b5256c253d0847777f9b3fa0bb92982adfe1ee0cd8051e3c0b3c7b8ba7774e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 102487d05c11da5590ed46211c97578084461ab53bc16984230bdbc73857fb8b [INFO] running `Command { std: "docker" "start" "-a" "102487d05c11da5590ed46211c97578084461ab53bc16984230bdbc73857fb8b", kill_on_drop: false }` [INFO] [stderr] Compiling keyde v0.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `point_id_to_sorted_axis_index` [INFO] [stdout] --> src/kdtree.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | let mut point_id_to_sorted_axis_index = (0..D).map(|axis| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_id_to_sorted_axis_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kdtree.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let mut sorted_axis_ids = (0..D) [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kdtree.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let mut point_id_to_sorted_axis_index = (0..D).map(|axis| { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/kdtree.rs:354:10 [INFO] [stdout] | [INFO] [stdout] 354 | &'a self, [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] 355 | points: &'a [P], [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] ... [INFO] [stdout] 358 | stack: &'a mut Vec<(usize, usize)>, [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] 359 | ) -> IndicesWithinIterator<'_, D, P> { [INFO] [stdout] | -- the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 359 - ) -> IndicesWithinIterator<'_, D, P> { [INFO] [stdout] 359 + ) -> IndicesWithinIterator<'a, D, P> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point_id_to_sorted_axis_index` [INFO] [stdout] --> src/kdtree.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | let mut point_id_to_sorted_axis_index = (0..D).map(|axis| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_id_to_sorted_axis_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kdtree.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let mut sorted_axis_ids = (0..D) [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kdtree.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | let mut point_id_to_sorted_axis_index = (0..D).map(|axis| { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/kdtree.rs:354:10 [INFO] [stdout] | [INFO] [stdout] 354 | &'a self, [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] 355 | points: &'a [P], [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] ... [INFO] [stdout] 358 | stack: &'a mut Vec<(usize, usize)>, [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] 359 | ) -> IndicesWithinIterator<'_, D, P> { [INFO] [stdout] | -- the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 359 - ) -> IndicesWithinIterator<'_, D, P> { [INFO] [stdout] 359 + ) -> IndicesWithinIterator<'a, D, P> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.72s [INFO] running `Command { std: "docker" "inspect" "102487d05c11da5590ed46211c97578084461ab53bc16984230bdbc73857fb8b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "102487d05c11da5590ed46211c97578084461ab53bc16984230bdbc73857fb8b", kill_on_drop: false }` [INFO] [stdout] 102487d05c11da5590ed46211c97578084461ab53bc16984230bdbc73857fb8b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 204bc68c4c0c96b2ea749ec0bf7fb4d7cabce5e3b14f013bc781d7521fb0c091 [INFO] running `Command { std: "docker" "start" "-a" "204bc68c4c0c96b2ea749ec0bf7fb4d7cabce5e3b14f013bc781d7521fb0c091", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `point_id_to_sorted_axis_index` [INFO] [stderr] --> src/kdtree.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | let mut point_id_to_sorted_axis_index = (0..D).map(|axis| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_id_to_sorted_axis_index` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/kdtree.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | let mut sorted_axis_ids = (0..D) [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/kdtree.rs:260:13 [INFO] [stderr] | [INFO] [stderr] 260 | let mut point_id_to_sorted_axis_index = (0..D).map(|axis| { [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/kdtree.rs:354:10 [INFO] [stderr] | [INFO] [stderr] 354 | &'a self, [INFO] [stderr] | ^^ the lifetime is named here [INFO] [stderr] 355 | points: &'a [P], [INFO] [stderr] | ^^ the lifetime is named here [INFO] [stderr] ... [INFO] [stderr] 358 | stack: &'a mut Vec<(usize, usize)>, [INFO] [stderr] | ^^ the lifetime is named here [INFO] [stderr] 359 | ) -> IndicesWithinIterator<'_, D, P> { [INFO] [stderr] | -- the same lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 359 - ) -> IndicesWithinIterator<'_, D, P> { [INFO] [stderr] 359 + ) -> IndicesWithinIterator<'a, D, P> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `keyde` (lib) generated 4 warnings (run `cargo fix --lib -p keyde` to apply 3 suggestions) [INFO] [stderr] warning: `keyde` (lib test) generated 4 warnings (4 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/keyde-e79a8d99ee8c8670) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test kdtree::tests::test_arr_12_non_owning ... ok [INFO] [stdout] test kdtree::tests::test_arr_5 ... ok [INFO] [stdout] test kdtree::tests::test_arr_8 ... ok [INFO] [stdout] test kdtree::tests::test_arr_8_quick_iter ... ok [INFO] [stdout] test kdtree::tests::test_arr_8_shell ... ok [INFO] [stdout] test utils::heap_sort::tests::test_heap_sort ... ok [INFO] [stdout] test utils::quicksort::tests::test_quick_sort ... ok [INFO] [stdout] test utils::shell_sort::tests::test_shell_sort ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests keyde [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" "204bc68c4c0c96b2ea749ec0bf7fb4d7cabce5e3b14f013bc781d7521fb0c091", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "204bc68c4c0c96b2ea749ec0bf7fb4d7cabce5e3b14f013bc781d7521fb0c091", kill_on_drop: false }` [INFO] [stdout] 204bc68c4c0c96b2ea749ec0bf7fb4d7cabce5e3b14f013bc781d7521fb0c091