[INFO] crate gearley 0.0.1 is already in cache [INFO] extracting crate gearley 0.0.1 into work/ex/clippy-test-run/sources/stable/reg/gearley/0.0.1 [INFO] extracting crate gearley 0.0.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/gearley/0.0.1 [INFO] validating manifest of gearley-0.0.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of gearley-0.0.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing gearley-0.0.1 [INFO] finished frobbing gearley-0.0.1 [INFO] frobbed toml for gearley-0.0.1 written to work/ex/clippy-test-run/sources/stable/reg/gearley/0.0.1/Cargo.toml [INFO] started frobbing gearley-0.0.1 [INFO] finished frobbing gearley-0.0.1 [INFO] frobbed toml for gearley-0.0.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/gearley/0.0.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting gearley-0.0.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/gearley/0.0.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] a3fbf5461a4c77c5f6797a670e75209efe94c32fd0713357537d1729cc68f5e3 [INFO] running `"docker" "start" "-a" "a3fbf5461a4c77c5f6797a670e75209efe94c32fd0713357537d1729cc68f5e3"` [INFO] [stderr] Checking optional v0.0.13 [INFO] [stderr] Checking ref_slice v1.1.1 [INFO] [stderr] Checking bit-matrix v0.2.0 [INFO] [stderr] Checking cfg v0.3.0 [INFO] [stderr] Checking gearley v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/events.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/events.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | events: events, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `events` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/events.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | items: items, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/action_closure.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | leaf: leaf, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `leaf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/action_closure.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | rule: rule, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rule` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/action_closure.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | null: null, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `null` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/array_evaluator.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | value_array: value_array, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_array` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:97:49 [INFO] [stderr] | [INFO] [stderr] 97 | let production = ProductHandle { action: 0, factors: factors }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `factors` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | values: values [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | values: values [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | values: values [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:99:25 [INFO] [stderr] | [INFO] [stderr] 99 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:100:25 [INFO] [stderr] | [INFO] [stderr] 100 | factors: factors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `factors` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | bocage: bocage, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `bocage` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | order: order, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `order` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:130:25 [INFO] [stderr] | [INFO] [stderr] 130 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:183:25 [INFO] [stderr] | [INFO] [stderr] 183 | factor: factor, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `factor` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:185:25 [INFO] [stderr] | [INFO] [stderr] 185 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | factor: factor, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `factor` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:191:25 [INFO] [stderr] | [INFO] [stderr] 191 | symbol: symbol, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `symbol` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/mod.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | grammar: grammar, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `grammar` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/mod.rs:89:29 [INFO] [stderr] | [INFO] [stderr] 89 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/mod.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | factors: factors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `factors` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/mod.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:170:24 [INFO] [stderr] | [INFO] [stderr] 170 | BuildHistory { num_rules: num_rules } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num_rules` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:385:13 [INFO] [stderr] | [INFO] [stderr] 385 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:456:13 [INFO] [stderr] | [INFO] [stderr] 456 | dots: dots, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `dots` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:592:13 [INFO] [stderr] | [INFO] [stderr] 592 | num_syms: num_syms, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `num_syms` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:595:13 [INFO] [stderr] | [INFO] [stderr] 595 | num_rules: num_rules, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num_rules` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:597:13 [INFO] [stderr] | [INFO] [stderr] 597 | trivial_derivation: trivial_derivation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `trivial_derivation` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:739:13 [INFO] [stderr] | [INFO] [stderr] 739 | parts: parts, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `parts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:758:17 [INFO] [stderr] | [INFO] [stderr] 758 | prediction_matrix: prediction_matrix, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `prediction_matrix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:763:17 [INFO] [stderr] | [INFO] [stderr] 763 | events_pred: events_pred, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `events_pred` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:764:17 [INFO] [stderr] | [INFO] [stderr] 764 | events1: events1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `events1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:765:17 [INFO] [stderr] | [INFO] [stderr] 765 | events2: events2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `events2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:767:17 [INFO] [stderr] | [INFO] [stderr] 767 | tracing_pred: tracing_pred, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tracing_pred` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:768:17 [INFO] [stderr] | [INFO] [stderr] 768 | tracing: tracing, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `tracing` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:773:21 [INFO] [stderr] | [INFO] [stderr] 773 | lhs: lhs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:774:21 [INFO] [stderr] | [INFO] [stderr] 774 | rhs0: rhs0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:775:21 [INFO] [stderr] | [INFO] [stderr] 775 | rhs1: rhs1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:798:17 [INFO] [stderr] | [INFO] [stderr] 798 | prediction_matrix: prediction_matrix, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `prediction_matrix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:804:17 [INFO] [stderr] | [INFO] [stderr] 804 | events1: events1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `events1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:805:17 [INFO] [stderr] | [INFO] [stderr] 805 | events2: events2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `events2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:807:17 [INFO] [stderr] | [INFO] [stderr] 807 | tracing_pred: tracing_pred, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tracing_pred` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:808:17 [INFO] [stderr] | [INFO] [stderr] 808 | tracing: tracing, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `tracing` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:891:17 [INFO] [stderr] | [INFO] [stderr] 891 | lhs: lhs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:892:17 [INFO] [stderr] | [INFO] [stderr] 892 | rhs0: rhs0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:893:17 [INFO] [stderr] | [INFO] [stderr] 893 | rhs1: rhs1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1028:13 [INFO] [stderr] | [INFO] [stderr] 1028 | lhs: lhs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1029:13 [INFO] [stderr] | [INFO] [stderr] 1029 | rhs0: rhs0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1030:13 [INFO] [stderr] | [INFO] [stderr] 1030 | rhs1: rhs1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1135:21 [INFO] [stderr] | [INFO] [stderr] 1135 | lhs: lhs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1136:21 [INFO] [stderr] | [INFO] [stderr] 1136 | rhs0: rhs0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1137:21 [INFO] [stderr] | [INFO] [stderr] 1137 | rhs1: rhs1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | forest: forest, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `forest` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | products: products, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `products` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:182:21 [INFO] [stderr] | [INFO] [stderr] 182 | dot: dot, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dot` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:183:21 [INFO] [stderr] | [INFO] [stderr] 183 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:205:33 [INFO] [stderr] | [INFO] [stderr] 205 | dot: dot, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dot` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:217:33 [INFO] [stderr] | [INFO] [stderr] 217 | dot: dot, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dot` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:304:17 [INFO] [stderr] | [INFO] [stderr] 304 | lhs_sym: lhs_sym, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `lhs_sym` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/util/slice_builder.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | arena: arena, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `arena` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/events.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/events.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | events: events, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `events` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/events.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | items: items, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/action_closure.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | leaf: leaf, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `leaf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/action_closure.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | rule: rule, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rule` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/action_closure.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | null: null, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `null` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/array_evaluator.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | value_array: value_array, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_array` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:97:49 [INFO] [stderr] | [INFO] [stderr] 97 | let production = ProductHandle { action: 0, factors: factors }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `factors` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | values: values [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | values: values [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | values: values [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:99:25 [INFO] [stderr] | [INFO] [stderr] 99 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:100:25 [INFO] [stderr] | [INFO] [stderr] 100 | factors: factors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `factors` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | bocage: bocage, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `bocage` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | order: order, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `order` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:130:25 [INFO] [stderr] | [INFO] [stderr] 130 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:183:25 [INFO] [stderr] | [INFO] [stderr] 183 | factor: factor, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `factor` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:185:25 [INFO] [stderr] | [INFO] [stderr] 185 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | factor: factor, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `factor` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/traversal.rs:191:25 [INFO] [stderr] | [INFO] [stderr] 191 | symbol: symbol, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `symbol` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/mod.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | grammar: grammar, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `grammar` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/mod.rs:89:29 [INFO] [stderr] | [INFO] [stderr] 89 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/mod.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | factors: factors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `factors` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/forest/depth_first/mod.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:170:24 [INFO] [stderr] | [INFO] [stderr] 170 | BuildHistory { num_rules: num_rules } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num_rules` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:385:13 [INFO] [stderr] | [INFO] [stderr] 385 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:456:13 [INFO] [stderr] | [INFO] [stderr] 456 | dots: dots, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `dots` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:592:13 [INFO] [stderr] | [INFO] [stderr] 592 | num_syms: num_syms, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `num_syms` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:595:13 [INFO] [stderr] | [INFO] [stderr] 595 | num_rules: num_rules, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num_rules` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:597:13 [INFO] [stderr] | [INFO] [stderr] 597 | trivial_derivation: trivial_derivation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `trivial_derivation` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:739:13 [INFO] [stderr] | [INFO] [stderr] 739 | parts: parts, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `parts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:758:17 [INFO] [stderr] | [INFO] [stderr] 758 | prediction_matrix: prediction_matrix, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `prediction_matrix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:763:17 [INFO] [stderr] | [INFO] [stderr] 763 | events_pred: events_pred, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `events_pred` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:764:17 [INFO] [stderr] | [INFO] [stderr] 764 | events1: events1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `events1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:765:17 [INFO] [stderr] | [INFO] [stderr] 765 | events2: events2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `events2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:767:17 [INFO] [stderr] | [INFO] [stderr] 767 | tracing_pred: tracing_pred, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tracing_pred` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:768:17 [INFO] [stderr] | [INFO] [stderr] 768 | tracing: tracing, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `tracing` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:773:21 [INFO] [stderr] | [INFO] [stderr] 773 | lhs: lhs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:774:21 [INFO] [stderr] | [INFO] [stderr] 774 | rhs0: rhs0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:775:21 [INFO] [stderr] | [INFO] [stderr] 775 | rhs1: rhs1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:798:17 [INFO] [stderr] | [INFO] [stderr] 798 | prediction_matrix: prediction_matrix, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `prediction_matrix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:804:17 [INFO] [stderr] | [INFO] [stderr] 804 | events1: events1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `events1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:805:17 [INFO] [stderr] | [INFO] [stderr] 805 | events2: events2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `events2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:807:17 [INFO] [stderr] | [INFO] [stderr] 807 | tracing_pred: tracing_pred, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tracing_pred` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:808:17 [INFO] [stderr] | [INFO] [stderr] 808 | tracing: tracing, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `tracing` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:891:17 [INFO] [stderr] | [INFO] [stderr] 891 | lhs: lhs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:892:17 [INFO] [stderr] | [INFO] [stderr] 892 | rhs0: rhs0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:893:17 [INFO] [stderr] | [INFO] [stderr] 893 | rhs1: rhs1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1028:13 [INFO] [stderr] | [INFO] [stderr] 1028 | lhs: lhs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1029:13 [INFO] [stderr] | [INFO] [stderr] 1029 | rhs0: rhs0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1030:13 [INFO] [stderr] | [INFO] [stderr] 1030 | rhs1: rhs1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1135:21 [INFO] [stderr] | [INFO] [stderr] 1135 | lhs: lhs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1136:21 [INFO] [stderr] | [INFO] [stderr] 1136 | rhs0: rhs0, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:1137:21 [INFO] [stderr] | [INFO] [stderr] 1137 | rhs1: rhs1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rhs1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | forest: forest, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `forest` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | products: products, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `products` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:182:21 [INFO] [stderr] | [INFO] [stderr] 182 | dot: dot, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dot` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:183:21 [INFO] [stderr] | [INFO] [stderr] 183 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:205:33 [INFO] [stderr] | [INFO] [stderr] 205 | dot: dot, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dot` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:217:33 [INFO] [stderr] | [INFO] [stderr] 217 | dot: dot, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dot` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/recognizer.rs:304:17 [INFO] [stderr] | [INFO] [stderr] 304 | lhs_sym: lhs_sym, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `lhs_sym` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/util/slice_builder.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | arena: arena, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `arena` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/forest/null_forest.rs:24:56 [INFO] [stderr] | [INFO] [stderr] 24 | fn sum(&mut self, _origin: u32) -> Self::NodeRef { () } [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/forest/null_forest.rs:24:56 [INFO] [stderr] | [INFO] [stderr] 24 | fn sum(&mut self, _origin: u32) -> Self::NodeRef { () } [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: type annotations needed [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:26:41 [INFO] [stderr] | [INFO] [stderr] 26 | *ptr = &*(*ptr as *const _).offset(1); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(tyvar_behind_raw_pointer)] 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 the 2018 edition! [INFO] [stderr] = note: for more information, see issue #46906 [INFO] [stderr] [INFO] [stderr] warning: type annotations needed [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:26:41 [INFO] [stderr] | [INFO] [stderr] 26 | *ptr = &*(*ptr as *const _).offset(1); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(tyvar_behind_raw_pointer)] 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 the 2018 edition! [INFO] [stderr] = note: for more information, see issue #46906 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/grammar.rs:652:13 [INFO] [stderr] | [INFO] [stderr] 652 | let mut slices = self.as_slices_mut(); [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/grammar.rs:679:13 [INFO] [stderr] | [INFO] [stderr] 679 | let mut prediction_matrix = &mut slices.prediction_matrix; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `forest::depth_first::array_evaluator::ValueArray` [INFO] [stderr] --> src/forest/depth_first/array_evaluator.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> Self { [INFO] [stderr] 21 | | ValueArray { [INFO] [stderr] 22 | | arena: Arena::with_capacity(2048) [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 19 | impl Default for forest::depth_first::array_evaluator::ValueArray { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/forest/depth_first/array_evaluator.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn build_slice<'a>(&'a self, len: usize) -> SliceBuilder<'a, V> { [INFO] [stderr] 27 | | SliceBuilder::new(&self.arena, len) [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/forest/depth_first/array_evaluator.rs:89:52 [INFO] [stderr] | [INFO] [stderr] 89 | let count = sum.iter().map(|alt| alt.len()).fold(0, |acc, elem| acc + elem); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.sum()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_fold)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | end: start.offset(slice.len() as isize), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `start.add(slice.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `forest::depth_first::cartesian_product::CartesianProduct<'a, V>` [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / pub fn new() -> Self { [INFO] [stderr] 44 | | CartesianProduct { [INFO] [stderr] 45 | | ptrs: Vec::with_capacity(8), [INFO] [stderr] 46 | | ranges: Vec::with_capacity(8), [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 37 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:51:39 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn from_production<'t, 'f, T>(&mut self, production: &ProductHandle<'a, 't, 'f, T, V>) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:123:11 [INFO] [stderr] | [INFO] [stderr] 123 | }).fold(1, |acc, elem| acc * elem) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.product()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `forest::depth_first::order::NullOrder<'a, 'f, T, V>` [INFO] [stderr] --> src/forest/depth_first/order.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | NullOrder { marker: PhantomData } [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 17 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/forest/depth_first/mod.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | / match node.get() { [INFO] [stderr] 76 | | Product { action, mut factors } => { [INFO] [stderr] 77 | | if factors.right.is_none() { [INFO] [stderr] 78 | | // add omitted phantom syms here... [INFO] [stderr] ... | [INFO] [stderr] 95 | | _ => {} [INFO] [stderr] 96 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 75 | if let Product { action, mut factors } = node.get() { [INFO] [stderr] 76 | if factors.right.is_none() { [INFO] [stderr] 77 | // add omitted phantom syms here... [INFO] [stderr] 78 | if let Some((sym, dir)) = self.grammar.nulling(action) { [INFO] [stderr] 79 | let nulling_forest = self.nulling(sym); [INFO] [stderr] 80 | let (left, right) = if dir { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `grammar::Grammar` [INFO] [stderr] --> src/grammar.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | / pub fn new() -> Self { [INFO] [stderr] 75 | | Grammar { [INFO] [stderr] 76 | | inherit: Cfg::new(), [INFO] [stderr] 77 | | start: None, [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 73 | impl Default for grammar::Grammar { [INFO] [stderr] 74 | fn default() -> Self { [INFO] [stderr] 75 | Self::new() [INFO] [stderr] 76 | } [INFO] [stderr] 77 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/grammar.rs:108:34 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn into_internal_grammar(&self) -> InternalGrammar { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `grammar::BinarizedGrammar` [INFO] [stderr] --> src/grammar.rs:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | / pub fn new() -> Self { [INFO] [stderr] 134 | | BinarizedGrammar { [INFO] [stderr] 135 | | inherit: BinarizedCfg::new(), [INFO] [stderr] 136 | | start: None, [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 132 | impl Default for grammar::BinarizedGrammar { [INFO] [stderr] 133 | fn default() -> Self { [INFO] [stderr] 134 | Self::new() [INFO] [stderr] 135 | } [INFO] [stderr] 136 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/grammar.rs:191:16 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn dot(&self) -> DotKind { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/grammar.rs:338:19 [INFO] [stderr] | [INFO] [stderr] 338 | dots: (0 .. len + 1).map(|i| RuleDot::new(id, i)).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `(0..=len)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/grammar.rs:715:13 [INFO] [stderr] | [INFO] [stderr] 715 | parts.storage[offset[0]..].as_ptr() as *mut _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option`) [INFO] [stderr] --> src/grammar.rs:716:39 [INFO] [stderr] | [INFO] [stderr] 716 | slice::from_raw_parts_mut(parts.storage[offset[1]..].as_ptr() as *mut _, len[1]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option`) [INFO] [stderr] --> src/grammar.rs:717:39 [INFO] [stderr] | [INFO] [stderr] 717 | slice::from_raw_parts_mut(parts.storage[offset[2]..].as_ptr() as *mut _, len[2]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option<(cfg::Symbol, bool)>`) [INFO] [stderr] --> src/grammar.rs:718:39 [INFO] [stderr] | [INFO] [stderr] 718 | slice::from_raw_parts_mut(parts.storage[offset[3]..].as_ptr() as *mut _, len[3]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/grammar.rs:719:39 [INFO] [stderr] | [INFO] [stderr] 719 | slice::from_raw_parts_mut(parts.storage[offset[4]..].as_ptr() as *mut _, len[4]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut grammar::PredictionTransition`) [INFO] [stderr] --> src/grammar.rs:720:39 [INFO] [stderr] | [INFO] [stderr] 720 | slice::from_raw_parts_mut(parts.storage[offset[5]..].as_ptr() as *mut _, len[5]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut (optional::Optioned, optional::Optioned)`) [INFO] [stderr] --> src/grammar.rs:721:39 [INFO] [stderr] | [INFO] [stderr] 721 | slice::from_raw_parts_mut(parts.storage[offset[6]..].as_ptr() as *mut _, len[6]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option<(u32, u32)>`) [INFO] [stderr] --> src/grammar.rs:722:39 [INFO] [stderr] | [INFO] [stderr] 722 | slice::from_raw_parts_mut(parts.storage[offset[7]..].as_ptr() as *mut _, len[7]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut cfg::Symbol`) [INFO] [stderr] --> src/grammar.rs:723:39 [INFO] [stderr] | [INFO] [stderr] 723 | slice::from_raw_parts_mut(parts.storage[offset[8]..].as_ptr() as *mut _, len[8]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option`) [INFO] [stderr] --> src/grammar.rs:724:39 [INFO] [stderr] | [INFO] [stderr] 724 | slice::from_raw_parts_mut(parts.storage[offset[9]..].as_ptr() as *mut _, len[9]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut (cfg::Symbol, cfg::Symbol, cfg::Symbol)`) [INFO] [stderr] --> src/grammar.rs:725:39 [INFO] [stderr] | [INFO] [stderr] 725 | slice::from_raw_parts_mut(parts.storage[offset[10]..].as_ptr() as *mut _, len[10]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/grammar.rs:652:13 [INFO] [stderr] | [INFO] [stderr] 652 | let mut slices = self.as_slices_mut(); [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/grammar.rs:679:13 [INFO] [stderr] | [INFO] [stderr] 679 | let mut prediction_matrix = &mut slices.prediction_matrix; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: defining a method called `next` on this type; consider implementing the `std::iter::Iterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/recognizer.rs:320:5 [INFO] [stderr] | [INFO] [stderr] 320 | / pub fn next(&mut self) -> Option> { [INFO] [stderr] 321 | | if let Some(&completion) = self.completions.recognizer.complete.peek() { [INFO] [stderr] 322 | | let completion_lhs_sym = self.completions.recognizer.grammar().get_lhs(completion.dot); [INFO] [stderr] 323 | | if self.origin == completion.origin && self.lhs_sym == completion_lhs_sym { [INFO] [stderr] ... | [INFO] [stderr] 331 | | } [INFO] [stderr] 332 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `util::binary_heap::BinaryHeap` [INFO] [stderr] --> src/util/binary_heap.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | / pub fn new() -> BinaryHeap { [INFO] [stderr] 42 | | BinaryHeap { [INFO] [stderr] 43 | | indices: vec![], [INFO] [stderr] 44 | | data: vec![], [INFO] [stderr] 45 | | } [INFO] [stderr] 46 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/util/binary_heap.rs:111:40 [INFO] [stderr] | [INFO] [stderr] 111 | assert!(old_data_len as u64 <= u32::MAX as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/util/binary_heap.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | if element <= &self.data[parent_idx as usize] { [INFO] [stderr] | ^^^^^^^^^^^------------------------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.data[parent_idx as usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/util/binary_heap.rs:143:16 [INFO] [stderr] | [INFO] [stderr] 143 | if right < end && !(self.get(child).unwrap() > self.get(right).unwrap()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `right < end && self.get(child).unwrap() <= self.get(right).unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/util/slice_builder.rs:25:29 [INFO] [stderr] | [INFO] [stderr] 25 | uninit_end: (*uninit).as_mut_ptr().offset((*uninit).len() as isize), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(*uninit).as_mut_ptr().add((*uninit).len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/util/slice_builder.rs:62:43 [INFO] [stderr] | [INFO] [stderr] 62 | assert_eq!(self.uninit_end, (*new_slice).as_mut_ptr()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::not_unsafe_ptr_arg_deref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/util/slice_builder.rs:63:56 [INFO] [stderr] | [INFO] [stderr] 63 | self.uninit_end = self.uninit_end.offset((*new_slice).len() as isize); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/util/slice_builder.rs:63:31 [INFO] [stderr] | [INFO] [stderr] 63 | self.uninit_end = self.uninit_end.offset((*new_slice).len() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.uninit_end.add((*new_slice).len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: The function/method `len` doesn't need a mutable reference [INFO] [stderr] --> src/util/slice_builder.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | (&mut *self.arena.uninitialized_array()).len() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/util/mod.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | let p_r = p.offset(r as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `p.add(r)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/util/mod.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | let p_wm1 = p.offset((w - 1) as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.add((w - 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: aborting due to 13 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `gearley`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you should consider adding a `Default` implementation for `forest::depth_first::array_evaluator::ValueArray` [INFO] [stderr] --> src/forest/depth_first/array_evaluator.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> Self { [INFO] [stderr] 21 | | ValueArray { [INFO] [stderr] 22 | | arena: Arena::with_capacity(2048) [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 19 | impl Default for forest::depth_first::array_evaluator::ValueArray { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/forest/depth_first/array_evaluator.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn build_slice<'a>(&'a self, len: usize) -> SliceBuilder<'a, V> { [INFO] [stderr] 27 | | SliceBuilder::new(&self.arena, len) [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/forest/depth_first/array_evaluator.rs:89:52 [INFO] [stderr] | [INFO] [stderr] 89 | let count = sum.iter().map(|alt| alt.len()).fold(0, |acc, elem| acc + elem); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.sum()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_fold)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | end: start.offset(slice.len() as isize), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `start.add(slice.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `forest::depth_first::cartesian_product::CartesianProduct<'a, V>` [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / pub fn new() -> Self { [INFO] [stderr] 44 | | CartesianProduct { [INFO] [stderr] 45 | | ptrs: Vec::with_capacity(8), [INFO] [stderr] 46 | | ranges: Vec::with_capacity(8), [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 37 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/forest/depth_first/cartesian_product.rs:51:39 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn from_production<'t, 'f, T>(&mut self, production: &ProductHandle<'a, 't, 'f, T, V>) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/forest/depth_first/evaluate.rs:123:11 [INFO] [stderr] | [INFO] [stderr] 123 | }).fold(1, |acc, elem| acc * elem) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.product()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `forest::depth_first::order::NullOrder<'a, 'f, T, V>` [INFO] [stderr] --> src/forest/depth_first/order.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | NullOrder { marker: PhantomData } [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 17 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/forest/depth_first/mod.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | / match node.get() { [INFO] [stderr] 76 | | Product { action, mut factors } => { [INFO] [stderr] 77 | | if factors.right.is_none() { [INFO] [stderr] 78 | | // add omitted phantom syms here... [INFO] [stderr] ... | [INFO] [stderr] 95 | | _ => {} [INFO] [stderr] 96 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 75 | if let Product { action, mut factors } = node.get() { [INFO] [stderr] 76 | if factors.right.is_none() { [INFO] [stderr] 77 | // add omitted phantom syms here... [INFO] [stderr] 78 | if let Some((sym, dir)) = self.grammar.nulling(action) { [INFO] [stderr] 79 | let nulling_forest = self.nulling(sym); [INFO] [stderr] 80 | let (left, right) = if dir { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `grammar::Grammar` [INFO] [stderr] --> src/grammar.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | / pub fn new() -> Self { [INFO] [stderr] 75 | | Grammar { [INFO] [stderr] 76 | | inherit: Cfg::new(), [INFO] [stderr] 77 | | start: None, [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 73 | impl Default for grammar::Grammar { [INFO] [stderr] 74 | fn default() -> Self { [INFO] [stderr] 75 | Self::new() [INFO] [stderr] 76 | } [INFO] [stderr] 77 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/grammar.rs:108:34 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn into_internal_grammar(&self) -> InternalGrammar { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `grammar::BinarizedGrammar` [INFO] [stderr] --> src/grammar.rs:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | / pub fn new() -> Self { [INFO] [stderr] 134 | | BinarizedGrammar { [INFO] [stderr] 135 | | inherit: BinarizedCfg::new(), [INFO] [stderr] 136 | | start: None, [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 132 | impl Default for grammar::BinarizedGrammar { [INFO] [stderr] 133 | fn default() -> Self { [INFO] [stderr] 134 | Self::new() [INFO] [stderr] 135 | } [INFO] [stderr] 136 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/grammar.rs:191:16 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn dot(&self) -> DotKind { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/grammar.rs:338:19 [INFO] [stderr] | [INFO] [stderr] 338 | dots: (0 .. len + 1).map(|i| RuleDot::new(id, i)).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `(0..=len)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/grammar.rs:715:13 [INFO] [stderr] | [INFO] [stderr] 715 | parts.storage[offset[0]..].as_ptr() as *mut _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option`) [INFO] [stderr] --> src/grammar.rs:716:39 [INFO] [stderr] | [INFO] [stderr] 716 | slice::from_raw_parts_mut(parts.storage[offset[1]..].as_ptr() as *mut _, len[1]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option`) [INFO] [stderr] --> src/grammar.rs:717:39 [INFO] [stderr] | [INFO] [stderr] 717 | slice::from_raw_parts_mut(parts.storage[offset[2]..].as_ptr() as *mut _, len[2]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option<(cfg::Symbol, bool)>`) [INFO] [stderr] --> src/grammar.rs:718:39 [INFO] [stderr] | [INFO] [stderr] 718 | slice::from_raw_parts_mut(parts.storage[offset[3]..].as_ptr() as *mut _, len[3]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut u32`) [INFO] [stderr] --> src/grammar.rs:719:39 [INFO] [stderr] | [INFO] [stderr] 719 | slice::from_raw_parts_mut(parts.storage[offset[4]..].as_ptr() as *mut _, len[4]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut grammar::PredictionTransition`) [INFO] [stderr] --> src/grammar.rs:720:39 [INFO] [stderr] | [INFO] [stderr] 720 | slice::from_raw_parts_mut(parts.storage[offset[5]..].as_ptr() as *mut _, len[5]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut (optional::Optioned, optional::Optioned)`) [INFO] [stderr] --> src/grammar.rs:721:39 [INFO] [stderr] | [INFO] [stderr] 721 | slice::from_raw_parts_mut(parts.storage[offset[6]..].as_ptr() as *mut _, len[6]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option<(u32, u32)>`) [INFO] [stderr] --> src/grammar.rs:722:39 [INFO] [stderr] | [INFO] [stderr] 722 | slice::from_raw_parts_mut(parts.storage[offset[7]..].as_ptr() as *mut _, len[7]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut cfg::Symbol`) [INFO] [stderr] --> src/grammar.rs:723:39 [INFO] [stderr] | [INFO] [stderr] 723 | slice::from_raw_parts_mut(parts.storage[offset[8]..].as_ptr() as *mut _, len[8]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut std::option::Option`) [INFO] [stderr] --> src/grammar.rs:724:39 [INFO] [stderr] | [INFO] [stderr] 724 | slice::from_raw_parts_mut(parts.storage[offset[9]..].as_ptr() as *mut _, len[9]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut (cfg::Symbol, cfg::Symbol, cfg::Symbol)`) [INFO] [stderr] --> src/grammar.rs:725:39 [INFO] [stderr] | [INFO] [stderr] 725 | slice::from_raw_parts_mut(parts.storage[offset[10]..].as_ptr() as *mut _, len[10]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: defining a method called `next` on this type; consider implementing the `std::iter::Iterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/recognizer.rs:320:5 [INFO] [stderr] | [INFO] [stderr] 320 | / pub fn next(&mut self) -> Option> { [INFO] [stderr] 321 | | if let Some(&completion) = self.completions.recognizer.complete.peek() { [INFO] [stderr] 322 | | let completion_lhs_sym = self.completions.recognizer.grammar().get_lhs(completion.dot); [INFO] [stderr] 323 | | if self.origin == completion.origin && self.lhs_sym == completion_lhs_sym { [INFO] [stderr] ... | [INFO] [stderr] 331 | | } [INFO] [stderr] 332 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `util::binary_heap::BinaryHeap` [INFO] [stderr] --> src/util/binary_heap.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | / pub fn new() -> BinaryHeap { [INFO] [stderr] 42 | | BinaryHeap { [INFO] [stderr] 43 | | indices: vec![], [INFO] [stderr] 44 | | data: vec![], [INFO] [stderr] 45 | | } [INFO] [stderr] 46 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/util/binary_heap.rs:111:40 [INFO] [stderr] | [INFO] [stderr] 111 | assert!(old_data_len as u64 <= u32::MAX as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/util/binary_heap.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | if element <= &self.data[parent_idx as usize] { [INFO] [stderr] | ^^^^^^^^^^^------------------------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.data[parent_idx as usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/util/binary_heap.rs:143:16 [INFO] [stderr] | [INFO] [stderr] 143 | if right < end && !(self.get(child).unwrap() > self.get(right).unwrap()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `right < end && self.get(child).unwrap() <= self.get(right).unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/util/slice_builder.rs:25:29 [INFO] [stderr] | [INFO] [stderr] 25 | uninit_end: (*uninit).as_mut_ptr().offset((*uninit).len() as isize), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(*uninit).as_mut_ptr().add((*uninit).len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/util/slice_builder.rs:62:43 [INFO] [stderr] | [INFO] [stderr] 62 | assert_eq!(self.uninit_end, (*new_slice).as_mut_ptr()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::not_unsafe_ptr_arg_deref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/util/slice_builder.rs:63:56 [INFO] [stderr] | [INFO] [stderr] 63 | self.uninit_end = self.uninit_end.offset((*new_slice).len() as isize); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/util/slice_builder.rs:63:31 [INFO] [stderr] | [INFO] [stderr] 63 | self.uninit_end = self.uninit_end.offset((*new_slice).len() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.uninit_end.add((*new_slice).len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: The function/method `len` doesn't need a mutable reference [INFO] [stderr] --> src/util/slice_builder.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | (&mut *self.arena.uninitialized_array()).len() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/util/mod.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | let p_r = p.offset(r as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `p.add(r)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/util/mod.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | let p_wm1 = p.offset((w - 1) as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.add((w - 1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: aborting due to 13 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `gearley`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "a3fbf5461a4c77c5f6797a670e75209efe94c32fd0713357537d1729cc68f5e3"` [INFO] running `"docker" "rm" "-f" "a3fbf5461a4c77c5f6797a670e75209efe94c32fd0713357537d1729cc68f5e3"` [INFO] [stdout] a3fbf5461a4c77c5f6797a670e75209efe94c32fd0713357537d1729cc68f5e3