[INFO] fetching crate nanosandbox 0.1.0... [INFO] testing nanosandbox-0.1.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate nanosandbox 0.1.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate nanosandbox 0.1.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate nanosandbox 0.1.0 [INFO] tweaked toml for crates.io crate nanosandbox 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate nanosandbox 0.1.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate nanosandbox 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clap v4.5.56 [INFO] [stderr] Downloaded zerocopy-derive v0.8.36 [INFO] [stderr] Downloaded clap_builder v4.5.56 [INFO] [stderr] Downloaded zerocopy v0.8.36 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ba766c121d9f0c34e14e1990ec93620af4fa8d2140b346323087dfb7bfbf7b5c [INFO] running `Command { std: "docker" "start" "-a" "ba766c121d9f0c34e14e1990ec93620af4fa8d2140b346323087dfb7bfbf7b5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba766c121d9f0c34e14e1990ec93620af4fa8d2140b346323087dfb7bfbf7b5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba766c121d9f0c34e14e1990ec93620af4fa8d2140b346323087dfb7bfbf7b5c", kill_on_drop: false }` [INFO] [stdout] ba766c121d9f0c34e14e1990ec93620af4fa8d2140b346323087dfb7bfbf7b5c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1dfdc599fa7ac83f4b31c4e3200b5e53a9a2508a8204b05f4ed3cfe05e33b56f [INFO] running `Command { std: "docker" "start" "-a" "1dfdc599fa7ac83f4b31c4e3200b5e53a9a2508a8204b05f4ed3cfe05e33b56f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling zmij v1.0.17 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling nanosandbox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `WaitPidFlag`, `WaitStatus`, and `waitpid` [INFO] [stdout] --> src/platform/linux/mod.rs:70:30 [INFO] [stdout] | [INFO] [stdout] 70 | use nix::sys::wait::{waitpid, WaitPidFlag, WaitStatus}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pid` [INFO] [stdout] --> src/platform/linux/mod.rs:71:61 [INFO] [stdout] | [INFO] [stdout] 71 | use nix::unistd::{close, execvp, pipe, read, write, Pid}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd` [INFO] [stdout] --> src/platform/linux/mod.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | use std::os::unix::io::RawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:88:49 [INFO] [stdout] | [INFO] [stdout] 88 | let (stdout_read, stdout_write) = pipe()?; [INFO] [stdout] | ------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:89:49 [INFO] [stdout] | [INFO] [stdout] 89 | let (stderr_read, stderr_write) = pipe()?; [INFO] [stdout] | ------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:90:47 [INFO] [stdout] | [INFO] [stdout] 90 | let (ready_read, ready_write) = pipe()?; [INFO] [stdout] | ------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:92:32 [INFO] [stdout] | [INFO] [stdout] 92 | let (r, w) = pipe()?; [INFO] [stdout] | ------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:146:30 [INFO] [stdout] | [INFO] [stdout] 146 | let _ = read(ready_read, &mut buf); [INFO] [stdout] | ---- ^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1095:8 [INFO] [stdout] | [INFO] [stdout] 1095 | pub fn read(fd: RawFd, buf: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:147:31 [INFO] [stdout] | [INFO] [stdout] 147 | let _ = close(ready_read); [INFO] [stdout] | ----- ^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:152:36 [INFO] [stdout] | [INFO] [stdout] 152 | libc::dup2(stdin_fd, libc::STDIN_FILENO); [INFO] [stdout] | ---------- ^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.180/src/unix/mod.rs:1047:12 [INFO] [stdout] | [INFO] [stdout] 1047 | pub fn dup2(src: c_int, dst: c_int) -> c_int; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:154:35 [INFO] [stdout] | [INFO] [stdout] 154 | let _ = close(stdin_fd); [INFO] [stdout] | ----- ^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:159:32 [INFO] [stdout] | [INFO] [stdout] 159 | libc::dup2(stdout_write, libc::STDOUT_FILENO); [INFO] [stdout] | ---------- ^^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.180/src/unix/mod.rs:1047:12 [INFO] [stdout] | [INFO] [stdout] 1047 | pub fn dup2(src: c_int, dst: c_int) -> c_int; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:160:32 [INFO] [stdout] | [INFO] [stdout] 160 | libc::dup2(stderr_write, libc::STDERR_FILENO); [INFO] [stdout] | ---------- ^^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.180/src/unix/mod.rs:1047:12 [INFO] [stdout] | [INFO] [stdout] 1047 | pub fn dup2(src: c_int, dst: c_int) -> c_int; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:162:31 [INFO] [stdout] | [INFO] [stdout] 162 | let _ = close(stdout_write); [INFO] [stdout] | ----- ^^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:163:31 [INFO] [stdout] | [INFO] [stdout] 163 | let _ = close(stderr_write); [INFO] [stdout] | ----- ^^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:164:31 [INFO] [stdout] | [INFO] [stdout] 164 | let _ = close(stdout_read); [INFO] [stdout] | ----- ^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:165:31 [INFO] [stdout] | [INFO] [stdout] 165 | let _ = close(stderr_read); [INFO] [stdout] | ----- ^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:211:10 [INFO] [stdout] | [INFO] [stdout] 136 | let child_pid = clone( [INFO] [stdout] | _________________________- [INFO] [stdout] 137 | | Box::new(move || { [INFO] [stdout] ... | [INFO] [stdout] 210 | | Some(Signal::SIGCHLD as i32), [INFO] [stdout] 211 | | )?; [INFO] [stdout] | | -^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | |_________| [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:216:15 [INFO] [stdout] | [INFO] [stdout] 216 | close(ready_read)?; [INFO] [stdout] | ----- ^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:216:26 [INFO] [stdout] | [INFO] [stdout] 216 | close(ready_read)?; [INFO] [stdout] | -----------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:217:15 [INFO] [stdout] | [INFO] [stdout] 217 | close(stdout_write)?; [INFO] [stdout] | ----- ^^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:217:28 [INFO] [stdout] | [INFO] [stdout] 217 | close(stdout_write)?; [INFO] [stdout] | -------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:218:15 [INFO] [stdout] | [INFO] [stdout] 218 | close(stderr_write)?; [INFO] [stdout] | ----- ^^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:218:28 [INFO] [stdout] | [INFO] [stdout] 218 | close(stderr_write)?; [INFO] [stdout] | -------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:220:19 [INFO] [stdout] | [INFO] [stdout] 220 | close(fd)?; [INFO] [stdout] | ----- ^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:220:22 [INFO] [stdout] | [INFO] [stdout] 220 | close(fd)?; [INFO] [stdout] | ---------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:248:19 [INFO] [stdout] | [INFO] [stdout] 248 | close(fd)?; [INFO] [stdout] | ----- ^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:248:22 [INFO] [stdout] | [INFO] [stdout] 248 | close(fd)?; [INFO] [stdout] | ---------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:252:35 [INFO] [stdout] | [INFO] [stdout] 252 | write(ready_write, &[0u8])?; [INFO] [stdout] | --------------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/platform/linux/mod.rs:253:15 [INFO] [stdout] | [INFO] [stdout] 253 | close(ready_write)?; [INFO] [stdout] | ----- ^^^^^^^^^^^ expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nix-0.29.0/src/unistd.rs:1087:8 [INFO] [stdout] | [INFO] [stdout] 1087 | pub fn close(fd: RawFd) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:253:27 [INFO] [stdout] | [INFO] [stdout] 253 | close(ready_write)?; [INFO] [stdout] | ------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/platform/linux/mod.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | wait_with_timeout(child_pid, stdout_read, stderr_read, timeout)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ----------- ----------- expected `i32`, found `OwnedFd` [INFO] [stdout] | | [INFO] [stdout] | expected `i32`, found `OwnedFd` [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/platform/linux/mod.rs:368:4 [INFO] [stdout] | [INFO] [stdout] 368 | fn wait_with_timeout( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 369 | pid: nix::unistd::Pid, [INFO] [stdout] 370 | stdout_fd: std::os::unix::io::RawFd, [INFO] [stdout] | ----------------------------------- [INFO] [stdout] 371 | stderr_fd: std::os::unix::io::RawFd, [INFO] [stdout] | ----------------------------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:308:94 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> Result<()> { [INFO] [stdout] | ---------- expected `SandboxError` because of this [INFO] [stdout] ... [INFO] [stdout] 308 | mount::(None, "/", None, MsFlags::MS_REC | MsFlags::MS_PRIVATE, None)?; [INFO] [stdout] | -----------------------------------------------------------------------------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:317:6 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> Result<()> { [INFO] [stdout] | ---------- expected `SandboxError` because of this [INFO] [stdout] ... [INFO] [stdout] 311 | / mount( [INFO] [stdout] 312 | | Some(rootfs), [INFO] [stdout] 313 | | rootfs, [INFO] [stdout] 314 | | None::<&str>, [INFO] [stdout] 315 | | MsFlags::MS_BIND | MsFlags::MS_REC, [INFO] [stdout] 316 | | None::<&str>, [INFO] [stdout] 317 | | )?; [INFO] [stdout] | | -^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | |_____| [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:335:10 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> Result<()> { [INFO] [stdout] | ---------- expected `SandboxError` because of this [INFO] [stdout] ... [INFO] [stdout] 329 | / mount( [INFO] [stdout] 330 | | Some(&m.source), [INFO] [stdout] 331 | | &target, [INFO] [stdout] 332 | | None::<&str>, [INFO] [stdout] 333 | | flags, [INFO] [stdout] 334 | | None::<&str>, [INFO] [stdout] 335 | | )?; [INFO] [stdout] | | -^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | |_________| [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:350:10 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> Result<()> { [INFO] [stdout] | ---------- expected `SandboxError` because of this [INFO] [stdout] ... [INFO] [stdout] 344 | / mount( [INFO] [stdout] 345 | | None::<&str>, [INFO] [stdout] 346 | | &target, [INFO] [stdout] 347 | | Some("tmpfs"), [INFO] [stdout] 348 | | MsFlags::empty(), [INFO] [stdout] 349 | | Some(options.as_str()), [INFO] [stdout] 350 | | )?; [INFO] [stdout] | | -^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | |_________| [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:357:47 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> Result<()> { [INFO] [stdout] | ---------- expected `SandboxError` because of this [INFO] [stdout] ... [INFO] [stdout] 357 | nix::unistd::pivot_root(rootfs, &old_root)?; [INFO] [stdout] | ------------------------------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:361:102 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> Result<()> { [INFO] [stdout] | ---------- expected `SandboxError` because of this [INFO] [stdout] ... [INFO] [stdout] 361 | mount::(None, "/old_root", None, MsFlags::MS_REC | MsFlags::MS_PRIVATE, None)?; [INFO] [stdout] | -------------------------------------------------------------------------------------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:362:71 [INFO] [stdout] | [INFO] [stdout] 304 | ) -> Result<()> { [INFO] [stdout] | ---------- expected `SandboxError` because of this [INFO] [stdout] ... [INFO] [stdout] 362 | nix::mount::umount2("/old_root", nix::mount::MntFlags::MNT_DETACH)?; [INFO] [stdout] | ------------------------------------------------------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `SandboxError` [INFO] [stdout] --> src/platform/linux/mod.rs:404:55 [INFO] [stdout] | [INFO] [stdout] 373 | ) -> Result<(String, String, i32, bool, Option)> { [INFO] [stdout] | ------------------------------------------------ expected `SandboxError` because of this [INFO] [stdout] ... [INFO] [stdout] 404 | match waitpid(pid, Some(WaitPidFlag::WNOHANG))? { [INFO] [stdout] | ----------------------------------------^ the trait `From` is not implemented for `SandboxError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Errno>` [INFO] [stdout] | [INFO] [stdout] note: `SandboxError` needs to implement `From` [INFO] [stdout] --> src/error.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SandboxError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> src/error.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | Io(#[from] std::io::Error), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] ... [INFO] [stdout] 106 | NulError(#[from] std::ffi::NulError), [INFO] [stdout] | ^^^^^^^ `SandboxError` implements `From` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `nanosandbox` (lib) due to 37 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "1dfdc599fa7ac83f4b31c4e3200b5e53a9a2508a8204b05f4ed3cfe05e33b56f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1dfdc599fa7ac83f4b31c4e3200b5e53a9a2508a8204b05f4ed3cfe05e33b56f", kill_on_drop: false }` [INFO] [stdout] 1dfdc599fa7ac83f4b31c4e3200b5e53a9a2508a8204b05f4ed3cfe05e33b56f