From 4cf77181161976314626c1c7e712113e0ac53843 Mon Sep 17 00:00:00 2001 From: Mathias Rieder Date: Wed, 25 Mar 2026 18:54:07 +0100 Subject: [PATCH] fix arm64 build `cargo build --release --target=aarch64-unknown-linux-gnu` fails with ``` error[E0277]: `?` couldn't convert the error to `TryIntoFileAttrError` --> /opt/cargo/git/checkouts/polyfuse-cbcbf2a95fa40771/0301238/src/types.rs:422:42 | 422 | nlink: st.st_nlink.try_into()?, | ----------^ the trait `From` is not implemented for `TryIntoFileAttrError` | | | this can't be annotated with `?` because it has type `Result<_, Infallible> ``` --- src/types.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/types.rs b/src/types.rs index 00689352..f92f49a5 100644 --- a/src/types.rs +++ b/src/types.rs @@ -419,11 +419,11 @@ impl TryFrom<&libc::stat> for FileAttr { ino: NodeID::from_raw(st.st_ino).ok_or(TryIntoFileAttrError::InvalidNodeID)?, size: transmute!(st.st_size), mode: FileMode::from_raw(st.st_mode), - nlink: st.st_nlink.try_into()?, + nlink: (st.st_nlink as u64).try_into()?, uid: Uid::from_raw(st.st_uid), gid: Gid::from_raw(st.st_gid), rdev: DeviceID::from_userspace_dev(st.st_rdev), - blksize: st.st_blksize.try_into()?, + blksize: (st.st_blksize as u64).try_into()?, blocks: transmute!(st.st_blocks), atime: Duration::new(transmute!(st.st_atime), st.st_atime_nsec as _), mtime: Duration::new(transmute!(st.st_mtime), st.st_mtime_nsec as _), @@ -449,11 +449,11 @@ impl TryFrom<&Metadata> for FileAttr { ino: NodeID::from_raw(m.ino()).ok_or(TryIntoFileAttrError::InvalidNodeID)?, size: m.size(), mode: FileMode::from_raw(m.mode()), - nlink: m.nlink().try_into()?, + nlink: (m.nlink() as u64).try_into()?, uid: Uid::from_raw(m.uid()), gid: Gid::from_raw(m.gid()), rdev: DeviceID::from_userspace_dev(m.rdev()), - blksize: m.blksize().try_into()?, + blksize: (m.blksize() as u64).try_into()?, blocks: m.blocks(), atime: Duration::new(transmute!(m.atime()), m.atime_nsec() as _), mtime: Duration::new(transmute!(m.mtime()), m.mtime_nsec() as _),