fix: repair DeviceType enum in mknod to be hydrated from mode and rdev #96
Cirrus CI / FreeBSD
failed
Mar 3, 2026 in 1m 53s
Task Summary
Instruction build failed in 00:24
Details
✅ 00:00 clone
✅ 01:26 setup
❌ 00:24 build
error[E0308]: mismatched types
--> src/unix_fs.rs:153:9
|
149 | Some(match mode & libc::S_IFMT {
| ------------------- this expression has type `u32`
...
153 | libc::S_IFBLK => FileKind::BlockDevice,
| ^^^^^^^^^^^^^ expected `u32`, found `u16`
error[E0308]: mismatched types
--> src/unix_fs.rs:154:9
|
149 | Some(match mode & libc::S_IFMT {
| ------------------- this expression has type `u32`
...
154 | libc::S_IFIFO => FileKind::NamedPipe,
| ^^^^^^^^^^^^^ expected `u32`, found `u16`
error[E0308]: mismatched types
--> src/unix_fs.rs:155:9
|
149 | Some(match mode & libc::S_IFMT {
| ------------------- this expression has type `u32`
...
155 | libc::S_IFLNK => FileKind::Symlink,
| ^^^^^^^^^^^^^ expected `u32`, found `u16`
error[E0308]: mismatched types
--> src/unix_fs.rs:156:9
|
149 | Some(match mode & libc::S_IFMT {
| ------------------- this expression has type `u32`
...
156 | libc::S_IFSOCK => FileKind::Socket,
| ^^^^^^^^^^^^^^ expected `u32`, found `u16`
error[E0277]: no implementation for `u32 & u16`
--> src/unix_fs.rs:149:21
|
149 | Some(match mode & libc::S_IFMT {
| ^ no implementation for `u32 & u16`
|
= help: the trait `BitAnd<u16>` is not implemented for `u32`
= help: the following other types implement trait `BitAnd<Rhs>`:
`&u32` implements `BitAnd<u32>`
`&u32` implements `BitAnd`
`u32` implements `BitAnd<&u32>`
`u32` implements `BitAnd<zerocopy::byteorder::U32<O>>`
`u32` implements `BitAnd`
Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `easy_fuser` (lib) due to 12 previous errors
Exit status: 101
Loading