[INFO] crate catfs 0.8.0 is already in cache [INFO] extracting crate catfs 0.8.0 into work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/reg/catfs/0.8.0 [INFO] extracting crate catfs 0.8.0 into work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/reg/catfs/0.8.0 [INFO] validating manifest of catfs-0.8.0 on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of catfs-0.8.0 on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing catfs-0.8.0 [INFO] finished frobbing catfs-0.8.0 [INFO] frobbed toml for catfs-0.8.0 written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/reg/catfs/0.8.0/Cargo.toml [INFO] started frobbing catfs-0.8.0 [INFO] finished frobbing catfs-0.8.0 [INFO] frobbed toml for catfs-0.8.0 written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/reg/catfs/0.8.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking catfs-0.8.0 against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-7/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/reg/catfs/0.8.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 9cdd3c0ac1bce3746ea6765970916d51f4bef90de93de93a50c248cce327a76d [INFO] running `"docker" "start" "-a" "9cdd3c0ac1bce3746ea6765970916d51f4bef90de93de93a50c248cce327a76d"` [INFO] [stderr] Compiling fuse v0.3.1 [INFO] [stderr] Checking chan v0.1.23 [INFO] [stderr] Checking chan-signal v0.2.0 [INFO] [stderr] Checking catfs v0.8.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:53:38 [INFO] [stderr] | [INFO] [stderr] 53 | fn maybe_unlinkat(dir: RawFd, path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:62:39 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn mkdirat_all(dir: RawFd, path: &AsRef, mode: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:84:16 [INFO] [stderr] | [INFO] [stderr] 84 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:118:16 [INFO] [stderr] | [INFO] [stderr] 118 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:245:16 [INFO] [stderr] | [INFO] [stderr] 245 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:297:60 [INFO] [stderr] | [INFO] [stderr] 297 | pub fn unlink(src_dir: RawFd, cache_dir: RawFd, path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:305:16 [INFO] [stderr] | [INFO] [stderr] 305 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:568:16 [INFO] [stderr] | [INFO] [stderr] 568 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/catfs/flags.rs:54:20 [INFO] [stderr] | [INFO] [stderr] 54 | '0'...'9' => 1, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:40:26 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn to_cstring(path: &AsRef) -> CString { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:45:23 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn opendir(path: &AsRef) -> io::Result<*mut libc::DIR> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:156:21 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn mkdir(path: &AsRef, mode: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:166:35 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn mkdirat(dir: RawFd, path: &AsRef, mode: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:224:36 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn unlinkat(dir: RawFd, path: &AsRef, flags: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:234:35 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn existat(dir: RawFd, path: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:244:36 [INFO] [stderr] | [INFO] [stderr] 244 | pub fn renameat(dir: RawFd, path: &AsRef, newpath: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:244:59 [INFO] [stderr] | [INFO] [stderr] 244 | pub fn renameat(dir: RawFd, path: &AsRef, newpath: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:274:35 [INFO] [stderr] | [INFO] [stderr] 274 | pub fn fstatat(dir: RawFd, path: &AsRef) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:298:34 [INFO] [stderr] | [INFO] [stderr] 298 | pub fn openat(dir: RawFd, path: &AsRef, flags: u32, mode: u32) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:309:22 [INFO] [stderr] | [INFO] [stderr] 309 | pub fn utimes(path: &AsRef, atime: libc::time_t, mtime: libc::time_t) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:325:12 [INFO] [stderr] | [INFO] [stderr] 325 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:350:36 [INFO] [stderr] | [INFO] [stderr] 350 | pub fn fchmodat(dir: RawFd, path: &AsRef, mode: u32, flags: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:372:20 [INFO] [stderr] | [INFO] [stderr] 372 | pub fn open(path: &AsRef, flags: u32, mode: u32) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:383:38 [INFO] [stderr] | [INFO] [stderr] 383 | pub fn openat(dir: RawFd, path: &AsRef, flags: u32, mode: u32) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:396:24 [INFO] [stderr] | [INFO] [stderr] 396 | pub fn open(path: &AsRef, flags: u32, mode: u32) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/tests.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | fn copy_all(dir1: &AsRef, dir2: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/tests.rs:11:40 [INFO] [stderr] | [INFO] [stderr] 11 | fn copy_all(dir1: &AsRef, dir2: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:32:24 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn openpath(path: &AsRef) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:37:38 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn openat(dir: RawFd, path: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:53:24 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn open(path: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:100:25 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn mkdir(path: &AsRef, mode: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:104:61 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn rmdirat(src_dir: RawFd, cache_dir: RawFd, path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:115:29 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn rmdir(src_path: &AsRef, cache_path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:115:55 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn rmdir(src_path: &AsRef, cache_path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/inode.rs:109:43 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn lookup_path(dir: RawFd, path: &AsRef) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/inode.rs:234:59 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn rename(&mut self, new_name: &OsStr, new_path: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/mod.rs:113:23 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn new(from: &AsRef, to: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/mod.rs:113:41 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn new(from: &AsRef, to: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/evicter/mod.rs:47:31 [INFO] [stderr] | [INFO] [stderr] 47 | fn new(dir: RawFd, path: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/evicter/mod.rs:57:30 [INFO] [stderr] | [INFO] [stderr] 57 | fn new_for_lookup(path: &AsRef) -> EvictItem { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/evicter/mod.rs:65:23 [INFO] [stderr] | [INFO] [stderr] 65 | fn hash_of(path: &AsRef) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:53:38 [INFO] [stderr] | [INFO] [stderr] 53 | fn maybe_unlinkat(dir: RawFd, path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:62:39 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn mkdirat_all(dir: RawFd, path: &AsRef, mode: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:84:16 [INFO] [stderr] | [INFO] [stderr] 84 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:118:16 [INFO] [stderr] | [INFO] [stderr] 118 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:245:16 [INFO] [stderr] | [INFO] [stderr] 245 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:297:60 [INFO] [stderr] | [INFO] [stderr] 297 | pub fn unlink(src_dir: RawFd, cache_dir: RawFd, path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:305:16 [INFO] [stderr] | [INFO] [stderr] 305 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/file.rs:568:16 [INFO] [stderr] | [INFO] [stderr] 568 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/catfs/flags.rs:54:20 [INFO] [stderr] | [INFO] [stderr] 54 | '0'...'9' => 1, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/catfs/flags.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:40:26 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn to_cstring(path: &AsRef) -> CString { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:45:23 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn opendir(path: &AsRef) -> io::Result<*mut libc::DIR> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:156:21 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn mkdir(path: &AsRef, mode: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:166:35 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn mkdirat(dir: RawFd, path: &AsRef, mode: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:224:36 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn unlinkat(dir: RawFd, path: &AsRef, flags: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:234:35 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn existat(dir: RawFd, path: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:244:36 [INFO] [stderr] | [INFO] [stderr] 244 | pub fn renameat(dir: RawFd, path: &AsRef, newpath: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:244:59 [INFO] [stderr] | [INFO] [stderr] 244 | pub fn renameat(dir: RawFd, path: &AsRef, newpath: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:274:35 [INFO] [stderr] | [INFO] [stderr] 274 | pub fn fstatat(dir: RawFd, path: &AsRef) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:298:34 [INFO] [stderr] | [INFO] [stderr] 298 | pub fn openat(dir: RawFd, path: &AsRef, flags: u32, mode: u32) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:309:22 [INFO] [stderr] | [INFO] [stderr] 309 | pub fn utimes(path: &AsRef, atime: libc::time_t, mtime: libc::time_t) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:325:12 [INFO] [stderr] | [INFO] [stderr] 325 | path: &AsRef, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:350:36 [INFO] [stderr] | [INFO] [stderr] 350 | pub fn fchmodat(dir: RawFd, path: &AsRef, mode: u32, flags: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:372:20 [INFO] [stderr] | [INFO] [stderr] 372 | pub fn open(path: &AsRef, flags: u32, mode: u32) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:383:38 [INFO] [stderr] | [INFO] [stderr] 383 | pub fn openat(dir: RawFd, path: &AsRef, flags: u32, mode: u32) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/rlibc.rs:396:24 [INFO] [stderr] | [INFO] [stderr] 396 | pub fn open(path: &AsRef, flags: u32, mode: u32) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/tests.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | fn copy_all(dir1: &AsRef, dir2: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/tests.rs:11:40 [INFO] [stderr] | [INFO] [stderr] 11 | fn copy_all(dir1: &AsRef, dir2: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:32:24 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn openpath(path: &AsRef) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:37:38 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn openat(dir: RawFd, path: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:53:24 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn open(path: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:100:25 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn mkdir(path: &AsRef, mode: u32) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:104:61 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn rmdirat(src_dir: RawFd, cache_dir: RawFd, path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:115:29 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn rmdir(src_path: &AsRef, cache_path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/dir.rs:115:55 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn rmdir(src_path: &AsRef, cache_path: &AsRef) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/inode.rs:109:43 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn lookup_path(dir: RawFd, path: &AsRef) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/inode.rs:234:59 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn rename(&mut self, new_name: &OsStr, new_path: &AsRef) -> error::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/mod.rs:113:23 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn new(from: &AsRef, to: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/catfs/mod.rs:113:41 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn new(from: &AsRef, to: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/evicter/dir_walker.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PathBuf`, `Path` [INFO] [stderr] --> src/evicter/dir_walker.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `catfs::rlibc` [INFO] [stderr] --> src/evicter/dir_walker.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | use catfs::rlibc; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/evicter/dir_walker.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/evicter/mod.rs:47:31 [INFO] [stderr] | [INFO] [stderr] 47 | fn new(dir: RawFd, path: &AsRef) -> error::Result { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/evicter/mod.rs:57:30 [INFO] [stderr] | [INFO] [stderr] 57 | fn new_for_lookup(path: &AsRef) -> EvictItem { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/evicter/mod.rs:65:23 [INFO] [stderr] | [INFO] [stderr] 65 | fn hash_of(path: &AsRef) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AsRef` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/evicter/mod.rs:292:9 [INFO] [stderr] | [INFO] [stderr] 292 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0601]: `main` function not found in crate `catfs` [INFO] [stderr] | [INFO] [stderr] = note: consider adding a `main` function to `src/lib.rs` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0601`. [INFO] [stderr] error: Could not compile `catfs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pcatfs/mod.rs:51:21 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = make_self(self); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 189 | / run_in_threadpool!{ [INFO] [stderr] 190 | | fn lookup(&mut self, _req: &Request, parent: u64, name: &OsStr, reply: ReplyEntry) { [INFO] [stderr] 191 | | } [INFO] [stderr] 192 | | [INFO] [stderr] ... | [INFO] [stderr] 212 | | } [INFO] [stderr] 213 | | } [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pcatfs/mod.rs:51:21 [INFO] [stderr] | [INFO] [stderr] 51 | let mut s = make_self(self); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 189 | / run_in_threadpool!{ [INFO] [stderr] 190 | | fn lookup(&mut self, _req: &Request, parent: u64, name: &OsStr, reply: ReplyEntry) { [INFO] [stderr] 191 | | } [INFO] [stderr] 192 | | [INFO] [stderr] ... | [INFO] [stderr] 212 | | } [INFO] [stderr] 213 | | } [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pcatfs/mod.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | let mut s = make_self(self); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] ... [INFO] [stderr] 117 | / run_in_threadpool!{ [INFO] [stderr] 118 | | fn getattr(&mut self, _req: &Request, ino: u64, reply: ReplyAttr) { [INFO] [stderr] 119 | | } [INFO] [stderr] 120 | | [INFO] [stderr] ... | [INFO] [stderr] 186 | | } [INFO] [stderr] 187 | | } [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pcatfs/mod.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | let mut s = make_self(self); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pcatfs/mod.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | let mut s = make_self(self); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "9cdd3c0ac1bce3746ea6765970916d51f4bef90de93de93a50c248cce327a76d"` [INFO] running `"docker" "rm" "-f" "9cdd3c0ac1bce3746ea6765970916d51f4bef90de93de93a50c248cce327a76d"` [INFO] [stdout] 9cdd3c0ac1bce3746ea6765970916d51f4bef90de93de93a50c248cce327a76d