[INFO] cloning repository https://github.com/tsych0/thunder [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tsych0/thunder" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsych0%2Fthunder", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsych0%2Fthunder'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dd8ba8c5cee3badfac1fd321fc85ebf95bdb9c81 [INFO] checking tsych0/thunder against master#2c0f4860cc86e2354a55ea04e738848168435c90 for pr-149145 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsych0%2Fthunder" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tsych0/thunder [INFO] finished tweaking git repo https://github.com/tsych0/thunder [INFO] tweaked toml for git repo https://github.com/tsych0/thunder written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tsych0/thunder on toolchain 2c0f4860cc86e2354a55ea04e738848168435c90 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2c0f4860cc86e2354a55ea04e738848168435c90" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tsych0/thunder 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" "+2c0f4860cc86e2354a55ea04e738848168435c90" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-uds v0.2.7 [INFO] [stderr] Downloaded tokio-udp v0.1.6 [INFO] [stderr] Downloaded tokio-threadpool v0.1.18 [INFO] [stderr] Downloaded tokio-fs v0.1.7 [INFO] [stderr] Downloaded tokio-current-thread v0.1.7 [INFO] [stderr] Downloaded parking_lot_core v0.6.3 [INFO] [stderr] Downloaded tokio v0.1.22 [INFO] [stderr] Downloaded cc v1.2.43 [INFO] [stderr] Downloaded tokio-core v0.1.18 [INFO] [stderr] Downloaded tun-tap v0.1.4 [INFO] [stderr] Downloaded etherparse v0.19.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+2c0f4860cc86e2354a55ea04e738848168435c90" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9ceefe997ef16977ecdb1098edfd7bcf0f985303038071c803ebbab4ce12a2f4 [INFO] running `Command { std: "docker" "start" "-a" "9ceefe997ef16977ecdb1098edfd7bcf0f985303038071c803ebbab4ce12a2f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9ceefe997ef16977ecdb1098edfd7bcf0f985303038071c803ebbab4ce12a2f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ceefe997ef16977ecdb1098edfd7bcf0f985303038071c803ebbab4ce12a2f4", kill_on_drop: false }` [INFO] [stdout] 9ceefe997ef16977ecdb1098edfd7bcf0f985303038071c803ebbab4ce12a2f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+2c0f4860cc86e2354a55ea04e738848168435c90" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 11b5f244850ad2f89317ee0e31d170258d893a847e717a0471b22adc0635f59c [INFO] running `Command { std: "docker" "start" "-a" "11b5f244850ad2f89317ee0e31d170258d893a847e717a0471b22adc0635f59c", kill_on_drop: false }` [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking futures v0.1.31 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Compiling cc v1.2.43 [INFO] [stderr] Checking scoped-tls v0.1.2 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking etherparse v0.19.0 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Compiling tun-tap v0.1.4 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking crossbeam-deque v0.7.4 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Checking tokio-fs v0.1.7 [INFO] [stderr] Checking tokio-uds v0.2.7 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking tokio-core v0.1.18 [INFO] [stderr] Checking thunder v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/tcp.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 178 | / match self.state { [INFO] [stdout] 179 | | State::Listen => { [INFO] [stdout] 180 | | if !tcph.syn() { [INFO] [stdout] 181 | | return Ok(0); [INFO] [stdout] ... | [INFO] [stdout] 206 | | _ => {return Ok(0)} [INFO] [stdout] 207 | | } [INFO] [stdout] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 208 | [INFO] [stdout] 209 | / eprintln!( [INFO] [stdout] 210 | | "{}:{} -> {}:{} {}b of tcp", [INFO] [stdout] 211 | | iph.source_addr(), [INFO] [stdout] 212 | | tcph.source_port(), [INFO] [stdout] ... | [INFO] [stdout] 215 | | data.len() [INFO] [stdout] 216 | | ); [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] = note: this warning originates in the macro `eprintln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/tcp.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 178 | / match self.state { [INFO] [stdout] 179 | | State::Listen => { [INFO] [stdout] 180 | | if !tcph.syn() { [INFO] [stdout] 181 | | return Ok(0); [INFO] [stdout] ... | [INFO] [stdout] 206 | | _ => {return Ok(0)} [INFO] [stdout] 207 | | } [INFO] [stdout] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 208 | [INFO] [stdout] 209 | / eprintln!( [INFO] [stdout] 210 | | "{}:{} -> {}:{} {}b of tcp", [INFO] [stdout] 211 | | iph.source_addr(), [INFO] [stdout] 212 | | tcph.source_port(), [INFO] [stdout] ... | [INFO] [stdout] 215 | | data.len() [INFO] [stdout] 216 | | ); [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] = note: this warning originates in the macro `eprintln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/main.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 19 | / loop { [INFO] [stdout] 20 | | let n_bytes = nic.recv(&mut buf)?; [INFO] [stdout] 21 | | let proto = u16::from_be_bytes(buf[2..5].try_into().unwrap()); [INFO] [stdout] 22 | | if proto != 0x0800 { [INFO] [stdout] ... | [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 53 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/main.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 19 | / loop { [INFO] [stdout] 20 | | let n_bytes = nic.recv(&mut buf)?; [INFO] [stdout] 21 | | let proto = u16::from_be_bytes(buf[2..5].try_into().unwrap()); [INFO] [stdout] 22 | | if proto != 0x0800 { [INFO] [stdout] ... | [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 53 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tcp.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | let mut ip = Ipv4Header::new( [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tcp.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | let mut ip = Ipv4Header::new( [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/tcp.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | data: &[u8], [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/tcp.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | data: &[u8], [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_bytes` [INFO] [stdout] --> src/main.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let n_bytes = nic.recv(&mut buf)?; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/tcp.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 56 | enum State { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 62 | SynSent, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | SynReceived, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | Established, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | FinWait1, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | FinWait2, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | CloseWait, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | Closing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | LastAck, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | TimeWait, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 93 | /// represents no connection state at all. [INFO] [stdout] 94 | Closed, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SendSequence` is never constructed [INFO] [stdout] --> src/tcp.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | struct SendSequence { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecvSequence` is never constructed [INFO] [stdout] --> src/tcp.rs:145:8 [INFO] [stdout] | [INFO] [stdout] 145 | struct RecvSequence { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CurrentSegment` is never constructed [INFO] [stdout] --> src/tcp.rs:156:8 [INFO] [stdout] | [INFO] [stdout] 156 | struct CurrentSegment {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_bytes` [INFO] [stdout] --> src/main.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let n_bytes = nic.recv(&mut buf)?; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/tcp.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 56 | enum State { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 62 | SynSent, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | SynReceived, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | Established, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | FinWait1, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | FinWait2, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | CloseWait, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | Closing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | LastAck, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | TimeWait, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 93 | /// represents no connection state at all. [INFO] [stdout] 94 | Closed, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SendSequence` is never constructed [INFO] [stdout] --> src/tcp.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | struct SendSequence { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecvSequence` is never constructed [INFO] [stdout] --> src/tcp.rs:145:8 [INFO] [stdout] | [INFO] [stdout] 145 | struct RecvSequence { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CurrentSegment` is never constructed [INFO] [stdout] --> src/tcp.rs:156:8 [INFO] [stdout] | [INFO] [stdout] 156 | struct CurrentSegment {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.92s [INFO] running `Command { std: "docker" "inspect" "11b5f244850ad2f89317ee0e31d170258d893a847e717a0471b22adc0635f59c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "11b5f244850ad2f89317ee0e31d170258d893a847e717a0471b22adc0635f59c", kill_on_drop: false }` [INFO] [stdout] 11b5f244850ad2f89317ee0e31d170258d893a847e717a0471b22adc0635f59c