mirror of
https://github.com/jiangcuo/nix.git
synced 2026-01-05 17:46:43 +00:00
Clippy is now smarter about detecting unnecessary casts and
useless conversions, which means we need to be more explicit
about when the conversions are needed for a subset of platforms.
Required changes found by repeatedly running the following command
against a list of the supported platforms.
`xargs -t -I {} sh -c "cargo clippy -Zbuild-std --target {} --all-targets -- -D warnings || exit 255"`
I removed the casts it complained about, and then restored them
with an `#[allow]` if a later target needed the cast.
30 lines
827 B
Rust
30 lines
827 B
Rust
// The conversion is not useless on all platforms.
|
|
#[allow(clippy::useless_conversion)]
|
|
#[cfg(target_os = "freebsd")]
|
|
#[test]
|
|
fn test_chflags() {
|
|
use nix::{
|
|
sys::stat::{fstat, FileFlag},
|
|
unistd::chflags,
|
|
};
|
|
use std::os::unix::io::AsRawFd;
|
|
use tempfile::NamedTempFile;
|
|
|
|
let f = NamedTempFile::new().unwrap();
|
|
|
|
let initial = FileFlag::from_bits_truncate(
|
|
fstat(f.as_raw_fd()).unwrap().st_flags.into(),
|
|
);
|
|
// UF_OFFLINE is preserved by all FreeBSD file systems, but not interpreted
|
|
// in any way, so it's handy for testing.
|
|
let commanded = initial ^ FileFlag::UF_OFFLINE;
|
|
|
|
chflags(f.path(), commanded).unwrap();
|
|
|
|
let changed = FileFlag::from_bits_truncate(
|
|
fstat(f.as_raw_fd()).unwrap().st_flags.into(),
|
|
);
|
|
|
|
assert_eq!(commanded, changed);
|
|
}
|