[INFO] fetching crate libphantomfs 0.1.0... [INFO] testing libphantomfs-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8 [INFO] extracting crate libphantomfs 0.1.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate libphantomfs 0.1.0 [INFO] finished tweaking crates.io crate libphantomfs 0.1.0 [INFO] tweaked toml for crates.io crate libphantomfs 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate libphantomfs 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 11 packages to latest compatible versions [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.10.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fake-enum v0.1.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c7564d686b97f8b0ad7ca2d17c622bad78e9f9c8bab88ca429e8b6e9762302ab [INFO] running `Command { std: "docker" "start" "-a" "c7564d686b97f8b0ad7ca2d17c622bad78e9f9c8bab88ca429e8b6e9762302ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c7564d686b97f8b0ad7ca2d17c622bad78e9f9c8bab88ca429e8b6e9762302ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7564d686b97f8b0ad7ca2d17c622bad78e9f9c8bab88ca429e8b6e9762302ab", kill_on_drop: false }` [INFO] [stdout] c7564d686b97f8b0ad7ca2d17c622bad78e9f9c8bab88ca429e8b6e9762302ab [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1bdad056a0da2b5fadfeba24285485256be66065eae69fe3f485836aa6386b63 [INFO] running `Command { std: "docker" "start" "-a" "1bdad056a0da2b5fadfeba24285485256be66065eae69fe3f485836aa6386b63", kill_on_drop: false }` [INFO] [stderr] Compiling nonzero_ext v0.3.0 [INFO] [stderr] Compiling fake-enum v0.1.4 [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling bytemuck v1.24.0 [INFO] [stderr] Compiling libphantomfs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ObjectFlags` [INFO] [stdout] --> src/fs.rs:8:150 [INFO] [stdout] | [INFO] [stdout] 8 | ...Features, ObjectId, Object, SectorPos, AbsPos, ObjectType, ObjectFlags, StreamListing, StreamFlags, VolumeSpan, StreamId, Director... [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_size` [INFO] [stdout] --> src/fs.rs:37:37 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn create_object(&mut self, init_size: u64, ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result src/fs.rs:37:53 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn create_object(&mut self, init_size: u64, ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result src/fs.rs:37:69 [INFO] [stdout] | [INFO] [stdout] 37 | ... ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_string_tab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `owner_uuid` [INFO] [stdout] --> src/fs.rs:37:91 [INFO] [stdout] | [INFO] [stdout] 37 | ...init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_uuid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | obj.weak_ref = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | obj.strong_ref = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | obj.streams_indirection = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:71:17 [INFO] [stdout] | [INFO] [stdout] 71 | obj.streams_ref = streams_base.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | obj.streams_size = 2048; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/fs.rs:83:49 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn allocate_contiguous_space(&mut self, size: u64) -> crate::io::Result{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fs.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut desc = RootDescriptor{ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fs.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | let mut init_reserve = VolumeSpan{ [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `label` [INFO] [stdout] --> src/fs.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn create_filesystem(&mut self, label: &str, id: Uuid, volsize: u128) -> crate::io::Result<()>{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_label` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_nullstr_by_indirection` is never used [INFO] [stdout] --> src/fs.rs:266:8 [INFO] [stdout] | [INFO] [stdout] 129 | impl FilesystemAccess{ [INFO] [stdout] | ---------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 266 | fn read_nullstr_by_indirection(&mut self, mut offset: u64, baseref: u128, indirection: u8, len: u64) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `core::result::Result` that must be used [INFO] [stdout] --> src/fs.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 238 | let _ = self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.09s [INFO] running `Command { std: "docker" "inspect" "1bdad056a0da2b5fadfeba24285485256be66065eae69fe3f485836aa6386b63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1bdad056a0da2b5fadfeba24285485256be66065eae69fe3f485836aa6386b63", kill_on_drop: false }` [INFO] [stdout] 1bdad056a0da2b5fadfeba24285485256be66065eae69fe3f485836aa6386b63 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e03b961fc4635478aebbf6f1093d18209fb1b23d6669f118ff8f47eaac25d25c [INFO] running `Command { std: "docker" "start" "-a" "e03b961fc4635478aebbf6f1093d18209fb1b23d6669f118ff8f47eaac25d25c", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `ObjectFlags` [INFO] [stdout] --> src/fs.rs:8:150 [INFO] [stdout] | [INFO] [stdout] 8 | ...Features, ObjectId, Object, SectorPos, AbsPos, ObjectType, ObjectFlags, StreamListing, StreamFlags, VolumeSpan, StreamId, Director... [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_size` [INFO] [stdout] --> src/fs.rs:37:37 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn create_object(&mut self, init_size: u64, ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result src/fs.rs:37:53 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn create_object(&mut self, init_size: u64, ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result src/fs.rs:37:69 [INFO] [stdout] | [INFO] [stdout] 37 | ... ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_string_tab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `owner_uuid` [INFO] [stdout] --> src/fs.rs:37:91 [INFO] [stdout] | [INFO] [stdout] 37 | ...init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_uuid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | obj.weak_ref = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | obj.strong_ref = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | obj.streams_indirection = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:71:17 [INFO] [stdout] | [INFO] [stdout] 71 | obj.streams_ref = streams_base.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | obj.streams_size = 2048; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/fs.rs:83:49 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn allocate_contiguous_space(&mut self, size: u64) -> crate::io::Result{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fs.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut desc = RootDescriptor{ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fs.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | let mut init_reserve = VolumeSpan{ [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `label` [INFO] [stdout] --> src/fs.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn create_filesystem(&mut self, label: &str, id: Uuid, volsize: u128) -> crate::io::Result<()>{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_label` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_nullstr_by_indirection` is never used [INFO] [stdout] --> src/fs.rs:266:8 [INFO] [stdout] | [INFO] [stdout] 129 | impl FilesystemAccess{ [INFO] [stdout] | ---------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 266 | fn read_nullstr_by_indirection(&mut self, mut offset: u64, baseref: u128, indirection: u8, len: u64) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling libphantomfs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `core::result::Result` that must be used [INFO] [stdout] --> src/fs.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 238 | let _ = self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ObjectFlags` [INFO] [stdout] --> src/fs.rs:8:150 [INFO] [stdout] | [INFO] [stdout] 8 | ...Features, ObjectId, Object, SectorPos, AbsPos, ObjectType, ObjectFlags, StreamListing, StreamFlags, VolumeSpan, StreamId, Director... [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_size` [INFO] [stdout] --> src/fs.rs:37:37 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn create_object(&mut self, init_size: u64, ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result src/fs.rs:37:53 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn create_object(&mut self, init_size: u64, ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result src/fs.rs:37:69 [INFO] [stdout] | [INFO] [stdout] 37 | ... ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_string_tab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `owner_uuid` [INFO] [stdout] --> src/fs.rs:37:91 [INFO] [stdout] | [INFO] [stdout] 37 | ...init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_uuid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | obj.weak_ref = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | obj.strong_ref = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | obj.streams_indirection = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:71:17 [INFO] [stdout] | [INFO] [stdout] 71 | obj.streams_ref = streams_base.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `obj` is never read [INFO] [stdout] --> src/fs.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | obj.streams_size = 2048; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/fs.rs:83:49 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn allocate_contiguous_space(&mut self, size: u64) -> crate::io::Result{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fs.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut desc = RootDescriptor{ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fs.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | let mut init_reserve = VolumeSpan{ [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `label` [INFO] [stdout] --> src/fs.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn create_filesystem(&mut self, label: &str, id: Uuid, volsize: u128) -> crate::io::Result<()>{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_label` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> src/fs.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | let pos = self.stream.stream_position()?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_nullstr_by_indirection` is never used [INFO] [stdout] --> src/fs.rs:266:8 [INFO] [stdout] | [INFO] [stdout] 129 | impl FilesystemAccess{ [INFO] [stdout] | ---------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 266 | fn read_nullstr_by_indirection(&mut self, mut offset: u64, baseref: u128, indirection: u8, len: u64) -> crate::io::Result{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/fs.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 238 | let _ = self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.71s [INFO] running `Command { std: "docker" "inspect" "e03b961fc4635478aebbf6f1093d18209fb1b23d6669f118ff8f47eaac25d25c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e03b961fc4635478aebbf6f1093d18209fb1b23d6669f118ff8f47eaac25d25c", kill_on_drop: false }` [INFO] [stdout] e03b961fc4635478aebbf6f1093d18209fb1b23d6669f118ff8f47eaac25d25c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 40aa8a1b0a55d592aa1bab166fc2d6c2c14ef447a81fb57ff7db34bbeae05793 [INFO] running `Command { std: "docker" "start" "-a" "40aa8a1b0a55d592aa1bab166fc2d6c2c14ef447a81fb57ff7db34bbeae05793", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `ObjectFlags` [INFO] [stderr] --> src/fs.rs:8:150 [INFO] [stderr] | [INFO] [stderr] 8 | ...Features, ObjectId, Object, SectorPos, AbsPos, ObjectType, ObjectFlags, StreamListing, StreamFlags, VolumeSpan, StreamId, Director... [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/fs.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | let pos = self.stream.stream_position()?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `init_size` [INFO] [stderr] --> src/fs.rs:37:37 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn create_object(&mut self, init_size: u64, ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result src/fs.rs:37:53 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn create_object(&mut self, init_size: u64, ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result src/fs.rs:37:69 [INFO] [stderr] | [INFO] [stderr] 37 | ... ty: ObjectType, init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_string_tab` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `owner_uuid` [INFO] [stderr] --> src/fs.rs:37:91 [INFO] [stderr] | [INFO] [stderr] 37 | ...init_string_tab: &str,owner_uuid: Uuid) -> crate::io::Result{ [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_owner_uuid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/fs.rs:63:21 [INFO] [stderr] | [INFO] [stderr] 63 | let pos = self.stream.stream_position()?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `obj` is never read [INFO] [stderr] --> src/fs.rs:53:17 [INFO] [stderr] | [INFO] [stderr] 53 | obj.weak_ref = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] running 0 tests [INFO] [stderr] warning: value assigned to `obj` is never read [INFO] [stdout] [INFO] [stderr] --> src/fs.rs:54:17 [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] 54 | obj.strong_ref = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `obj` is never read [INFO] [stderr] --> src/fs.rs:70:17 [INFO] [stderr] | [INFO] [stderr] 70 | obj.streams_indirection = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `obj` is never read [INFO] [stderr] --> src/fs.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | obj.streams_ref = streams_base.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `obj` is never read [INFO] [stderr] --> src/fs.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | obj.streams_size = 2048; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/fs.rs:83:49 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn allocate_contiguous_space(&mut self, size: u64) -> crate::io::Result{ [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/fs.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | let mut desc = RootDescriptor{ [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/fs.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | let mut init_reserve = VolumeSpan{ [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `label` [INFO] [stderr] --> src/fs.rs:86:41 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn create_filesystem(&mut self, label: &str, id: Uuid, volsize: u128) -> crate::io::Result<()>{ [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_label` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pos` [INFO] [stderr] --> src/fs.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | let pos = self.stream.stream_position()?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stderr] [INFO] [stderr] warning: method `read_nullstr_by_indirection` is never used [INFO] [stderr] --> src/fs.rs:266:8 [INFO] [stderr] | [INFO] [stderr] 129 | impl FilesystemAccess{ [INFO] [stderr] | ---------------------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 266 | fn read_nullstr_by_indirection(&mut self, mut offset: u64, baseref: u128, indirection: u8, len: u64) -> crate::io::Result{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused `core::result::Result` that must be used [INFO] [stderr] --> src/fs.rs:238:17 [INFO] [stderr] | [INFO] [stderr] 238 | self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 238 | let _ = self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/fs.rs:238:17 [INFO] [stderr] | [INFO] [stderr] 238 | self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 238 | let _ = self.stream.read_fully(bytemuck::bytes_of_mut(&mut stack[stackpos+1])); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `libphantomfs` (lib) generated 19 warnings (run `cargo fix --lib -p libphantomfs` to apply 12 suggestions) [INFO] [stderr] warning: `libphantomfs` (lib test) generated 19 warnings (18 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libphantomfs-de6711b5c702d188) [INFO] [stderr] Doc-tests libphantomfs [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" "40aa8a1b0a55d592aa1bab166fc2d6c2c14ef447a81fb57ff7db34bbeae05793", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "40aa8a1b0a55d592aa1bab166fc2d6c2c14ef447a81fb57ff7db34bbeae05793", kill_on_drop: false }` [INFO] [stdout] 40aa8a1b0a55d592aa1bab166fc2d6c2c14ef447a81fb57ff7db34bbeae05793