[INFO] fetching crate gallop 1.0.4... [INFO] testing gallop-1.0.4 against beta-2021-01-01 for beta-1.50-1 [INFO] extracting crate gallop 1.0.4 into /workspace/builds/worker-9/source [INFO] validating manifest of crates.io crate gallop 1.0.4 on toolchain beta-2021-01-01 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "read-manifest" "--manifest-path" "Cargo.toml", 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-9/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f33e9dda803107bb20760bd7745e375d2db2439749a6c513c9c5c7d22138180e [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" "f33e9dda803107bb20760bd7745e375d2db2439749a6c513c9c5c7d22138180e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f33e9dda803107bb20760bd7745e375d2db2439749a6c513c9c5c7d22138180e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f33e9dda803107bb20760bd7745e375d2db2439749a6c513c9c5c7d22138180e", kill_on_drop: false }` [INFO] [stdout] f33e9dda803107bb20760bd7745e375d2db2439749a6c513c9c5c7d22138180e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 44bff72939826625e4625b7079e1f40e61b38e38347c675db9d4d3c551a81ecb [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" "44bff72939826625e4625b7079e1f40e61b38e38347c675db9d4d3c551a81ecb", kill_on_drop: false }` [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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stdout] --> src/lib.rs:982:10 [INFO] [stdout] | [INFO] [stdout] 982 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #66145 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.42s [INFO] running `Command { std: "docker" "inspect" "44bff72939826625e4625b7079e1f40e61b38e38347c675db9d4d3c551a81ecb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "44bff72939826625e4625b7079e1f40e61b38e38347c675db9d4d3c551a81ecb", kill_on_drop: false }` [INFO] [stdout] 44bff72939826625e4625b7079e1f40e61b38e38347c675db9d4d3c551a81ecb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9e8af0acf0e7ec535e8170e323d134c64359ac5fbae43767f3174bbf67d1e3bc [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" "9e8af0acf0e7ec535e8170e323d134c64359ac5fbae43767f3174bbf67d1e3bc", kill_on_drop: false }` [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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stdout] --> src/lib.rs:982:10 [INFO] [stdout] | [INFO] [stdout] 982 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #66145 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [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: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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stdout] --> src/lib.rs:982:10 [INFO] [stdout] | [INFO] [stdout] 982 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #66145 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.64s [INFO] running `Command { std: "docker" "inspect" "9e8af0acf0e7ec535e8170e323d134c64359ac5fbae43767f3174bbf67d1e3bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e8af0acf0e7ec535e8170e323d134c64359ac5fbae43767f3174bbf67d1e3bc", kill_on_drop: false }` [INFO] [stdout] 9e8af0acf0e7ec535e8170e323d134c64359ac5fbae43767f3174bbf67d1e3bc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2e062f2aba3cf06b1b85a890742cd1505024821162bdbc6d4545a3f0cf3edb6b [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" "2e062f2aba3cf06b1b85a890742cd1505024821162bdbc6d4545a3f0cf3edb6b", 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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/lib.rs:982:10 [INFO] [stderr] | [INFO] [stderr] 982 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: 5 warnings emitted [INFO] [stderr] [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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/lib.rs:982:10 [INFO] [stderr] | [INFO] [stderr] 982 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: 5 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/gallop-47be589ee4e84023 [INFO] [stdout] [INFO] [stdout] running 129 tests [INFO] [stdout] test compilers_1st_ed::pg_190 ... ok [INFO] [stdout] test compilers_1st_ed::pg_188 ... ok [INFO] [stdout] test get_first_set::combo_ene ... ok [INFO] [stdout] test get_first_set::combo_e ... ok [INFO] [stdout] test compiler_design_in_c_1st::get_parse_table_ok ... ok [INFO] [stdout] test compiler_design_in_c_1st::pg_214 ... ok [INFO] [stdout] test get_first_set::combo_ent ... ok [INFO] [stdout] test get_first_set::combo_et ... ok [INFO] [stdout] test compiler_design_in_c_1st::pg_217 ... 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_t ... ok [INFO] [stdout] test get_first_set::combo_tn ... ok [INFO] [stdout] test get_first_set::combo_nt_e ... ok [INFO] [stdout] test get_first_set::combo_tne ... ok [INFO] [stdout] test get_first_set::combo_tnt ... ok [INFO] [stdout] test get_first_set::combo_tt ... ok [INFO] [stdout] test get_first_set::is_empty ... ok [INFO] [stdout] test get_first_set::invalid_grammar ... ok [INFO] [stdout] test get_first_set::combo_ne_e ... ok [INFO] [stdout] test get_first_set::combo_ne_t ... ok [INFO] [stdout] test get_follow_set::combo_e ... ok [INFO] [stdout] test get_follow_set::combo_ee ... 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_een_t ... 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_ene_t ... 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_ete ... ok [INFO] [stdout] test get_follow_set::combo_etn_e ... ok [INFO] [stdout] test get_follow_set::combo_etn_t ... 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_een_e ... ok [INFO] [stdout] test get_follow_set::combo_eee ... ok [INFO] [stdout] test get_first_set::matching_non_terminal ... ok [INFO] [stdout] test get_follow_set::combo_nee_e ... ok [INFO] [stdout] test get_follow_set::combo_nee_t ... ok [INFO] [stdout] test get_follow_set::combo_net_e ... ok [INFO] [stdout] test get_follow_set::combo_nen_t ... ok [INFO] [stdout] test get_follow_set::combo_enn_e ... ok [INFO] [stdout] test get_follow_set::combo_nen_e ... ok [INFO] [stdout] test _parse::panic_on_terminal ... 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_nnn_e ... ok [INFO] [stdout] test get_follow_set::combo_nnn_t_e ... ok [INFO] [stdout] test get_follow_set::combo_nne_t ... 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_nte_e ... ok [INFO] [stdout] test get_follow_set::combo_nnt_e ... ok [INFO] [stdout] test get_follow_set::combo_nte_t ... ok [INFO] [stdout] test get_follow_set::combo_ntt_e ... ok [INFO] [stdout] test get_follow_set::combo_t ... ok [INFO] [stdout] test get_follow_set::combo_ntn_t ... ok [INFO] [stdout] test get_follow_set::combo_tee ... ok [INFO] [stdout] test get_follow_set::combo_ten_t ... ok [INFO] [stdout] test get_follow_set::combo_tet ... ok [INFO] [stdout] test get_follow_set::combo_te ... ok [INFO] [stdout] test get_follow_set::combo_ten_e ... ok [INFO] [stdout] test get_follow_set::combo_tn_e ... ok [INFO] [stdout] test get_follow_set::combo_ntt_t ... ok [INFO] [stdout] test get_follow_set::combo_ntn_e ... ok [INFO] [stdout] test get_follow_set::combo_n_t ... ok [INFO] [stdout] test get_follow_set::combo_tn_t ... ok [INFO] [stdout] test get_follow_set::combo_tnn_t ... ok [INFO] [stdout] test get_follow_set::combo_tne_e ... ok [INFO] [stdout] test get_follow_set::combo_tnt_e ... ok [INFO] [stdout] test get_follow_set::combo_tne_t ... ok [INFO] [stdout] test get_follow_set::combo_tte ... ok [INFO] [stdout] test get_follow_set::combo_tnn_e ... ok [INFO] [stdout] test get_follow_set::combo_ttn_t ... ok [INFO] [stdout] test get_follow_set::combo_tnt_t ... ok [INFO] [stdout] test get_follow_set::combo_ttn_e ... ok [INFO] [stdout] test get_follow_set::combo_tt ... ok [INFO] [stdout] test get_follow_set::combo_ttt ... ok [INFO] [stdout] test get_parse_table::combo_en_t ... 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_n_e ... ok [INFO] [stdout] test get_parse_table::combo_n_n ... 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_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_nn_t ... ok [INFO] [stdout] test get_parse_table::combo_nn_t_t ... ok [INFO] [stdout] test get_parse_table::combo_t ... ok [INFO] [stdout] test get_parse_table::combo_t_et ... 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_te_nt_nt ... ok [INFO] [stdout] test get_parse_table::combo_tn_e ... ok [INFO] [stdout] test get_parse_table::combo_tn_t ... ok [INFO] [stdout] test get_parse_table::combo_tt ... ok [INFO] [stdout] test get_parse_table::combo_ee ... ok [INFO] [stdout] test get_parse_table::combo_et ... ok [INFO] [stdout] test get_parse_table::combo_nt_e ... ok [INFO] [stdout] test new::empty_grammar ... ok [INFO] [stdout] test new::no_start_symbol ... ok [INFO] [stdout] test get_parse_table::combo_nt_t ... ok [INFO] [stdout] test _parse::invalid_wrong_terminal ... ok [INFO] [stdout] test parsing_techniques_2nd_ed::pg_243 ... ok [INFO] [stdout] test parsing_techniques_2nd_ed::pg_246 ... ok [INFO] [stdout] test parsing_techniques_2nd_ed::pg_247 ... ok [INFO] [stdout] test parse::no_more_input ... ok [INFO] [stdout] test parsing_techniques_2nd_ed::parse_ok ... ok [INFO] [stdout] test _parse::invalid_wrong_terminal_recursed ... ok [INFO] [stdout] test new::ok ... ok [INFO] [stdout] test _parse::no_input ... ok [INFO] [stdout] test parse::ok ... ok [INFO] [stdout] test _parse::invalid_input ... ok [INFO] [stdout] test _parse::no_more_input ... ok [INFO] [stdout] test compiler_design_in_c_1st::parse_ok ... ok [INFO] [stdout] test parse::invalid_input ... ok [INFO] [stdout] test new::bad_parse_table ... ok [INFO] [stdout] test compilers_1st_ed::parse_ok ... ok [INFO] [stdout] test _parse::ok ... ok [INFO] [stdout] test rollup::auto_rollup ... ok [INFO] [stdout] test rollup::rollup ... ok [INFO] [stdout] test rollup::no_rollup ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 129 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.69s [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.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2e062f2aba3cf06b1b85a890742cd1505024821162bdbc6d4545a3f0cf3edb6b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e062f2aba3cf06b1b85a890742cd1505024821162bdbc6d4545a3f0cf3edb6b", kill_on_drop: false }` [INFO] [stdout] 2e062f2aba3cf06b1b85a890742cd1505024821162bdbc6d4545a3f0cf3edb6b