[INFO] cloning repository https://github.com/tiqwab/tftpff [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tiqwab/tftpff" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiqwab%2Ftftpff", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiqwab%2Ftftpff'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f102f43e8743426f3ae6ff422dd12173f12844fe [INFO] testing tiqwab/tftpff against master#d117135f5a9b69ee3adfb1918aa25616758bf692 for pr-107251 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiqwab%2Ftftpff" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tiqwab/tftpff on toolchain d117135f5a9b69ee3adfb1918aa25616758bf692 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d117135f5a9b69ee3adfb1918aa25616758bf692" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tiqwab/tftpff [INFO] finished tweaking git repo https://github.com/tiqwab/tftpff [INFO] tweaked toml for git repo https://github.com/tiqwab/tftpff written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/tiqwab/tftpff 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" "+d117135f5a9b69ee3adfb1918aa25616758bf692" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3d532c2baa59a8a48e45c3be7eb049f77ac5a58a7a6514a58a8e878df1c3d03d" "/opt/rustwide/cargo-home/bin/cargo" "+d117135f5a9b69ee3adfb1918aa25616758bf692" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 515c946869f03fe4d2442747279a3d30db9b1a555394c9cad50123671e4d3e03 [INFO] running `Command { std: "docker" "start" "-a" "515c946869f03fe4d2442747279a3d30db9b1a555394c9cad50123671e4d3e03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "515c946869f03fe4d2442747279a3d30db9b1a555394c9cad50123671e4d3e03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "515c946869f03fe4d2442747279a3d30db9b1a555394c9cad50123671e4d3e03", kill_on_drop: false }` [INFO] [stdout] 515c946869f03fe4d2442747279a3d30db9b1a555394c9cad50123671e4d3e03 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3d532c2baa59a8a48e45c3be7eb049f77ac5a58a7a6514a58a8e878df1c3d03d" "/opt/rustwide/cargo-home/bin/cargo" "+d117135f5a9b69ee3adfb1918aa25616758bf692" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3c69437513b1d54027673c5559e450265d8c13360fd7b7731d71901190dfb3e6 [INFO] running `Command { std: "docker" "start" "-a" "3c69437513b1d54027673c5559e450265d8c13360fd7b7731d71901190dfb3e6", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling syn v1.0.85 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Compiling anyhow v1.0.52 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling ppv-lite86 v0.2.15 [INFO] [stderr] Compiling signal-hook v0.3.13 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling os_str_bytes v6.0.0 [INFO] [stderr] Compiling quote v1.0.14 [INFO] [stderr] Compiling textwrap v0.14.2 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling nix v0.23.1 [INFO] [stderr] Compiling env_logger v0.9.0 [INFO] [stderr] Compiling clap_derive v3.0.5 [INFO] [stderr] Compiling clap v3.0.5 [INFO] [stderr] Compiling tftpff v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:38:34 [INFO] [stdout] | [INFO] [stdout] 38 | TftpError::Others => (0x0_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 38 - TftpError::Others => (0x0_u16), [INFO] [stdout] 38 + TftpError::Others => 0x0_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | TftpError::FileNotFound => (0x1_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 39 - TftpError::FileNotFound => (0x1_u16), [INFO] [stdout] 39 + TftpError::FileNotFound => 0x1_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:40:43 [INFO] [stdout] | [INFO] [stdout] 40 | TftpError::AccessViolation => (0x2_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - TftpError::AccessViolation => (0x2_u16), [INFO] [stdout] 40 + TftpError::AccessViolation => 0x2_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:41:39 [INFO] [stdout] | [INFO] [stdout] 41 | TftpError::DiskNoSpace => (0x3_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 41 - TftpError::DiskNoSpace => (0x3_u16), [INFO] [stdout] 41 + TftpError::DiskNoSpace => 0x3_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:42:41 [INFO] [stdout] | [INFO] [stdout] 42 | TftpError::IllegalTftpOp => (0x4_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 42 - TftpError::IllegalTftpOp => (0x4_u16), [INFO] [stdout] 42 + TftpError::IllegalTftpOp => 0x4_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | TftpError::UnknownTid => (0x5_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - TftpError::UnknownTid => (0x5_u16), [INFO] [stdout] 43 + TftpError::UnknownTid => 0x5_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:44:38 [INFO] [stdout] | [INFO] [stdout] 44 | TftpError::FileExists => (0x6_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - TftpError::FileExists => (0x6_u16), [INFO] [stdout] 44 + TftpError::FileExists => 0x6_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | TftpError::NoSuchUser => (0x7_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - TftpError::NoSuchUser => (0x7_u16), [INFO] [stdout] 45 + TftpError::NoSuchUser => 0x7_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 19.87s [INFO] running `Command { std: "docker" "inspect" "3c69437513b1d54027673c5559e450265d8c13360fd7b7731d71901190dfb3e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3c69437513b1d54027673c5559e450265d8c13360fd7b7731d71901190dfb3e6", kill_on_drop: false }` [INFO] [stdout] 3c69437513b1d54027673c5559e450265d8c13360fd7b7731d71901190dfb3e6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3d532c2baa59a8a48e45c3be7eb049f77ac5a58a7a6514a58a8e878df1c3d03d" "/opt/rustwide/cargo-home/bin/cargo" "+d117135f5a9b69ee3adfb1918aa25616758bf692" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4186ded29d4433337a0bbbeba632210cd15f676cdd91219ba3dec887b7d029ad [INFO] running `Command { std: "docker" "start" "-a" "4186ded29d4433337a0bbbeba632210cd15f676cdd91219ba3dec887b7d029ad", kill_on_drop: false }` [INFO] [stderr] Compiling tftpff v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:38:34 [INFO] [stdout] | [INFO] [stdout] 38 | TftpError::Others => (0x0_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 38 - TftpError::Others => (0x0_u16), [INFO] [stdout] 38 + TftpError::Others => 0x0_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | TftpError::FileNotFound => (0x1_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 39 - TftpError::FileNotFound => (0x1_u16), [INFO] [stdout] 39 + TftpError::FileNotFound => 0x1_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:40:43 [INFO] [stdout] | [INFO] [stdout] 40 | TftpError::AccessViolation => (0x2_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - TftpError::AccessViolation => (0x2_u16), [INFO] [stdout] 40 + TftpError::AccessViolation => 0x2_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:41:39 [INFO] [stdout] | [INFO] [stdout] 41 | TftpError::DiskNoSpace => (0x3_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 41 - TftpError::DiskNoSpace => (0x3_u16), [INFO] [stdout] 41 + TftpError::DiskNoSpace => 0x3_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:42:41 [INFO] [stdout] | [INFO] [stdout] 42 | TftpError::IllegalTftpOp => (0x4_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 42 - TftpError::IllegalTftpOp => (0x4_u16), [INFO] [stdout] 42 + TftpError::IllegalTftpOp => 0x4_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | TftpError::UnknownTid => (0x5_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - TftpError::UnknownTid => (0x5_u16), [INFO] [stdout] 43 + TftpError::UnknownTid => 0x5_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:44:38 [INFO] [stdout] | [INFO] [stdout] 44 | TftpError::FileExists => (0x6_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - TftpError::FileExists => (0x6_u16), [INFO] [stdout] 44 + TftpError::FileExists => 0x6_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | TftpError::NoSuchUser => (0x7_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - TftpError::NoSuchUser => (0x7_u16), [INFO] [stdout] 45 + TftpError::NoSuchUser => 0x7_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:38:34 [INFO] [stdout] | [INFO] [stdout] 38 | TftpError::Others => (0x0_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 38 - TftpError::Others => (0x0_u16), [INFO] [stdout] 38 + TftpError::Others => 0x0_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | TftpError::FileNotFound => (0x1_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 39 - TftpError::FileNotFound => (0x1_u16), [INFO] [stdout] 39 + TftpError::FileNotFound => 0x1_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:40:43 [INFO] [stdout] | [INFO] [stdout] 40 | TftpError::AccessViolation => (0x2_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - TftpError::AccessViolation => (0x2_u16), [INFO] [stdout] 40 + TftpError::AccessViolation => 0x2_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:41:39 [INFO] [stdout] | [INFO] [stdout] 41 | TftpError::DiskNoSpace => (0x3_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 41 - TftpError::DiskNoSpace => (0x3_u16), [INFO] [stdout] 41 + TftpError::DiskNoSpace => 0x3_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:42:41 [INFO] [stdout] | [INFO] [stdout] 42 | TftpError::IllegalTftpOp => (0x4_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 42 - TftpError::IllegalTftpOp => (0x4_u16), [INFO] [stdout] 42 + TftpError::IllegalTftpOp => 0x4_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | TftpError::UnknownTid => (0x5_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - TftpError::UnknownTid => (0x5_u16), [INFO] [stdout] 43 + TftpError::UnknownTid => 0x5_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:44:38 [INFO] [stdout] | [INFO] [stdout] 44 | TftpError::FileExists => (0x6_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - TftpError::FileExists => (0x6_u16), [INFO] [stdout] 44 + TftpError::FileExists => 0x6_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/error.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | TftpError::NoSuchUser => (0x7_u16), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - TftpError::NoSuchUser => (0x7_u16), [INFO] [stdout] 45 + TftpError::NoSuchUser => 0x7_u16, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.29s [INFO] running `Command { std: "docker" "inspect" "4186ded29d4433337a0bbbeba632210cd15f676cdd91219ba3dec887b7d029ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4186ded29d4433337a0bbbeba632210cd15f676cdd91219ba3dec887b7d029ad", kill_on_drop: false }` [INFO] [stdout] 4186ded29d4433337a0bbbeba632210cd15f676cdd91219ba3dec887b7d029ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3d532c2baa59a8a48e45c3be7eb049f77ac5a58a7a6514a58a8e878df1c3d03d" "/opt/rustwide/cargo-home/bin/cargo" "+d117135f5a9b69ee3adfb1918aa25616758bf692" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] bac7f0a0f5adc1c3670a7e3d9def876622e0efd167505539d8d276e7bd72e3b9 [INFO] running `Command { std: "docker" "start" "-a" "bac7f0a0f5adc1c3670a7e3d9def876622e0efd167505539d8d276e7bd72e3b9", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around match arm expression [INFO] [stderr] --> src/error.rs:38:34 [INFO] [stderr] | [INFO] [stderr] 38 | TftpError::Others => (0x0_u16), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 38 - TftpError::Others => (0x0_u16), [INFO] [stderr] 38 + TftpError::Others => 0x0_u16, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around match arm expression [INFO] [stderr] --> src/error.rs:39:40 [INFO] [stderr] | [INFO] [stderr] 39 | TftpError::FileNotFound => (0x1_u16), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 39 - TftpError::FileNotFound => (0x1_u16), [INFO] [stderr] 39 + TftpError::FileNotFound => 0x1_u16, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around match arm expression [INFO] [stderr] --> src/error.rs:40:43 [INFO] [stderr] | [INFO] [stderr] 40 | TftpError::AccessViolation => (0x2_u16), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 40 - TftpError::AccessViolation => (0x2_u16), [INFO] [stderr] 40 + TftpError::AccessViolation => 0x2_u16, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around match arm expression [INFO] [stderr] --> src/error.rs:41:39 [INFO] [stderr] | [INFO] [stderr] 41 | TftpError::DiskNoSpace => (0x3_u16), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 41 - TftpError::DiskNoSpace => (0x3_u16), [INFO] [stderr] 41 + TftpError::DiskNoSpace => 0x3_u16, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around match arm expression [INFO] [stderr] --> src/error.rs:42:41 [INFO] [stderr] | [INFO] [stderr] 42 | TftpError::IllegalTftpOp => (0x4_u16), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 42 - TftpError::IllegalTftpOp => (0x4_u16), [INFO] [stderr] 42 + TftpError::IllegalTftpOp => 0x4_u16, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around match arm expression [INFO] [stderr] --> src/error.rs:43:38 [INFO] [stderr] | [INFO] [stderr] 43 | TftpError::UnknownTid => (0x5_u16), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 43 - TftpError::UnknownTid => (0x5_u16), [INFO] [stderr] 43 + TftpError::UnknownTid => 0x5_u16, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around match arm expression [INFO] [stderr] --> src/error.rs:44:38 [INFO] [stderr] | [INFO] [stderr] 44 | TftpError::FileExists => (0x6_u16), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 44 - TftpError::FileExists => (0x6_u16), [INFO] [stderr] 44 + TftpError::FileExists => 0x6_u16, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around match arm expression [INFO] [stderr] --> src/error.rs:45:38 [INFO] [stderr] | [INFO] [stderr] 45 | TftpError::NoSuchUser => (0x7_u16), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 45 - TftpError::NoSuchUser => (0x7_u16), [INFO] [stderr] 45 + TftpError::NoSuchUser => 0x7_u16, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `tftpff` (lib) generated 8 warnings (run `cargo fix --lib -p tftpff` to apply 8 suggestions) [INFO] [stderr] warning: `tftpff` (lib test) generated 8 warnings (8 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tftpff-ca1847d03acbed3a) [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test file::tests::test_read_512_multiple_bytes ... ok [INFO] [stdout] test file::tests::test_write_with_netascii ... ok [INFO] [stdout] test file::tests::test_read_with_octet ... ok [INFO] [stdout] test file::tests::test_read_with_netascii ... ok [INFO] [stdout] test file::tests::test_write_with_newlines ... ok [INFO] [stdout] test packet::tests::test_parse_data ... ok [INFO] [stdout] test packet::tests::test_encode_error ... ok [INFO] [stdout] test packet::tests::test_parse_rrq_only_use_filename ... ok [INFO] [stdout] test packet::tests::test_parse_error ... ok [INFO] [stdout] test packet::tests::test_encode_ack ... ok [INFO] [stdout] test packet::tests::test_parse_ack ... ok [INFO] [stdout] test packet::tests::test_encode_data ... ok [INFO] [stdout] test packet::tests::test_parse_wrq_ok ... ok [INFO] [stdout] test packet::tests::test_parse_rrq_ok ... ok [INFO] [stdout] test packet::tests::test_parse_wrq_only_use_filename ... ok [INFO] [stdout] test packet::tests::test_parse_rrq_with_illegal_mode ... ok [INFO] [stdout] test file::tests::test_write_with_octet ... ok [INFO] [stdout] test packet::tests::test_parse_wrq_with_illegal_mode ... ok [INFO] [stdout] test server::tests::test_wrq_handler_with_error ... ok [INFO] [stdout] test server::tests::test_rrq_handler ... ok [INFO] [stdout] test server::tests::test_wrq_handler ... ok [INFO] [stdout] test server::tests::test_rrq_handler_with_512_multiple_bytes ... ok [INFO] [stdout] test server::tests::test_rrq_handler_with_error ... ok [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stdout] test server::tests::test_server_run ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- server::tests::test_server_run stdout ---- [INFO] [stdout] thread 'server::tests::test_server_run' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `0`, [INFO] [stdout] right: `1`', src/server.rs:514:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55d64449da0a - std::backtrace_rs::backtrace::libunwind::trace::hc087e622734d8aae [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x55d64449da0a - std::backtrace_rs::backtrace::trace_unsynchronized::h0bb6900536d557fb [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x55d64449da0a - std::sys_common::backtrace::_print_fmt::h4c16a82910dd5c4c [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/sys_common/backtrace.rs:65:5 [INFO] [stdout] 3: 0x55d64449da0a - ::fmt::he15894435b645dc8 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/sys_common/backtrace.rs:44:22 [INFO] [stdout] 4: 0x55d6444c2ece - core::fmt::write::h7b79f11bed1e9a0b [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/fmt/mod.rs:1232:17 [INFO] [stdout] 5: 0x55d644498735 - std::io::Write::write_fmt::h8b711b785e8bbc54 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/io/mod.rs:1682:15 [INFO] [stdout] 6: 0x55d64449d7d5 - std::sys_common::backtrace::_print::h0224fc066642e602 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/sys_common/backtrace.rs:47:5 [INFO] [stdout] 7: 0x55d64449d7d5 - std::sys_common::backtrace::print::h366b410b7500af1f [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/sys_common/backtrace.rs:34:9 [INFO] [stdout] 8: 0x55d64449f5cf - std::panicking::default_hook::{{closure}}::h418b7bee3528e8d3 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:267:22 [INFO] [stdout] 9: 0x55d64449f28f - std::panicking::default_hook::h45f05d745386ab9c [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:283:9 [INFO] [stdout] 10: 0x55d644424ef7 - as core::ops::function::Fn>::call::h6c4710da1036f3ac [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/alloc/src/boxed.rs:2002:9 [INFO] [stdout] 11: 0x55d644424ef7 - test::test_main::{{closure}}::h480ee06d86f65249 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/test/src/lib.rs:135:21 [INFO] [stdout] 12: 0x55d64449fcfa - as core::ops::function::Fn>::call::ha5937e436e9127d6 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/alloc/src/boxed.rs:2002:9 [INFO] [stdout] 13: 0x55d64449fcfa - std::panicking::rust_panic_with_hook::h103dcb6f302ee362 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:692:13 [INFO] [stdout] 14: 0x55d64449fa79 - std::panicking::begin_panic_handler::{{closure}}::h44b5b52b013d9447 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:579:13 [INFO] [stdout] 15: 0x55d64449debc - std::sys_common::backtrace::__rust_end_short_backtrace::hb3a0cf95d28e6f07 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/sys_common/backtrace.rs:137:18 [INFO] [stdout] 16: 0x55d64449f782 - rust_begin_unwind [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:575:5 [INFO] [stdout] 17: 0x55d6441f8413 - core::panicking::panic_fmt::hb8edad6ed4b98a6b [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/panicking.rs:64:14 [INFO] [stdout] 18: 0x55d6441f874f - core::panicking::assert_failed_inner::h8029cc8ab97baa7e [INFO] [stdout] 19: 0x55d6443bcfca - core::panicking::assert_failed::h58ea99a1d429ab7c [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/panicking.rs:212:5 [INFO] [stdout] 20: 0x55d644222ae2 - tftpff::server::tests::test_server_run::h22935140130a4969 [INFO] [stdout] at /opt/rustwide/workdir/src/server.rs:514:9 [INFO] [stdout] 21: 0x55d644221d37 - tftpff::server::tests::test_server_run::{{closure}}::h742c887a01e8fcee [INFO] [stdout] at /opt/rustwide/workdir/src/server.rs:470:26 [INFO] [stdout] 22: 0x55d64422bf05 - core::ops::function::FnOnce::call_once::hc33ac40251e088dc [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x55d64442a38f - core::ops::function::FnOnce::call_once::h7cbea5156b840961 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55d64442a38f - test::__rust_begin_short_backtrace::h6b7ad8c2fc17a091 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/test/src/lib.rs:656:18 [INFO] [stdout] 25: 0x55d6443fb94c - test::run_test::{{closure}}::hb867f6b1cc5fe0cd [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/test/src/lib.rs:647:30 [INFO] [stdout] 26: 0x55d6443fb94c - core::ops::function::FnOnce::call_once{{vtable.shim}}::h3eed2da275e28ce8 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 27: 0x55d64442931a - as core::ops::function::FnOnce>::call_once::hb7938d5921035038 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/alloc/src/boxed.rs:1988:9 [INFO] [stdout] 28: 0x55d64442931a - as core::ops::function::FnOnce<()>>::call_once::h1183c0b89e9071c0 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 29: 0x55d64442931a - std::panicking::try::do_call::hb901227fcfc11a66 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:483:40 [INFO] [stdout] 30: 0x55d64442931a - std::panicking::try::h6ed2ee67b8d88d09 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:447:19 [INFO] [stdout] 31: 0x55d64442931a - std::panic::catch_unwind::h65afc1e27ddc0a8e [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panic.rs:140:14 [INFO] [stdout] 32: 0x55d64442931a - test::run_test_in_process::hc2e63d7243032c79 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/test/src/lib.rs:679:27 [INFO] [stdout] 33: 0x55d64442931a - test::run_test::run_test_inner::{{closure}}::h5820fe37f90db4dd [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/test/src/lib.rs:573:39 [INFO] [stdout] 34: 0x55d6443f6271 - test::run_test::run_test_inner::{{closure}}::hc67349ebb8859671 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/test/src/lib.rs:600:37 [INFO] [stdout] 35: 0x55d6443f6271 - std::sys_common::backtrace::__rust_begin_short_backtrace::h9dc69f698f642ac4 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/sys_common/backtrace.rs:121:18 [INFO] [stdout] 36: 0x55d6443fbc0b - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hfb218abb7b4cdf7d [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/thread/mod.rs:558:17 [INFO] [stdout] 37: 0x55d6443fbc0b - as core::ops::function::FnOnce<()>>::call_once::hd87dbb4ddd02d218 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 38: 0x55d6443fbc0b - std::panicking::try::do_call::hf9e3768db234742c [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:483:40 [INFO] [stdout] 39: 0x55d6443fbc0b - std::panicking::try::h0aaf4d85bd5e380b [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panicking.rs:447:19 [INFO] [stdout] 40: 0x55d6443fbc0b - std::panic::catch_unwind::ha647f06d9b0ba604 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/panic.rs:140:14 [INFO] [stdout] 41: 0x55d6443fbc0b - std::thread::Builder::spawn_unchecked_::{{closure}}::h5f0fc8b88e65cca6 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 42: 0x55d6443fbc0b - core::ops::function::FnOnce::call_once{{vtable.shim}}::hcc74ccca63c895e0 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 43: 0x55d6444a53d3 - as core::ops::function::FnOnce>::call_once::h305cddd6d3fc2b9d [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/alloc/src/boxed.rs:1988:9 [INFO] [stdout] 44: 0x55d6444a53d3 - as core::ops::function::FnOnce>::call_once::hcf060ff907f6401a [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/alloc/src/boxed.rs:1988:9 [INFO] [stdout] 45: 0x55d6444a53d3 - std::sys::unix::thread::Thread::new::thread_start::hee1e7870ad876a91 [INFO] [stdout] at /rustc/d117135f5a9b69ee3adfb1918aa25616758bf692/library/std/src/sys/unix/thread.rs:108:17 [INFO] [stdout] 46: 0x7f816ae3fb43 - [INFO] [stdout] 47: 0x7f816aed0bb4 - __clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] server::tests::test_server_run [INFO] [stdout] [INFO] [stdout] test result: FAILED. 23 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "bac7f0a0f5adc1c3670a7e3d9def876622e0efd167505539d8d276e7bd72e3b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bac7f0a0f5adc1c3670a7e3d9def876622e0efd167505539d8d276e7bd72e3b9", kill_on_drop: false }` [INFO] [stdout] bac7f0a0f5adc1c3670a7e3d9def876622e0efd167505539d8d276e7bd72e3b9