[INFO] fetching crate flail 0.3.0... [INFO] checking flail-0.3.0 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate flail 0.3.0 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate flail 0.3.0 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate flail 0.3.0 [INFO] finished tweaking crates.io crate flail 0.3.0 [INFO] tweaked toml for crates.io crate flail 0.3.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "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 145 packages to latest compatible versions [INFO] [stderr] Adding addr2line v0.22.0 (latest: v0.24.1) [INFO] [stderr] Adding bindgen v0.65.1 (latest: v0.70.1) [INFO] [stderr] Adding bitflags v1.3.2 (latest: v2.6.0) [INFO] [stderr] Adding derive-getters v0.2.1 (latest: v0.5.0) [INFO] [stderr] Adding env_logger v0.7.1 (latest: v0.11.5) [INFO] [stderr] Adding gimli v0.29.0 (latest: v0.31.0) [INFO] [stderr] Adding hermit-abi v0.1.19 (latest: v0.4.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (latest: v0.4.0) [INFO] [stderr] Adding humantime v1.3.0 (latest: v2.1.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (latest: v0.6.5) [INFO] [stderr] Adding memoffset v0.7.1 (latest: v0.9.1) [INFO] [stderr] Adding miniz_oxide v0.7.4 (latest: v0.8.0) [INFO] [stderr] Adding nix v0.26.4 (latest: v0.29.0) [INFO] [stderr] Adding peeking_take_while v0.1.2 (latest: v1.0.0) [INFO] [stderr] Adding pretty_env_logger v0.4.0 (latest: v0.5.0) [INFO] [stderr] Adding quick-error v1.2.3 (latest: v2.0.1) [INFO] [stderr] Adding rustc-hash v1.1.0 (latest: v2.0.0) [INFO] [stderr] Adding syn v1.0.109 (latest: v2.0.77) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding which v4.4.2 (latest: v6.0.3) [INFO] [stderr] Adding windows-core v0.52.0 (latest: v0.58.0) [INFO] [stderr] Adding windows-sys v0.52.0 (latest: v0.59.0) [INFO] [stderr] Adding yansi v0.5.1 (latest: v1.0.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 19fa00b8d8e4f1492b13118df134ee07a62c715d80bf992860c2c5cf46da74d0 [INFO] running `Command { std: "docker" "start" "-a" "19fa00b8d8e4f1492b13118df134ee07a62c715d80bf992860c2c5cf46da74d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "19fa00b8d8e4f1492b13118df134ee07a62c715d80bf992860c2c5cf46da74d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "19fa00b8d8e4f1492b13118df134ee07a62c715d80bf992860c2c5cf46da74d0", kill_on_drop: false }` [INFO] [stdout] 19fa00b8d8e4f1492b13118df134ee07a62c715d80bf992860c2c5cf46da74d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5dc6316a3580f8cbd75f14d1440237c347b044ad6570d339710d635c4b60835a [INFO] running `Command { std: "docker" "start" "-a" "5dc6316a3580f8cbd75f14d1440237c347b044ad6570d339710d635c4b60835a", kill_on_drop: false }` [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rustix v0.38.35 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Compiling bindgen v0.65.1 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Compiling prettyplease v0.2.22 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling async-trait v0.1.81 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking indenter v0.3.3 [INFO] [stderr] Checking pretty_env_logger v0.4.0 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Compiling ctor v0.2.8 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking bytemuck v1.17.1 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking debug-ignore v1.0.5 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling derive-getters v0.2.1 [INFO] [stderr] Compiling getset v0.1.2 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Checking rsfs-tokio v0.5.0 [INFO] [stderr] Checking floppy-disk v0.2.6 [INFO] [stderr] Compiling libe2fs-sys v0.3.0 [INFO] [stderr] Checking flail v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ext/facade.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | let mut this = self.get_mut(); [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: field `1` is never read [INFO] [stdout] --> src/ext/mod.rs:29:65 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct ExtFilesystem(Arc>, PathBuf); [INFO] [stdout] | ------------- field in this struct ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `ExtFilesystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/mod.rs:349:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn create>(path: P, size_bytes: u64) -> Result { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | let file = OpenOptions::new() [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 72 | let path = CString::new(path.to_string_lossy().as_bytes())?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 198 | let io_manager = DEFAULT_IO_MANAGER.clone().0; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 199 | let mut io_manager = io_manager.write().unwrap(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 313 | let lpf_name = CString::new("lost+found")?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 349 | Ok(Self(Arc::new(RwLock::new(fs)), path)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn new + std::fmt::Debug>(path: P) -> Result { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 31 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 32 | | fs: Arc::new(RwLock::new( [INFO] [stdout] 33 | | super::ExtFilesystem::open( [INFO] [stdout] 34 | | path, [INFO] [stdout] ... | [INFO] [stdout] 39 | | )), [INFO] [stdout] 40 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 44 | path: P, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 49 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 50 | | fs: Arc::new(RwLock::new( [INFO] [stdout] 51 | | super::ExtFilesystem::create(path, size_bytes).map_err(wrap_report)?, [INFO] [stdout] 52 | | )), [INFO] [stdout] 53 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:68:86 [INFO] [stdout] | [INFO] [stdout] 68 | async fn canonicalize + Send>(&self, _path: P) -> Result { [INFO] [stdout] | _________________________________________________________--------_____________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 69 | | unimplemented!( [INFO] [stdout] 70 | | "canonicalize does not have any meaning as everything is already relative to root" [INFO] [stdout] 71 | | ) [INFO] [stdout] 72 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:74:80 [INFO] [stdout] | [INFO] [stdout] 74 | async fn copy + Send>(&self, from: P, to: P) -> Result { [INFO] [stdout] | _________________________________________________-------__-----_________________^ [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 75 | | let from = from.as_ref(); [INFO] [stdout] 76 | | let to = to.as_ref(); [INFO] [stdout] 77 | | let (data, permissions) = { [INFO] [stdout] ... | [INFO] [stdout] 95 | | Ok(data.len() as u64) [INFO] [stdout] 96 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:98:78 [INFO] [stdout] | [INFO] [stdout] 98 | async fn create_dir + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | _______________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 99 | | let fs = self.fs.write().await; [INFO] [stdout] 100 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 101 | | Ok(_) => fs [INFO] [stdout] ... | [INFO] [stdout] 115 | | } [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:118:82 [INFO] [stdout] | [INFO] [stdout] 118 | async fn create_dir_all + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | ___________________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 119 | | let mut parent_paths = vec![]; [INFO] [stdout] 120 | | let fs = self.fs.write().await; [INFO] [stdout] ... | [INFO] [stdout] 153 | | Ok(()) [INFO] [stdout] 154 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:156:86 [INFO] [stdout] | [INFO] [stdout] 156 | async fn hard_link + Send>(&self, _src: P, _dst: P) -> Result<()> { [INFO] [stdout] | ______________________________________________________-------__-------________________^ [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 157 | | unimplemented!("please open an issue if you need hard-link functionality.") [INFO] [stdout] 158 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:160:88 [INFO] [stdout] | [INFO] [stdout] 160 | async fn metadata + Send>(&self, path: P) -> Result { [INFO] [stdout] | _____________________________________________________-------____________________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 161 | | let fs = self.fs.read().await; [INFO] [stdout] 162 | | match fs.find_inode_follow(path.as_ref()) { [INFO] [stdout] 163 | | Ok(inode) => Ok(ExtFacadeMetadata { [INFO] [stdout] ... | [INFO] [stdout] 167 | | } [INFO] [stdout] 168 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:170:77 [INFO] [stdout] | [INFO] [stdout] 170 | async fn read + Send>(&self, path: P) -> Result> { [INFO] [stdout] | _________________________________________________-------_____________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 171 | | let fs = self.fs.read().await; [INFO] [stdout] 172 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 173 | | Ok(inode) => { [INFO] [stdout] ... | [INFO] [stdout] 190 | | } [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:196:67 [INFO] [stdout] | [INFO] [stdout] 195 | path: P, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | ) -> Result<>::ReadDir> { [INFO] [stdout] | ___________________________________________________________________^ [INFO] [stdout] 197 | | let fs = self.fs.read().await; [INFO] [stdout] 198 | | let mut inodes = vec![]; [INFO] [stdout] 199 | | let path = path.as_ref(); [INFO] [stdout] ... | [INFO] [stdout] 217 | | Ok(ExtFacadeReadDir::new(path, inodes)) [INFO] [stdout] 218 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:220:82 [INFO] [stdout] | [INFO] [stdout] 220 | async fn read_link + Send>(&self, path: P) -> Result { [INFO] [stdout] | ______________________________________________________-------_____________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 221 | | let fs = self.fs.read().await; [INFO] [stdout] 222 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 223 | | Ok(inode) => { [INFO] [stdout] ... | [INFO] [stdout] 240 | | } [INFO] [stdout] 241 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:243:86 [INFO] [stdout] | [INFO] [stdout] 243 | async fn read_to_string + Send>(&self, path: P) -> Result { [INFO] [stdout] | ___________________________________________________________-------____________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 244 | | let bytes = self.read(path).await?; [INFO] [stdout] 245 | | Ok(String::from_utf8(bytes).map_err(wrap_err)?) [INFO] [stdout] 246 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:248:78 [INFO] [stdout] | [INFO] [stdout] 248 | async fn remove_dir + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | _______________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 249 | | let path = path.as_ref(); [INFO] [stdout] 250 | | let read_dir = self.read_dir(path).await?; [INFO] [stdout] 251 | | if !read_dir.inodes.is_empty() { [INFO] [stdout] ... | [INFO] [stdout] 259 | | fs.delete(path).map_err(wrap_report) [INFO] [stdout] 260 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:262:82 [INFO] [stdout] | [INFO] [stdout] 262 | async fn remove_dir_all + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | ___________________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 263 | | let path = path.as_ref(); [INFO] [stdout] 264 | | let mut read_dir = self.read_dir(path).await?; [INFO] [stdout] 265 | | while let Some(entry) = read_dir.next_entry().await? { [INFO] [stdout] ... | [INFO] [stdout] 275 | | self.remove_dir(path).await [INFO] [stdout] 276 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:278:79 [INFO] [stdout] | [INFO] [stdout] 278 | async fn remove_file + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | ________________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 279 | | let fs = self.fs.write().await; [INFO] [stdout] 280 | | fs.delete(path.as_ref()).map_err(wrap_report) [INFO] [stdout] 281 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:283:81 [INFO] [stdout] | [INFO] [stdout] 283 | async fn rename + Send>(&self, from: P, to: P) -> Result<()> { [INFO] [stdout] | ___________________________________________________-------__-----________________^ [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 284 | | let fs = self.fs.write().await; [INFO] [stdout] 285 | | let from = from.as_ref(); [INFO] [stdout] 286 | | fs.link(from, to.as_ref()).map_err(wrap_report)?; [INFO] [stdout] 287 | | fs.unlink(from).map_err(wrap_report)?; [INFO] [stdout] 288 | | Ok(()) [INFO] [stdout] 289 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 293 | path: P, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 294 | perm: Self::Permissions, [INFO] [stdout] 295 | ) -> Result<()> { [INFO] [stdout] | _____________________^ [INFO] [stdout] 296 | | let fs = self.fs.write().await; [INFO] [stdout] 297 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 298 | | Ok(mut inode) => { [INFO] [stdout] ... | [INFO] [stdout] 308 | | } [INFO] [stdout] 309 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:311:82 [INFO] [stdout] | [INFO] [stdout] 311 | async fn symlink + Send>(&self, src: P, dst: P) -> Result<()> { [INFO] [stdout] | ____________________________________________________------__------________________^ [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 312 | | let fs = self.fs.write().await; [INFO] [stdout] 313 | | let src = src.as_ref(); [INFO] [stdout] 314 | | let dst = dst.as_ref(); [INFO] [stdout] ... | [INFO] [stdout] 320 | | .map_err(wrap_report) [INFO] [stdout] 321 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:323:96 [INFO] [stdout] | [INFO] [stdout] 323 | async fn symlink_metadata + Send>(&self, path: P) -> Result { [INFO] [stdout] | _____________________________________________________________-------____________________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 324 | | let fs = self.fs.read().await; [INFO] [stdout] 325 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 326 | | Ok(inode) => Ok(ExtFacadeMetadata { [INFO] [stdout] ... | [INFO] [stdout] 330 | | } [INFO] [stdout] 331 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:333:80 [INFO] [stdout] | [INFO] [stdout] 333 | async fn try_exists + Send>(&self, path: P) -> Result { [INFO] [stdout] | _______________________________________________________-------__________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 334 | | let fs = self.fs.read().await; [INFO] [stdout] 335 | | fs.find_inode(path.as_ref()) [INFO] [stdout] 336 | | .map(|_| true) [INFO] [stdout] 337 | | .map_err(wrap_report) [INFO] [stdout] 338 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:344:21 [INFO] [stdout] | [INFO] [stdout] 342 | path: P, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 343 | contents: impl AsRef<[u8]> + Send, [INFO] [stdout] | --------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 344 | ) -> Result<()> { [INFO] [stdout] | _____________________^ [INFO] [stdout] 345 | | let fs = self.fs.write().await; [INFO] [stdout] 346 | | fs.write_to_file(path.as_ref(), contents.as_ref()) [INFO] [stdout] 347 | | .map(|_| ()) [INFO] [stdout] 348 | | .map_err(wrap_report) [INFO] [stdout] 349 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:362:95 [INFO] [stdout] | [INFO] [stdout] 362 | async fn chown + Send>(&self, path: P, uid: u32, gid: u32) -> Result<()> { [INFO] [stdout] | ____________________________________________________-------____________________________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 363 | | let fs = self.fs.write().await; [INFO] [stdout] 364 | | let mut inode = fs.find_inode(path.into()).map_err(wrap_report)?; [INFO] [stdout] 365 | | inode.1.i_uid = uid as u16; [INFO] [stdout] 366 | | inode.1.i_gid = gid as u16; [INFO] [stdout] 367 | | fs.write_inode(&mut inode).map_err(wrap_report) [INFO] [stdout] 368 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:508:74 [INFO] [stdout] | [INFO] [stdout] 508 | async fn create + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | ___________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 509 | | let fs = self.facade.fs.read().await; [INFO] [stdout] 510 | | let path = path.as_ref(); [INFO] [stdout] 511 | | fs.mkdir( [INFO] [stdout] ... | [INFO] [stdout] 526 | | Ok(()) [INFO] [stdout] 527 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:650:64 [INFO] [stdout] | [INFO] [stdout] 649 | _path: P, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 650 | ) -> Result<>::File> { [INFO] [stdout] | ________________________________________________________________^ [INFO] [stdout] 651 | | let mut flags = ExtFileOpenFlags::empty(); [INFO] [stdout] 652 | | if self.create || self.create_new { [INFO] [stdout] 653 | | flags.insert(ExtFileOpenFlags::CREATE); [INFO] [stdout] ... | [INFO] [stdout] 685 | | Ok(file) [INFO] [stdout] 686 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:780:13 [INFO] [stdout] | [INFO] [stdout] 779 | let fs = this.facade.fs.read().await; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 780 | / fs.seek( [INFO] [stdout] 781 | | &this.file, [INFO] [stdout] 782 | | e2fs_position.try_into().unwrap(), [INFO] [stdout] 783 | | direction.try_into().unwrap(), [INFO] [stdout] 784 | | ) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 26 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `flail` (lib) due to 27 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ext/facade.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | let mut this = self.get_mut(); [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: field `1` is never read [INFO] [stdout] --> src/ext/mod.rs:29:65 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct ExtFilesystem(Arc>, PathBuf); [INFO] [stdout] | ------------- field in this struct ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `ExtFilesystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/ext/mod.rs:1421:35 [INFO] [stdout] | [INFO] [stdout] 1421 | pub struct TempImage(PathBuf, TempDir); [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/mod.rs:349:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn create>(path: P, size_bytes: u64) -> Result { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | let file = OpenOptions::new() [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 72 | let path = CString::new(path.to_string_lossy().as_bytes())?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 198 | let io_manager = DEFAULT_IO_MANAGER.clone().0; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 199 | let mut io_manager = io_manager.write().unwrap(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 313 | let lpf_name = CString::new("lost+found")?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 349 | Ok(Self(Arc::new(RwLock::new(fs)), path)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn new + std::fmt::Debug>(path: P) -> Result { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 31 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 32 | | fs: Arc::new(RwLock::new( [INFO] [stdout] 33 | | super::ExtFilesystem::open( [INFO] [stdout] 34 | | path, [INFO] [stdout] ... | [INFO] [stdout] 39 | | )), [INFO] [stdout] 40 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 44 | path: P, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 49 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 50 | | fs: Arc::new(RwLock::new( [INFO] [stdout] 51 | | super::ExtFilesystem::create(path, size_bytes).map_err(wrap_report)?, [INFO] [stdout] 52 | | )), [INFO] [stdout] 53 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:68:86 [INFO] [stdout] | [INFO] [stdout] 68 | async fn canonicalize + Send>(&self, _path: P) -> Result { [INFO] [stdout] | _________________________________________________________--------_____________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 69 | | unimplemented!( [INFO] [stdout] 70 | | "canonicalize does not have any meaning as everything is already relative to root" [INFO] [stdout] 71 | | ) [INFO] [stdout] 72 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:74:80 [INFO] [stdout] | [INFO] [stdout] 74 | async fn copy + Send>(&self, from: P, to: P) -> Result { [INFO] [stdout] | _________________________________________________-------__-----_________________^ [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 75 | | let from = from.as_ref(); [INFO] [stdout] 76 | | let to = to.as_ref(); [INFO] [stdout] 77 | | let (data, permissions) = { [INFO] [stdout] ... | [INFO] [stdout] 95 | | Ok(data.len() as u64) [INFO] [stdout] 96 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:98:78 [INFO] [stdout] | [INFO] [stdout] 98 | async fn create_dir + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | _______________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 99 | | let fs = self.fs.write().await; [INFO] [stdout] 100 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 101 | | Ok(_) => fs [INFO] [stdout] ... | [INFO] [stdout] 115 | | } [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:118:82 [INFO] [stdout] | [INFO] [stdout] 118 | async fn create_dir_all + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | ___________________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 119 | | let mut parent_paths = vec![]; [INFO] [stdout] 120 | | let fs = self.fs.write().await; [INFO] [stdout] ... | [INFO] [stdout] 153 | | Ok(()) [INFO] [stdout] 154 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:156:86 [INFO] [stdout] | [INFO] [stdout] 156 | async fn hard_link + Send>(&self, _src: P, _dst: P) -> Result<()> { [INFO] [stdout] | ______________________________________________________-------__-------________________^ [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 157 | | unimplemented!("please open an issue if you need hard-link functionality.") [INFO] [stdout] 158 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:160:88 [INFO] [stdout] | [INFO] [stdout] 160 | async fn metadata + Send>(&self, path: P) -> Result { [INFO] [stdout] | _____________________________________________________-------____________________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 161 | | let fs = self.fs.read().await; [INFO] [stdout] 162 | | match fs.find_inode_follow(path.as_ref()) { [INFO] [stdout] 163 | | Ok(inode) => Ok(ExtFacadeMetadata { [INFO] [stdout] ... | [INFO] [stdout] 167 | | } [INFO] [stdout] 168 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:170:77 [INFO] [stdout] | [INFO] [stdout] 170 | async fn read + Send>(&self, path: P) -> Result> { [INFO] [stdout] | _________________________________________________-------_____________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 171 | | let fs = self.fs.read().await; [INFO] [stdout] 172 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 173 | | Ok(inode) => { [INFO] [stdout] ... | [INFO] [stdout] 190 | | } [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:196:67 [INFO] [stdout] | [INFO] [stdout] 195 | path: P, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | ) -> Result<>::ReadDir> { [INFO] [stdout] | ___________________________________________________________________^ [INFO] [stdout] 197 | | let fs = self.fs.read().await; [INFO] [stdout] 198 | | let mut inodes = vec![]; [INFO] [stdout] 199 | | let path = path.as_ref(); [INFO] [stdout] ... | [INFO] [stdout] 217 | | Ok(ExtFacadeReadDir::new(path, inodes)) [INFO] [stdout] 218 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:220:82 [INFO] [stdout] | [INFO] [stdout] 220 | async fn read_link + Send>(&self, path: P) -> Result { [INFO] [stdout] | ______________________________________________________-------_____________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 221 | | let fs = self.fs.read().await; [INFO] [stdout] 222 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 223 | | Ok(inode) => { [INFO] [stdout] ... | [INFO] [stdout] 240 | | } [INFO] [stdout] 241 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:243:86 [INFO] [stdout] | [INFO] [stdout] 243 | async fn read_to_string + Send>(&self, path: P) -> Result { [INFO] [stdout] | ___________________________________________________________-------____________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 244 | | let bytes = self.read(path).await?; [INFO] [stdout] 245 | | Ok(String::from_utf8(bytes).map_err(wrap_err)?) [INFO] [stdout] 246 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:248:78 [INFO] [stdout] | [INFO] [stdout] 248 | async fn remove_dir + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | _______________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 249 | | let path = path.as_ref(); [INFO] [stdout] 250 | | let read_dir = self.read_dir(path).await?; [INFO] [stdout] 251 | | if !read_dir.inodes.is_empty() { [INFO] [stdout] ... | [INFO] [stdout] 259 | | fs.delete(path).map_err(wrap_report) [INFO] [stdout] 260 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:262:82 [INFO] [stdout] | [INFO] [stdout] 262 | async fn remove_dir_all + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | ___________________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 263 | | let path = path.as_ref(); [INFO] [stdout] 264 | | let mut read_dir = self.read_dir(path).await?; [INFO] [stdout] 265 | | while let Some(entry) = read_dir.next_entry().await? { [INFO] [stdout] ... | [INFO] [stdout] 275 | | self.remove_dir(path).await [INFO] [stdout] 276 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:278:79 [INFO] [stdout] | [INFO] [stdout] 278 | async fn remove_file + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | ________________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 279 | | let fs = self.fs.write().await; [INFO] [stdout] 280 | | fs.delete(path.as_ref()).map_err(wrap_report) [INFO] [stdout] 281 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:283:81 [INFO] [stdout] | [INFO] [stdout] 283 | async fn rename + Send>(&self, from: P, to: P) -> Result<()> { [INFO] [stdout] | ___________________________________________________-------__-----________________^ [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 284 | | let fs = self.fs.write().await; [INFO] [stdout] 285 | | let from = from.as_ref(); [INFO] [stdout] 286 | | fs.link(from, to.as_ref()).map_err(wrap_report)?; [INFO] [stdout] 287 | | fs.unlink(from).map_err(wrap_report)?; [INFO] [stdout] 288 | | Ok(()) [INFO] [stdout] 289 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 293 | path: P, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 294 | perm: Self::Permissions, [INFO] [stdout] 295 | ) -> Result<()> { [INFO] [stdout] | _____________________^ [INFO] [stdout] 296 | | let fs = self.fs.write().await; [INFO] [stdout] 297 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 298 | | Ok(mut inode) => { [INFO] [stdout] ... | [INFO] [stdout] 308 | | } [INFO] [stdout] 309 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:311:82 [INFO] [stdout] | [INFO] [stdout] 311 | async fn symlink + Send>(&self, src: P, dst: P) -> Result<()> { [INFO] [stdout] | ____________________________________________________------__------________________^ [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 312 | | let fs = self.fs.write().await; [INFO] [stdout] 313 | | let src = src.as_ref(); [INFO] [stdout] 314 | | let dst = dst.as_ref(); [INFO] [stdout] ... | [INFO] [stdout] 320 | | .map_err(wrap_report) [INFO] [stdout] 321 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:323:96 [INFO] [stdout] | [INFO] [stdout] 323 | async fn symlink_metadata + Send>(&self, path: P) -> Result { [INFO] [stdout] | _____________________________________________________________-------____________________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 324 | | let fs = self.fs.read().await; [INFO] [stdout] 325 | | match fs.find_inode(path.as_ref()) { [INFO] [stdout] 326 | | Ok(inode) => Ok(ExtFacadeMetadata { [INFO] [stdout] ... | [INFO] [stdout] 330 | | } [INFO] [stdout] 331 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:333:80 [INFO] [stdout] | [INFO] [stdout] 333 | async fn try_exists + Send>(&self, path: P) -> Result { [INFO] [stdout] | _______________________________________________________-------__________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 334 | | let fs = self.fs.read().await; [INFO] [stdout] 335 | | fs.find_inode(path.as_ref()) [INFO] [stdout] 336 | | .map(|_| true) [INFO] [stdout] 337 | | .map_err(wrap_report) [INFO] [stdout] 338 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:344:21 [INFO] [stdout] | [INFO] [stdout] 342 | path: P, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 343 | contents: impl AsRef<[u8]> + Send, [INFO] [stdout] | --------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 344 | ) -> Result<()> { [INFO] [stdout] | _____________________^ [INFO] [stdout] 345 | | let fs = self.fs.write().await; [INFO] [stdout] 346 | | fs.write_to_file(path.as_ref(), contents.as_ref()) [INFO] [stdout] 347 | | .map(|_| ()) [INFO] [stdout] 348 | | .map_err(wrap_report) [INFO] [stdout] 349 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:362:95 [INFO] [stdout] | [INFO] [stdout] 362 | async fn chown + Send>(&self, path: P, uid: u32, gid: u32) -> Result<()> { [INFO] [stdout] | ____________________________________________________-------____________________________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 363 | | let fs = self.fs.write().await; [INFO] [stdout] 364 | | let mut inode = fs.find_inode(path.into()).map_err(wrap_report)?; [INFO] [stdout] 365 | | inode.1.i_uid = uid as u16; [INFO] [stdout] 366 | | inode.1.i_gid = gid as u16; [INFO] [stdout] 367 | | fs.write_inode(&mut inode).map_err(wrap_report) [INFO] [stdout] 368 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:508:74 [INFO] [stdout] | [INFO] [stdout] 508 | async fn create + Send>(&self, path: P) -> Result<()> { [INFO] [stdout] | ___________________________________________________-------________________^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 509 | | let fs = self.facade.fs.read().await; [INFO] [stdout] 510 | | let path = path.as_ref(); [INFO] [stdout] 511 | | fs.mkdir( [INFO] [stdout] ... | [INFO] [stdout] 526 | | Ok(()) [INFO] [stdout] 527 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:650:64 [INFO] [stdout] | [INFO] [stdout] 649 | _path: P, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 650 | ) -> Result<>::File> { [INFO] [stdout] | ________________________________________________________________^ [INFO] [stdout] 651 | | let mut flags = ExtFileOpenFlags::empty(); [INFO] [stdout] 652 | | if self.create || self.create_new { [INFO] [stdout] 653 | | flags.insert(ExtFileOpenFlags::CREATE); [INFO] [stdout] ... | [INFO] [stdout] 685 | | Ok(file) [INFO] [stdout] 686 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/facade.rs:780:13 [INFO] [stdout] | [INFO] [stdout] 779 | let fs = this.facade.fs.read().await; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 780 | / fs.seek( [INFO] [stdout] 781 | | &this.file, [INFO] [stdout] 782 | | e2fs_position.try_into().unwrap(), [INFO] [stdout] 783 | | direction.try_into().unwrap(), [INFO] [stdout] 784 | | ) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/ext/mod.rs:1431:16 [INFO] [stdout] | [INFO] [stdout] 1424 | pub fn new>(path: P) -> Result { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1425 | let path = path.into(); [INFO] [stdout] 1426 | let tmp = TempDir::new()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1431 | Ok(Self(tmp_path, tmp)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 27 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `flail` (lib test) due to 28 previous errors; 3 warnings emitted [INFO] running `Command { std: "docker" "inspect" "5dc6316a3580f8cbd75f14d1440237c347b044ad6570d339710d635c4b60835a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5dc6316a3580f8cbd75f14d1440237c347b044ad6570d339710d635c4b60835a", kill_on_drop: false }` [INFO] [stdout] 5dc6316a3580f8cbd75f14d1440237c347b044ad6570d339710d635c4b60835a