[INFO] fetching crate gallop 1.0.4... [INFO] testing gallop-1.0.4 against 1.55.0 for beta-1.56-1 [INFO] extracting crate gallop 1.0.4 into /workspace/builds/worker-100/source [INFO] validating manifest of crates.io crate gallop 1.0.4 on toolchain 1.55.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate gallop 1.0.4 [INFO] finished tweaking crates.io crate gallop 1.0.4 [INFO] tweaked toml for crates.io crate gallop 1.0.4 written to /workspace/builds/worker-100/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c460597817a1648032bf9121e4df28fcd5629c3a1bd5d0b0037f125aaf89de83 [INFO] running `Command { std: "docker" "start" "-a" "c460597817a1648032bf9121e4df28fcd5629c3a1bd5d0b0037f125aaf89de83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c460597817a1648032bf9121e4df28fcd5629c3a1bd5d0b0037f125aaf89de83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c460597817a1648032bf9121e4df28fcd5629c3a1bd5d0b0037f125aaf89de83", kill_on_drop: false }` [INFO] [stdout] c460597817a1648032bf9121e4df28fcd5629c3a1bd5d0b0037f125aaf89de83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b46c9aa60ed7d7fcf67214ba3bdd2bb2afe12fdbe45db71518a3c93d5bd16b54 [INFO] running `Command { std: "docker" "start" "-a" "b46c9aa60ed7d7fcf67214ba3bdd2bb2afe12fdbe45db71518a3c93d5bd16b54", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling gallop v1.0.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:570:21 [INFO] [stdout] | [INFO] [stdout] 570 | let mut current_children = children; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:712:41 [INFO] [stdout] | [INFO] [stdout] 712 | ... let mut first_non_terminal = first_set.get_mut(non_terminal).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:735:29 [INFO] [stdout] | [INFO] [stdout] 735 | let mut first_non_terminal = first_set.get_mut(non_terminal).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:784:33 [INFO] [stdout] | [INFO] [stdout] 784 | ... let mut follow_rule_element_b = follow_set.get_mut(&b).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021. [INFO] [stdout] --> src/lib.rs:982:10 [INFO] [stdout] | [INFO] [stdout] 982 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see issue #66145 [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 982 | .iter() [INFO] [stdout] | ^^^^ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 981 | IntoIterator::into_iter(['\u{0020}', '\u{0009}','\u{000a}','\u{000c}','\u{000d}']) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.31s [INFO] running `Command { std: "docker" "inspect" "b46c9aa60ed7d7fcf67214ba3bdd2bb2afe12fdbe45db71518a3c93d5bd16b54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b46c9aa60ed7d7fcf67214ba3bdd2bb2afe12fdbe45db71518a3c93d5bd16b54", kill_on_drop: false }` [INFO] [stdout] b46c9aa60ed7d7fcf67214ba3bdd2bb2afe12fdbe45db71518a3c93d5bd16b54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a39a7391a7c312216328fbee45cffe783a15e742c80c2b6dc324f7dcacc04f81 [INFO] running `Command { std: "docker" "start" "-a" "a39a7391a7c312216328fbee45cffe783a15e742c80c2b6dc324f7dcacc04f81", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:570:21 [INFO] [stdout] | [INFO] [stdout] 570 | let mut current_children = children; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling gallop v1.0.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:712:41 [INFO] [stdout] | [INFO] [stdout] 712 | ... let mut first_non_terminal = first_set.get_mut(non_terminal).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:735:29 [INFO] [stdout] | [INFO] [stdout] 735 | let mut first_non_terminal = first_set.get_mut(non_terminal).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:784:33 [INFO] [stdout] | [INFO] [stdout] 784 | ... let mut follow_rule_element_b = follow_set.get_mut(&b).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021. [INFO] [stdout] --> src/lib.rs:982:10 [INFO] [stdout] | [INFO] [stdout] 982 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see issue #66145 [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 982 | .iter() [INFO] [stdout] | ^^^^ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 981 | IntoIterator::into_iter(['\u{0020}', '\u{0009}','\u{000a}','\u{000c}','\u{000d}']) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:570:21 [INFO] [stdout] | [INFO] [stdout] 570 | let mut current_children = children; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:712:41 [INFO] [stdout] | [INFO] [stdout] 712 | ... let mut first_non_terminal = first_set.get_mut(non_terminal).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:735:29 [INFO] [stdout] | [INFO] [stdout] 735 | let mut first_non_terminal = first_set.get_mut(non_terminal).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:784:33 [INFO] [stdout] | [INFO] [stdout] 784 | ... let mut follow_rule_element_b = follow_set.get_mut(&b).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021. [INFO] [stdout] --> src/lib.rs:982:10 [INFO] [stdout] | [INFO] [stdout] 982 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see issue #66145 [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 982 | .iter() [INFO] [stdout] | ^^^^ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 981 | IntoIterator::into_iter(['\u{0020}', '\u{0009}','\u{000a}','\u{000c}','\u{000d}']) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.91s [INFO] running `Command { std: "docker" "inspect" "a39a7391a7c312216328fbee45cffe783a15e742c80c2b6dc324f7dcacc04f81", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a39a7391a7c312216328fbee45cffe783a15e742c80c2b6dc324f7dcacc04f81", kill_on_drop: false }` [INFO] [stdout] a39a7391a7c312216328fbee45cffe783a15e742c80c2b6dc324f7dcacc04f81 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-100/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4d516861cb1f5cdbf67fc23e5d534cad109776088dec72c26310d045959f2a5d [INFO] running `Command { std: "docker" "start" "-a" "4d516861cb1f5cdbf67fc23e5d534cad109776088dec72c26310d045959f2a5d", kill_on_drop: false }` [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:570:21 [INFO] [stderr] | [INFO] [stderr] 570 | let mut current_children = children; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:712:41 [INFO] [stderr] | [INFO] [stderr] 712 | ... let mut first_non_terminal = first_set.get_mut(non_terminal).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:735:29 [INFO] [stderr] | [INFO] [stderr] 735 | let mut first_non_terminal = first_set.get_mut(non_terminal).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:784:33 [INFO] [stderr] | [INFO] [stderr] 784 | ... let mut follow_rule_element_b = follow_set.get_mut(&b).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021. [INFO] [stderr] --> src/lib.rs:982:10 [INFO] [stderr] | [INFO] [stderr] 982 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 982 | .iter() [INFO] [stderr] | ^^^^ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 981 | IntoIterator::into_iter(['\u{0020}', '\u{0009}','\u{000a}','\u{000c}','\u{000d}']) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^ [INFO] [stderr] [INFO] [stderr] warning: `gallop` (lib) generated 5 warnings [INFO] [stderr] warning: `gallop` (lib test) generated 5 warnings (5 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/gallop-031fea66049efbf8) [INFO] [stdout] [INFO] [stdout] running 129 tests [INFO] [stdout] test get_first_set::combo_ent ... ok [INFO] [stdout] test compiler_design_in_c_1st::pg_214 ... ok [INFO] [stdout] test compilers_1st_ed::pg_190 ... ok [INFO] [stdout] test compiler_design_in_c_1st::pg_217 ... ok [INFO] [stdout] test get_first_set::combo_et ... ok [INFO] [stdout] test get_first_set::combo_ene ... ok [INFO] [stdout] test get_first_set::combo_ne_e ... ok [INFO] [stdout] test compiler_design_in_c_1st::get_parse_table_ok ... ok [INFO] [stdout] test get_first_set::combo_ne_t ... ok [INFO] [stdout] test compilers_1st_ed::pg_188 ... ok [INFO] [stdout] test get_first_set::combo_nt_e ... ok [INFO] [stdout] test get_first_set::combo_e ... ok [INFO] [stdout] test get_first_set::combo_t ... ok [INFO] [stdout] test get_first_set::combo_nt_t ... ok [INFO] [stdout] test get_first_set::combo_te ... ok [INFO] [stdout] test get_first_set::combo_tne ... ok [INFO] [stdout] test get_first_set::combo_tn ... ok [INFO] [stdout] test get_first_set::combo_tt ... ok [INFO] [stdout] test get_first_set::combo_tnt ... ok [INFO] [stdout] test get_first_set::invalid_grammar ... ok [INFO] [stdout] test get_first_set::is_empty ... ok [INFO] [stdout] test get_follow_set::combo_e ... ok [INFO] [stdout] test get_first_set::matching_non_terminal ... ok [INFO] [stdout] test get_follow_set::combo_ee ... ok [INFO] [stdout] test get_follow_set::combo_eee ... ok [INFO] [stdout] test get_follow_set::combo_een_e ... ok [INFO] [stdout] test get_follow_set::combo_een_t ... ok [INFO] [stdout] test get_follow_set::combo_eet ... ok [INFO] [stdout] test get_follow_set::combo_en_e ... ok [INFO] [stdout] test get_follow_set::combo_en_t ... ok [INFO] [stdout] test get_follow_set::combo_ene_e ... ok [INFO] [stdout] test get_follow_set::combo_enn_e ... ok [INFO] [stdout] test get_follow_set::combo_enn_t ... ok [INFO] [stdout] test get_follow_set::combo_ent_e ... ok [INFO] [stdout] test get_follow_set::combo_ent_t ... ok [INFO] [stdout] test get_follow_set::combo_et ... ok [INFO] [stdout] test get_follow_set::combo_ene_t ... ok [INFO] [stdout] test get_follow_set::combo_ete ... ok [INFO] [stdout] test get_follow_set::combo_etn_e ... ok [INFO] [stdout] test get_follow_set::combo_ett ... ok [INFO] [stdout] test get_follow_set::combo_n_e ... ok [INFO] [stdout] test get_follow_set::combo_net_e ... ok [INFO] [stdout] test get_follow_set::combo_nen_e ... ok [INFO] [stdout] test get_follow_set::combo_nen_t ... ok [INFO] [stdout] test get_follow_set::combo_etn_t ... ok [INFO] [stdout] test get_follow_set::combo_nee_t ... ok [INFO] [stdout] test get_follow_set::combo_net_t ... ok [INFO] [stdout] test get_follow_set::combo_nne ... ok [INFO] [stdout] test get_follow_set::combo_nee_e ... ok [INFO] [stdout] test get_follow_set::combo_n_t ... ok [INFO] [stdout] test get_follow_set::combo_nne_t ... ok [INFO] [stdout] test get_follow_set::combo_nnn_t_e ... ok [INFO] [stdout] test get_follow_set::combo_nnt_e ... ok [INFO] [stdout] test get_follow_set::combo_ntn_e ... ok [INFO] [stdout] test get_follow_set::combo_nnt_t ... ok [INFO] [stdout] test get_follow_set::combo_nnn_t_t ... ok [INFO] [stdout] test get_follow_set::combo_ntt_e ... ok [INFO] [stdout] test get_follow_set::combo_ntn_t ... ok [INFO] [stdout] test get_follow_set::combo_nnn_e ... ok [INFO] [stdout] test get_follow_set::combo_nte_t ... ok [INFO] [stdout] test get_follow_set::combo_ntt_t ... ok [INFO] [stdout] test get_follow_set::combo_nte_e ... ok [INFO] [stdout] test get_follow_set::combo_t ... ok [INFO] [stdout] test get_follow_set::combo_tee ... ok [INFO] [stdout] test get_follow_set::combo_te ... ok [INFO] [stdout] test get_follow_set::combo_tn_e ... ok [INFO] [stdout] test get_follow_set::combo_tn_t ... ok [INFO] [stdout] test get_follow_set::combo_tne_e ... ok [INFO] [stdout] test get_follow_set::combo_tnn_e ... ok [INFO] [stdout] test get_follow_set::combo_tnn_t ... ok [INFO] [stdout] test get_follow_set::combo_ten_e ... ok [INFO] [stdout] test get_follow_set::combo_tet ... ok [INFO] [stdout] test get_follow_set::combo_tne_t ... ok [INFO] [stdout] test get_follow_set::combo_ten_t ... ok [INFO] [stdout] test get_follow_set::combo_tnt_e ... ok [INFO] [stdout] test get_follow_set::combo_tnt_t ... ok [INFO] [stdout] test get_follow_set::combo_tt ... ok [INFO] [stdout] test get_follow_set::combo_tte ... ok [INFO] [stdout] test get_follow_set::combo_ttn_e ... ok [INFO] [stdout] test get_follow_set::combo_ttn_t ... ok [INFO] [stdout] test get_follow_set::combo_ttt ... ok [INFO] [stdout] test get_parse_table::combo_e ... ok [INFO] [stdout] test get_parse_table::combo_en_e ... ok [INFO] [stdout] test get_parse_table::combo_ee ... ok [INFO] [stdout] test get_parse_table::combo_n_t ... ok [INFO] [stdout] test get_parse_table::combo_ne_e ... ok [INFO] [stdout] test get_parse_table::combo_ne_nt_nt ... ok [INFO] [stdout] test get_parse_table::combo_n_n ... ok [INFO] [stdout] test get_parse_table::combo_ne_t ... ok [INFO] [stdout] test get_parse_table::combo_ne_t_nt ... ok [INFO] [stdout] test get_parse_table::combo_nn_e ... ok [INFO] [stdout] test get_parse_table::combo_n_e ... ok [INFO] [stdout] test get_parse_table::combo_et ... ok [INFO] [stdout] test get_parse_table::combo_nn_t_t ... ok [INFO] [stdout] test get_parse_table::combo_nt_t ... ok [INFO] [stdout] test get_parse_table::combo_t ... ok [INFO] [stdout] test get_parse_table::combo_en_t ... ok [INFO] [stdout] test get_parse_table::combo_t_et ... ok [INFO] [stdout] test get_parse_table::combo_nn_t ... ok [INFO] [stdout] test get_parse_table::combo_t_t ... ok [INFO] [stdout] test get_parse_table::combo_te ... ok [INFO] [stdout] test get_parse_table::combo_nt_e ... ok [INFO] [stdout] test get_parse_table::combo_tn_e ... ok [INFO] [stdout] test get_parse_table::combo_tn_t ... ok [INFO] [stdout] test new::empty_grammar ... ok [INFO] [stdout] test get_parse_table::combo_tt ... ok [INFO] [stdout] test new::no_start_symbol ... ok [INFO] [stdout] test parsing_techniques_2nd_ed::pg_247 ... ok [INFO] [stdout] test get_parse_table::combo_te_nt_nt ... ok [INFO] [stdout] test parsing_techniques_2nd_ed::pg_246 ... ok [INFO] [stdout] test parsing_techniques_2nd_ed::pg_243 ... ok [INFO] [stdout] test _parse::panic_on_terminal - should panic ... ok [INFO] [stdout] test compiler_design_in_c_1st::parse_ok ... ok [INFO] [stdout] test parse::ok ... ok [INFO] [stdout] test _parse::invalid_wrong_terminal_recursed ... ok [INFO] [stdout] test compilers_1st_ed::parse_ok ... ok [INFO] [stdout] test new::ok ... ok [INFO] [stdout] test rollup::no_rollup ... ok [INFO] [stdout] test _parse::invalid_wrong_terminal ... ok [INFO] [stdout] test parse::invalid_input ... ok [INFO] [stdout] test rollup::auto_rollup ... ok [INFO] [stdout] test new::bad_parse_table ... ok [INFO] [stdout] test rollup::rollup ... ok [INFO] [stdout] test _parse::no_input ... ok [INFO] [stdout] test _parse::no_more_input ... ok [INFO] [stdout] test _parse::ok ... ok [INFO] [stdout] test parsing_techniques_2nd_ed::parse_ok ... ok [INFO] [stdout] test _parse::invalid_input ... ok [INFO] [stdout] test parse::no_more_input ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 129 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.91s [INFO] [stdout] [INFO] [stderr] Doc-tests gallop [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test src/lib.rs - (line 118) ... ignored [INFO] [stdout] test src/lib.rs - (line 133) ... ignored [INFO] [stdout] test src/lib.rs - (line 176) ... ignored [INFO] [stdout] test src/lib.rs - (line 245) ... ignored [INFO] [stdout] test src/lib.rs - (line 293) ... ignored [INFO] [stdout] test src/lib.rs - (line 36) ... ignored [INFO] [stdout] test src/lib.rs - (line 5) ... ignored [INFO] [stdout] test src/lib.rs - (line 51) ... ignored [INFO] [stdout] test src/lib.rs - (line 60) ... ignored [INFO] [stdout] test src/lib.rs - (line 66) ... ignored [INFO] [stdout] test src/lib.rs - (line 74) ... ignored [INFO] [stdout] test src/lib.rs - (line 81) ... ignored [INFO] [stdout] test src/lib.rs - (line 89) ... ignored [INFO] [stdout] test src/lib.rs - Parser::new (line 437) ... ignored [INFO] [stdout] test src/lib.rs - Parser::parse (line 506) ... ignored [INFO] [stdout] test src/lib.rs - Parser::rollup (line 531) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 16 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4d516861cb1f5cdbf67fc23e5d534cad109776088dec72c26310d045959f2a5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4d516861cb1f5cdbf67fc23e5d534cad109776088dec72c26310d045959f2a5d", kill_on_drop: false }` [INFO] [stdout] 4d516861cb1f5cdbf67fc23e5d534cad109776088dec72c26310d045959f2a5d