[INFO] cloning repository https://github.com/ymgyt/proconio-handson [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ymgyt/proconio-handson" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fymgyt%2Fproconio-handson", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fymgyt%2Fproconio-handson'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f340cf330d9976566f4eced5674d8d52d27965d8 [INFO] checking ymgyt/proconio-handson against try#a7a572ce3edd6d476191fbfe92c9c1986e009b34 for pr-87190-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fymgyt%2Fproconio-handson" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ymgyt/proconio-handson on toolchain a7a572ce3edd6d476191fbfe92c9c1986e009b34 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4/source/rust-toolchain [INFO] started tweaking git repo https://github.com/ymgyt/proconio-handson [INFO] finished tweaking git repo https://github.com/ymgyt/proconio-handson [INFO] tweaked toml for git repo https://github.com/ymgyt/proconio-handson written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/ymgyt/proconio-handson already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b100f3639647733488b14ba20f59f7ccd0eab0cf8af1e9d3492b1bca1b6029cc [INFO] running `Command { std: "docker" "start" "-a" "b100f3639647733488b14ba20f59f7ccd0eab0cf8af1e9d3492b1bca1b6029cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b100f3639647733488b14ba20f59f7ccd0eab0cf8af1e9d3492b1bca1b6029cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b100f3639647733488b14ba20f59f7ccd0eab0cf8af1e9d3492b1bca1b6029cc", kill_on_drop: false }` [INFO] [stdout] b100f3639647733488b14ba20f59f7ccd0eab0cf8af1e9d3492b1bca1b6029cc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ac3954a54c73166d4e120b8b300a056fb6c7ee1316ab1dca571c25c8bb221484 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "ac3954a54c73166d4e120b8b300a056fb6c7ee1316ab1dca571c25c8bb221484", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking proconio-handson v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2018 edition to 2021 [INFO] [stdout] note: trace_macro [INFO] [stdout] --> src/main.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | / input! { [INFO] [stdout] 371 | | from source, [INFO] [stdout] 372 | | n: usize, [INFO] [stdout] 373 | | ts: [(i8, String); n], [INFO] [stdout] 374 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: expanding `input! { from source, n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `let mut s = source ; input! [INFO] [stdout] { @ from [& mut s] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [& mut s] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! { @ from [&mut s] @ mut [] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] { [INFO] [stdout] @ from [&mut s] @ mut [] @ var n @ kind [] @ rest usize, ts : [INFO] [stdout] [(i8, String) ; n], [INFO] [stdout] }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [] @ rest usize, ts : [INFO] [stdout] [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] (@ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest, ts : [INFO] [stdout] [(i8, String) ; n],) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest, ts : [INFO] [stdout] [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest) ; input! [INFO] [stdout] (@ from [&mut s] @ rest ts : [(i8, String) ; n],) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest }` [INFO] [stdout] = note: to `let n = read_value! (@ source [&mut s] @ kind [usize]) ;` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [usize] }` [INFO] [stdout] = note: to `< usize as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! { @ from [&mut s] @ mut [] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] { @ from [&mut s] @ mut [] @ var ts @ kind [] @ rest [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [] @ rest [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest,) [INFO] [stdout] ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest, }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest) [INFO] [stdout] ; input! (@ from [&mut s] @ rest) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest }` [INFO] [stdout] = note: to `let ts = read_value! (@ source [&mut s] @ kind [[(i8, String) ; n]]) ;` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [[(i8, String) ; n]] }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [] @ rest(i8, String) ; n)` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [] @ rest(i8, String) ; n }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [(i8, String)] @ rest ; n)` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [(i8, String)] @ rest ; n }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [(i8, String)] @ len [n])` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [(i8, String)] @ len [n] }` [INFO] [stdout] = note: to `{ [INFO] [stdout] let len = n ; [INFO] [stdout] (0 .. [INFO] [stdout] len).map(| _ | read_value! [INFO] [stdout] (@ source [&mut s] @ kind [(i8, String)])).collect :: < Vec < _ [INFO] [stdout] >> () [INFO] [stdout] }` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [(i8, String)] }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [] @ current [] @ rest i8, String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [] @ current [] @ rest i8, String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [] @ current [i8] @ rest, String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [] @ current [i8] @ rest, String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8]] @ current [] @ rest String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8]] @ current [] @ rest String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8]] @ current [String] @ rest)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8]] @ current [String] @ rest }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8] [String]] @ current [] @ rest)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8] [String]] @ current [] @ rest }` [INFO] [stdout] = note: to `(read_value! (@ source [&mut s] @ kind [i8]), read_value! [INFO] [stdout] (@ source [&mut s] @ kind [String]),)` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [i8] }` [INFO] [stdout] = note: to `< i8 as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [String] }` [INFO] [stdout] = note: to `< String as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ rest }` [INFO] [stdout] = note: to `` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] note: trace_macro [INFO] [stdout] --> src/main.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | / input! { [INFO] [stdout] 371 | | from source, [INFO] [stdout] 372 | | n: usize, [INFO] [stdout] 373 | | ts: [(i8, String); n], [INFO] [stdout] 374 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: expanding `input! { from source, n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `let mut s = source ; input! [INFO] [stdout] { @ from [& mut s] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [& mut s] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! { @ from [&mut s] @ mut [] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] { [INFO] [stdout] @ from [&mut s] @ mut [] @ var n @ kind [] @ rest usize, ts : [INFO] [stdout] [(i8, String) ; n], [INFO] [stdout] }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [] @ rest usize, ts : [INFO] [stdout] [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] (@ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest, ts : [INFO] [stdout] [(i8, String) ; n],) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest, ts : [INFO] [stdout] [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest) ; input! [INFO] [stdout] (@ from [&mut s] @ rest ts : [(i8, String) ; n],) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest }` [INFO] [stdout] = note: to `let n = read_value! (@ source [&mut s] @ kind [usize]) ;` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [usize] }` [INFO] [stdout] = note: to `< usize as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! { @ from [&mut s] @ mut [] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] { @ from [&mut s] @ mut [] @ var ts @ kind [] @ rest [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [] @ rest [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest,) [INFO] [stdout] ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest, }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest) [INFO] [stdout] ; input! (@ from [&mut s] @ rest) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest }` [INFO] [stdout] = note: to `let ts = read_value! (@ source [&mut s] @ kind [[(i8, String) ; n]]) ;` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [[(i8, String) ; n]] }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [] @ rest(i8, String) ; n)` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [] @ rest(i8, String) ; n }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [(i8, String)] @ rest ; n)` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [(i8, String)] @ rest ; n }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [(i8, String)] @ len [n])` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [(i8, String)] @ len [n] }` [INFO] [stdout] = note: to `{ [INFO] [stdout] let len = n ; [INFO] [stdout] (0 .. [INFO] [stdout] len).map(| _ | read_value! [INFO] [stdout] (@ source [&mut s] @ kind [(i8, String)])).collect :: < Vec < _ [INFO] [stdout] >> () [INFO] [stdout] }` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [(i8, String)] }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [] @ current [] @ rest i8, String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [] @ current [] @ rest i8, String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [] @ current [i8] @ rest, String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [] @ current [i8] @ rest, String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8]] @ current [] @ rest String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8]] @ current [] @ rest String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8]] @ current [String] @ rest)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8]] @ current [String] @ rest }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8] [String]] @ current [] @ rest)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8] [String]] @ current [] @ rest }` [INFO] [stdout] = note: to `(read_value! (@ source [&mut s] @ kind [i8]), read_value! [INFO] [stdout] (@ source [&mut s] @ kind [String]),)` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [i8] }` [INFO] [stdout] = note: to `< i8 as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [String] }` [INFO] [stdout] = note: to `< String as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ rest }` [INFO] [stdout] = note: to `` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.64s [INFO] [stderr] Running `cargo check` to verify 2021 [INFO] [stderr] Checking proconio-handson v0.1.0 (/tmp/fixit) [INFO] [stdout] note: trace_macro [INFO] [stdout] --> src/main.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | / input! { [INFO] [stdout] 371 | | from source, [INFO] [stdout] 372 | | n: usize, [INFO] [stdout] 373 | | ts: [(i8, String); n], [INFO] [stdout] 374 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: expanding `input! { from source, n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `let mut s = source ; input! [INFO] [stdout] { @ from [& mut s] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [& mut s] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! { @ from [&mut s] @ mut [] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] { [INFO] [stdout] @ from [&mut s] @ mut [] @ var n @ kind [] @ rest usize, ts : [INFO] [stdout] [(i8, String) ; n], [INFO] [stdout] }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [] @ rest usize, ts : [INFO] [stdout] [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] (@ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest, ts : [INFO] [stdout] [(i8, String) ; n],) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest, ts : [INFO] [stdout] [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest) ; input! [INFO] [stdout] (@ from [&mut s] @ rest ts : [(i8, String) ; n],) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest }` [INFO] [stdout] = note: to `let n = read_value! (@ source [&mut s] @ kind [usize]) ;` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [usize] }` [INFO] [stdout] = note: to `< usize as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! { @ from [&mut s] @ mut [] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] { @ from [&mut s] @ mut [] @ var ts @ kind [] @ rest [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [] @ rest [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest,) [INFO] [stdout] ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest, }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest) [INFO] [stdout] ; input! (@ from [&mut s] @ rest) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest }` [INFO] [stdout] = note: to `let ts = read_value! (@ source [&mut s] @ kind [[(i8, String) ; n]]) ;` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [[(i8, String) ; n]] }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [] @ rest(i8, String) ; n)` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [] @ rest(i8, String) ; n }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [(i8, String)] @ rest ; n)` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [(i8, String)] @ rest ; n }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [(i8, String)] @ len [n])` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [(i8, String)] @ len [n] }` [INFO] [stdout] = note: to `{ [INFO] [stdout] let len = n ; [INFO] [stdout] (0 .. [INFO] [stdout] len).map(| _ | read_value! [INFO] [stdout] (@ source [&mut s] @ kind [(i8, String)])).collect :: < Vec < _ [INFO] [stdout] >> () [INFO] [stdout] }` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [(i8, String)] }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [] @ current [] @ rest i8, String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [] @ current [] @ rest i8, String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [] @ current [i8] @ rest, String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [] @ current [i8] @ rest, String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8]] @ current [] @ rest String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8]] @ current [] @ rest String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8]] @ current [String] @ rest)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8]] @ current [String] @ rest }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8] [String]] @ current [] @ rest)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8] [String]] @ current [] @ rest }` [INFO] [stdout] = note: to `(read_value! (@ source [&mut s] @ kind [i8]), read_value! [INFO] [stdout] (@ source [&mut s] @ kind [String]),)` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [i8] }` [INFO] [stdout] = note: to `< i8 as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [String] }` [INFO] [stdout] = note: to `< String as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ rest }` [INFO] [stdout] = note: to `` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] note: trace_macro [INFO] [stdout] --> src/main.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | / input! { [INFO] [stdout] 371 | | from source, [INFO] [stdout] 372 | | n: usize, [INFO] [stdout] 373 | | ts: [(i8, String); n], [INFO] [stdout] 374 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: expanding `input! { from source, n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `let mut s = source ; input! [INFO] [stdout] { @ from [& mut s] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [& mut s] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! { @ from [&mut s] @ mut [] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ rest n : usize, ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] { [INFO] [stdout] @ from [&mut s] @ mut [] @ var n @ kind [] @ rest usize, ts : [INFO] [stdout] [(i8, String) ; n], [INFO] [stdout] }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [] @ rest usize, ts : [INFO] [stdout] [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] (@ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest, ts : [INFO] [stdout] [(i8, String) ; n],) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest, ts : [INFO] [stdout] [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest) ; input! [INFO] [stdout] (@ from [&mut s] @ rest ts : [(i8, String) ; n],) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var n @ kind [usize] @ rest }` [INFO] [stdout] = note: to `let n = read_value! (@ source [&mut s] @ kind [usize]) ;` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [usize] }` [INFO] [stdout] = note: to `< usize as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! { @ from [&mut s] @ mut [] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ rest ts : [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! [INFO] [stdout] { @ from [&mut s] @ mut [] @ var ts @ kind [] @ rest [(i8, String) ; n], }` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [] @ rest [(i8, String) ; n], }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest,) [INFO] [stdout] ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest, }` [INFO] [stdout] = note: to `input! (@ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest) [INFO] [stdout] ; input! (@ from [&mut s] @ rest) ;` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ mut [] @ var ts @ kind [[(i8, String) ; n]] @ rest }` [INFO] [stdout] = note: to `let ts = read_value! (@ source [&mut s] @ kind [[(i8, String) ; n]]) ;` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [[(i8, String) ; n]] }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [] @ rest(i8, String) ; n)` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [] @ rest(i8, String) ; n }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [(i8, String)] @ rest ; n)` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [(i8, String)] @ rest ; n }` [INFO] [stdout] = note: to `read_value! (@ array @ source [&mut s] @ kind [(i8, String)] @ len [n])` [INFO] [stdout] = note: expanding `read_value! { @ array @ source [&mut s] @ kind [(i8, String)] @ len [n] }` [INFO] [stdout] = note: to `{ [INFO] [stdout] let len = n ; [INFO] [stdout] (0 .. [INFO] [stdout] len).map(| _ | read_value! [INFO] [stdout] (@ source [&mut s] @ kind [(i8, String)])).collect :: < Vec < _ [INFO] [stdout] >> () [INFO] [stdout] }` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [(i8, String)] }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [] @ current [] @ rest i8, String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [] @ current [] @ rest i8, String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [] @ current [i8] @ rest, String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [] @ current [i8] @ rest, String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8]] @ current [] @ rest String)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8]] @ current [] @ rest String }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8]] @ current [String] @ rest)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8]] @ current [String] @ rest }` [INFO] [stdout] = note: to `read_value! [INFO] [stdout] (@ tuple @ source [&mut s] @ kinds [[i8] [String]] @ current [] @ rest)` [INFO] [stdout] = note: expanding `read_value! { @ tuple @ source [&mut s] @ kinds [[i8] [String]] @ current [] @ rest }` [INFO] [stdout] = note: to `(read_value! (@ source [&mut s] @ kind [i8]), read_value! [INFO] [stdout] (@ source [&mut s] @ kind [String]),)` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [i8] }` [INFO] [stdout] = note: to `< i8 as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `read_value! { @ source [&mut s] @ kind [String] }` [INFO] [stdout] = note: to `< String as Readable > :: read(&mut s)` [INFO] [stdout] = note: expanding `input! { @ from [&mut s] @ rest }` [INFO] [stdout] = note: to `` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.58s [INFO] running `Command { std: "docker" "inspect" "ac3954a54c73166d4e120b8b300a056fb6c7ee1316ab1dca571c25c8bb221484", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ac3954a54c73166d4e120b8b300a056fb6c7ee1316ab1dca571c25c8bb221484", kill_on_drop: false }` [INFO] [stdout] ac3954a54c73166d4e120b8b300a056fb6c7ee1316ab1dca571c25c8bb221484