[INFO] fetching crate syntax-parser-generator 0.1.1... [INFO] linting syntax-parser-generator-0.1.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate syntax-parser-generator 0.1.1 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate syntax-parser-generator 0.1.1 [INFO] finished tweaking crates.io crate syntax-parser-generator 0.1.1 [INFO] tweaked toml for crates.io crate syntax-parser-generator 0.1.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate syntax-parser-generator 0.1.1 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 8 packages to latest compatible versions [INFO] [stderr] Adding pretty_assertions v1.4.0 (available: v1.4.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unicode-ident v1.0.24 [INFO] [stderr] Downloaded derive-where v1.6.1 [INFO] [stderr] Downloaded proc-macro2 v1.0.106 [INFO] [stderr] Downloaded quote v1.0.45 [INFO] [stderr] Downloaded yansi v0.5.1 [INFO] [stderr] Downloaded diff v0.1.13 [INFO] [stderr] Downloaded syn v2.0.117 [INFO] [stderr] Downloaded pretty_assertions v1.4.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d35c03a045553bb76a8682ec32a7f2e80b8b43d999aa13544bdbda0a95f97e7b [INFO] running `Command { std: "docker" "start" "-a" "d35c03a045553bb76a8682ec32a7f2e80b8b43d999aa13544bdbda0a95f97e7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d35c03a045553bb76a8682ec32a7f2e80b8b43d999aa13544bdbda0a95f97e7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d35c03a045553bb76a8682ec32a7f2e80b8b43d999aa13544bdbda0a95f97e7b", kill_on_drop: false }` [INFO] [stdout] d35c03a045553bb76a8682ec32a7f2e80b8b43d999aa13544bdbda0a95f97e7b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 95b1282f2345f08037e16f7b9a193b8f5cbe6e55f28a2520a1c62a3c35598b95 [INFO] running `Command { std: "docker" "start" "-a" "95b1282f2345f08037e16f7b9a193b8f5cbe6e55f28a2520a1c62a3c35598b95", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling derive-where v1.6.1 [INFO] [stderr] Checking syntax-parser-generator v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | //! text by regular expressions. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | //! for reconstructing the input's syntax-tree by a context-free grammar (using the [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | //! [LALR](https://en.wikipedia.org/wiki/LALR_parser) algorithm), and translating it into some [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | //! user-defined representation, such as an abstract syntax-tree (AST) or a sequence of [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | //! intermediate code representation (IR). [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/automata/dfa_minimize.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | / self.list_states() [INFO] [stdout] 75 | | .filter(|&state| self.is_dead_state(state)) [INFO] [stdout] 76 | | .next() [INFO] [stdout] | |___________________^ help: try: `self.list_states().find(|&state| self.is_dead_state(state))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] = note: `#[warn(clippy::filter_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/automata/nfa.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | / loop { [INFO] [stdout] 102 | | match states_to_process.pop() { [INFO] [stdout] 103 | | Some(state) => { [INFO] [stdout] 104 | | if closure.insert(state) { [INFO] [stdout] ... | [INFO] [stdout] 110 | | } [INFO] [stdout] | |_________^ help: try: `while let Some(state) = states_to_process.pop() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | HashMap>, Handle>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | unprocessed_new_states: Vec<( [INFO] [stdout] | _____________________________^ [INFO] [stdout] 30 | | HandleBitSet>, [INFO] [stdout] 31 | | Handle>, [INFO] [stdout] 32 | | )>, [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / loop { [INFO] [stdout] 66 | | match self.unprocessed_new_states.pop() { [INFO] [stdout] 67 | | Some((nfa_states, dfa_state)) => { [INFO] [stdout] 68 | | self.process_new_state(nfa_states, dfa_state); [INFO] [stdout] ... | [INFO] [stdout] 72 | | } [INFO] [stdout] | |_________^ help: try: `while let Some((nfa_states, dfa_state)) = self.unprocessed_new_states.pop() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/handles/handle.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn mock(existing_handles: &Vec>) -> Handle { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 52 - pub fn mock(existing_handles: &Vec>) -> Handle { [INFO] [stdout] 52 + pub fn mock(existing_handles: &[Handle]) -> Handle { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/handles/handle.rs:88:1 [INFO] [stdout] | [INFO] [stdout] 88 | / impl Into for Handle [INFO] [stdout] 89 | | where [INFO] [stdout] 90 | | T: Handled + ?Sized, [INFO] [stdout] ... | [INFO] [stdout] 96 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From>` [INFO] [stdout] | [INFO] [stdout] 88 ~ impl From> for usize [INFO] [stdout] 89 | where [INFO] [stdout] ... [INFO] [stdout] 92 | /// Converts a handle to the serial number it identifies. [INFO] [stdout] 93 ~ fn from(val: Handle) -> Self { [INFO] [stdout] 94 ~ val.core.into_index() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/handles/collections/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | //! on the fly ([HandledVec], [HandledHashMap]). [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/handles/collections/handle_bit_set/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | mod handle_bit_set; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HandleBitSet` [INFO] [stdout] --> src/handles/collections/handle_bit_set/handle_bit_set.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / pub fn new() -> Self { [INFO] [stdout] 29 | | Self { [INFO] [stdout] 30 | | bytes: Vec::new(), [INFO] [stdout] 31 | | phantom_data: Default::default(), [INFO] [stdout] 32 | | } [INFO] [stdout] 33 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 23 + impl Default for HandleBitSet [INFO] [stdout] 24 + where [INFO] [stdout] 25 + T: Handled, [INFO] [stdout] 26 + { [INFO] [stdout] 27 + fn default() -> Self { [INFO] [stdout] 28 + Self::new() [INFO] [stdout] 29 + } [INFO] [stdout] 30 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `result_bytes` [INFO] [stdout] --> src/handles/collections/handle_bit_set/handle_bit_set.rs:70:18 [INFO] [stdout] | [INFO] [stdout] 70 | for i in 0..self.bytes.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 70 - for i in 0..self.bytes.len() { [INFO] [stdout] 70 + for (i, ) in result_bytes.iter_mut().enumerate().take(self.bytes.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `result_bytes` [INFO] [stdout] --> src/handles/collections/handle_bit_set/handle_bit_set.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | for i in 0..other.bytes.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 73 - for i in 0..other.bytes.len() { [INFO] [stdout] 73 + for (i, ) in result_bytes.iter_mut().enumerate().take(other.bytes.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | //! text by regular expressions. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | //! for reconstructing the input's syntax-tree by a context-free grammar (using the [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | //! [LALR](https://en.wikipedia.org/wiki/LALR_parser) algorithm), and translating it into some [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | //! user-defined representation, such as an abstract syntax-tree (AST) or a sequence of [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lib.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | //! intermediate code representation (IR). [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HandleMap` [INFO] [stdout] --> src/handles/collections/handle_map.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | / pub fn new() -> Self { [INFO] [stdout] 52 | | Vec::new().into() [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 46 + impl Default for HandleMap [INFO] [stdout] 47 + where [INFO] [stdout] 48 + T: Handled + ?Sized, [INFO] [stdout] 49 + { [INFO] [stdout] 50 + fn default() -> Self { [INFO] [stdout] 51 + Self::new() [INFO] [stdout] 52 + } [INFO] [stdout] 53 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/handles/collections/handle_map.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | !self.get(key).is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.get(key).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/handles/collections/handle_map.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | (&self).into_iter() [INFO] [stdout] | ^^^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HandledHashMap` [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | / pub fn new() -> Self { [INFO] [stdout] 43 | | Self { [INFO] [stdout] 44 | | contents: HashMap::new(), [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 37 + impl Default for HandledHashMap [INFO] [stdout] 38 + where [INFO] [stdout] 39 + T: Handled + Eq + PartialEq + Hash, [INFO] [stdout] 40 + { [INFO] [stdout] 41 + fn default() -> Self { [INFO] [stdout] 42 + Self::new() [INFO] [stdout] 43 + } [INFO] [stdout] 44 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HandledVec` [INFO] [stdout] --> src/handles/collections/handled_vec.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | / pub fn new() -> Self { [INFO] [stdout] 45 | | Self { [INFO] [stdout] 46 | | contents: Vec::new(), [INFO] [stdout] 47 | | } [INFO] [stdout] 48 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 39 + impl Default for HandledVec [INFO] [stdout] 40 + where [INFO] [stdout] 41 + T: Handled, [INFO] [stdout] 42 + { [INFO] [stdout] 43 + fn default() -> Self { [INFO] [stdout] 44 + Self::new() [INFO] [stdout] 45 + } [INFO] [stdout] 46 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/automata/dfa.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | fn build_test_data_1() -> (Dfa, Vec>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/handles/collections/handled_vec.rs:106:6 [INFO] [stdout] | [INFO] [stdout] 106 | impl<'a, T> FromIterator for HandledVec [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/handles/specials/orderly_handled.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl PartialOrd for Handle [INFO] [stdout] 47 | | where [INFO] [stdout] 48 | | T: OrderlyHandled, [INFO] [stdout] ... | [INFO] [stdout] 53 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 50 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 51 - self.core.partial_cmp(&other.core) [INFO] [stdout] 52 - } [INFO] [stdout] 50 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/automata/dfa.rs:184:31 [INFO] [stdout] | [INFO] [stdout] 184 | fn build_test_data_2() -> (Dfa, Vec>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lex/regex.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | ) -> (Handle>, Handle>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/automata/dfa_minimize.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | / self.list_states() [INFO] [stdout] 75 | | .filter(|&state| self.is_dead_state(state)) [INFO] [stdout] 76 | | .next() [INFO] [stdout] | |___________________^ help: try: `self.list_states().find(|&state| self.is_dead_state(state))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] = note: `#[warn(clippy::filter_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lex/lexical_analyzer.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | /// `LexemeType` whose [LexemeDescriptor] was listed first during the [LexicalAnalyzer]'s [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lex/lexical_analyzer.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | /// construction (see the `lexeme_descriptors` argument of [LexicalAnalyzer::new]). [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lex/lexical_analyzer.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | / return if is_string_empty { [INFO] [stdout] 139 | | LexemeIdentificationResult::InputExhausted [INFO] [stdout] 140 | | } else if let Some(lexeme_type) = recent_lexeme_type { [INFO] [stdout] 141 | | LexemeIdentificationResult::Identified(lexeme_type) [INFO] [stdout] ... | [INFO] [stdout] 144 | | LexemeIdentificationResult::LexicalError [INFO] [stdout] 145 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 138 ~ if is_string_empty { [INFO] [stdout] 139 + LexemeIdentificationResult::InputExhausted [INFO] [stdout] 140 + } else if let Some(lexeme_type) = recent_lexeme_type { [INFO] [stdout] 141 + LexemeIdentificationResult::Identified(lexeme_type) [INFO] [stdout] 142 + } else { [INFO] [stdout] 143 + // We read some data, but couldn't identify available prefix [INFO] [stdout] 144 + LexemeIdentificationResult::LexicalError [INFO] [stdout] 145 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/build.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | rules_for_nonterminals: &'a HandleMap< [INFO] [stdout] | _________________________________^ [INFO] [stdout] 22 | | Nonterminal, [INFO] [stdout] 23 | | Vec>>, [INFO] [stdout] 24 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/build.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | &'a HandleMap>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/compile_to_parser.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | states_map: HandleMap< [INFO] [stdout] | _________________^ [INFO] [stdout] 45 | | KernelSetsDfaState, [INFO] [stdout] 46 | | Handle>, [INFO] [stdout] 47 | | >, [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/automata/nfa.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | / loop { [INFO] [stdout] 102 | | match states_to_process.pop() { [INFO] [stdout] 103 | | Some(state) => { [INFO] [stdout] 104 | | if closure.insert(state) { [INFO] [stdout] ... | [INFO] [stdout] 110 | | } [INFO] [stdout] | |_________^ help: try: `while let Some(state) = states_to_process.pop() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/automata/nfa.rs:156:29 [INFO] [stdout] | [INFO] [stdout] 156 | fn build_test_data() -> (Nfa, Vec>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/compile_to_parser.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | / if let Some(tar_dfa_state) = self.dfa.step( [INFO] [stdout] 135 | | src_dfa_state, [INFO] [stdout] 136 | | self.grammar_symbols.symbol_from_nonterminal(nonterminal), [INFO] [stdout] 137 | | ) { [INFO] [stdout] ... | [INFO] [stdout] 140 | | None [INFO] [stdout] 141 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 134 ~ self.dfa.step( [INFO] [stdout] 135 + src_dfa_state, [INFO] [stdout] 136 + self.grammar_symbols.symbol_from_nonterminal(nonterminal), [INFO] [stdout] 137 + ).map(|tar_dfa_state| self.get_parser_state(tar_dfa_state)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | HashMap>, Handle>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | unprocessed_new_states: Vec<( [INFO] [stdout] | _____________________________^ [INFO] [stdout] 30 | | HandleBitSet>, [INFO] [stdout] 31 | | Handle>, [INFO] [stdout] 32 | | )>, [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | &'a HandleMap>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | rules_for_nonterminals: &'a HandleMap< [INFO] [stdout] | _________________________________^ [INFO] [stdout] 29 | | Nonterminal, [INFO] [stdout] 30 | | Vec>>, [INFO] [stdout] 31 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / loop { [INFO] [stdout] 66 | | match self.unprocessed_new_states.pop() { [INFO] [stdout] 67 | | Some((nfa_states, dfa_state)) => { [INFO] [stdout] 68 | | self.process_new_state(nfa_states, dfa_state); [INFO] [stdout] ... | [INFO] [stdout] 72 | | } [INFO] [stdout] | |_________^ help: try: `while let Some((nfa_states, dfa_state)) = self.unprocessed_new_states.pop() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | string: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 93 - string: &Vec>, [INFO] [stdout] 93 + string: &[GrammarSymbol], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:101:66 [INFO] [stdout] | [INFO] [stdout] 101 | firsts.extend(sub_firsts.iter().filter(|&&x| !x.is_none())); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `x.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `filter_map` with an identity function [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:120:52 [INFO] [stdout] | [INFO] [stdout] 120 | self.firsts_for_string(string).into_iter().filter_map(|x| x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_map_identity [INFO] [stdout] = note: `#[warn(clippy::filter_map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | rules_for_nonterminals: &HandleMap< [INFO] [stdout] | _________________________________^ [INFO] [stdout] 27 | | Nonterminal, [INFO] [stdout] 28 | | Vec>>, [INFO] [stdout] 29 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | &'a HandleMap>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:71:33 [INFO] [stdout] | [INFO] [stdout] 71 | rules_for_nonterminals: &'a HandleMap< [INFO] [stdout] | _________________________________^ [INFO] [stdout] 72 | | Nonterminal, [INFO] [stdout] 73 | | Vec>>, [INFO] [stdout] 74 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/handles/handle.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn mock(existing_handles: &Vec>) -> Handle { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 52 - pub fn mock(existing_handles: &Vec>) -> Handle { [INFO] [stdout] 52 + pub fn mock(existing_handles: &[Handle]) -> Handle { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/handles/handle.rs:88:1 [INFO] [stdout] | [INFO] [stdout] 88 | / impl Into for Handle [INFO] [stdout] 89 | | where [INFO] [stdout] 90 | | T: Handled + ?Sized, [INFO] [stdout] ... | [INFO] [stdout] 96 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From>` [INFO] [stdout] | [INFO] [stdout] 88 ~ impl From> for usize [INFO] [stdout] 89 | where [INFO] [stdout] ... [INFO] [stdout] 92 | /// Converts a handle to the serial number it identifies. [INFO] [stdout] 93 ~ fn from(val: Handle) -> Self { [INFO] [stdout] 94 ~ val.core.into_index() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/handles/collections/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | //! on the fly ([HandledVec], [HandledHashMap]). [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:201:32 [INFO] [stdout] | [INFO] [stdout] 201 | .chain(vec![GrammarSymbol::Terminal(lr1_item.lookahead)].into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 201 - .chain(vec![GrammarSymbol::Terminal(lr1_item.lookahead)].into_iter()) [INFO] [stdout] 201 + .chain(vec![GrammarSymbol::Terminal(lr1_item.lookahead)]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | ) -> Option<( [INFO] [stdout] | __________^ [INFO] [stdout] 232 | | Handle>, [INFO] [stdout] 233 | | Handle>, [INFO] [stdout] 234 | | )> { [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/handles/collections/handle_bit_set/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | mod handle_bit_set; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HandleBitSet` [INFO] [stdout] --> src/handles/collections/handle_bit_set/handle_bit_set.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / pub fn new() -> Self { [INFO] [stdout] 29 | | Self { [INFO] [stdout] 30 | | bytes: Vec::new(), [INFO] [stdout] 31 | | phantom_data: Default::default(), [INFO] [stdout] 32 | | } [INFO] [stdout] 33 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 23 + impl Default for HandleBitSet [INFO] [stdout] 24 + where [INFO] [stdout] 25 + T: Handled, [INFO] [stdout] 26 + { [INFO] [stdout] 27 + fn default() -> Self { [INFO] [stdout] 28 + Self::new() [INFO] [stdout] 29 + } [INFO] [stdout] 30 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/mod.rs:90:23 [INFO] [stdout] | [INFO] [stdout] 90 | pub propagations: Vec<( [INFO] [stdout] | _______________________^ [INFO] [stdout] 91 | | Handle>, [INFO] [stdout] 92 | | Handle>, [INFO] [stdout] 93 | | )>, [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `result_bytes` [INFO] [stdout] --> src/handles/collections/handle_bit_set/handle_bit_set.rs:70:18 [INFO] [stdout] | [INFO] [stdout] 70 | for i in 0..self.bytes.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 70 - for i in 0..self.bytes.len() { [INFO] [stdout] 70 + for (i, ) in result_bytes.iter_mut().enumerate().take(self.bytes.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parsing/lr_parser/build/mod.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if !self.terminal_bindings_map.get(terminal).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.terminal_bindings_map.get(terminal).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `result_bytes` [INFO] [stdout] --> src/handles/collections/handle_bit_set/handle_bit_set.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | for i in 0..other.bytes.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 73 - for i in 0..other.bytes.len() { [INFO] [stdout] 73 + for (i, ) in result_bytes.iter_mut().enumerate().take(other.bytes.len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/mod.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | ) -> ( [INFO] [stdout] | __________^ [INFO] [stdout] 74 | | Vec>, [INFO] [stdout] 75 | | Vec>, [INFO] [stdout] 76 | | Vec>, [INFO] [stdout] 77 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/mod.rs:115:10 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> HandleMap>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_bit_set/tests.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | assert_eq!(set.contains(T::T1.handle()), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 28 - assert_eq!(set.contains(T::T1.handle()), false); [INFO] [stdout] 28 + assert!(!set.contains(T::T1.handle())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_bit_set/tests.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | assert_eq!(set.contains(T::T1.handle()), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 31 - assert_eq!(set.contains(T::T1.handle()), true); [INFO] [stdout] 31 + assert!(set.contains(T::T1.handle())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_bit_set/tests.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | assert_eq!(set.contains(T::T2.handle()), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 34 - assert_eq!(set.contains(T::T2.handle()), true); [INFO] [stdout] 34 + assert!(set.contains(T::T2.handle())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_bit_set/tests.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | assert_eq!(set.contains(T::T3.handle()), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 35 - assert_eq!(set.contains(T::T3.handle()), false); [INFO] [stdout] 35 + assert!(!set.contains(T::T3.handle())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_bit_set/tests.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | assert_eq!(set.contains(T::T2.handle()), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 38 - assert_eq!(set.contains(T::T2.handle()), true); [INFO] [stdout] 38 + assert!(set.contains(T::T2.handle())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_bit_set/tests.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | assert_eq!(set.contains(T::T3.handle()), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 39 - assert_eq!(set.contains(T::T3.handle()), true); [INFO] [stdout] 39 + assert!(set.contains(T::T3.handle())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | /// bindings. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `SyntaxDirectedTranslatorBuilder` [INFO] [stdout] --> src/parsing/translator/build.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | / pub fn new() -> Self { [INFO] [stdout] 87 | | Self { [INFO] [stdout] 88 | | grammar_symbol_dub_map: HashMap::new(), [INFO] [stdout] 89 | | nonterminals: HandledVec::new(), [INFO] [stdout] ... | [INFO] [stdout] 96 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 81 + impl Default for SyntaxDirectedTranslatorBuilder [INFO] [stdout] 82 + where [INFO] [stdout] 83 + LexemeType: AutomaticallyHandled, [INFO] [stdout] 84 + { [INFO] [stdout] 85 + fn default() -> Self { [INFO] [stdout] 86 + Self::new() [INFO] [stdout] 87 + } [INFO] [stdout] 88 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HandleMap` [INFO] [stdout] --> src/handles/collections/handle_map.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | / pub fn new() -> Self { [INFO] [stdout] 52 | | Vec::new().into() [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 46 + impl Default for HandleMap [INFO] [stdout] 47 + where [INFO] [stdout] 48 + T: Handled + ?Sized, [INFO] [stdout] 49 + { [INFO] [stdout] 50 + fn default() -> Self { [INFO] [stdout] 51 + Self::new() [INFO] [stdout] 52 + } [INFO] [stdout] 53 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | /// that are bound to this binding. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/handles/collections/handle_map.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | !self.get(key).is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.get(key).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/handles/collections/handle_map.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | (&self).into_iter() [INFO] [stdout] | ^^^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_map.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | assert_eq!(map.insert(1.into(), 1), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 178 - assert_eq!(map.insert(1.into(), 1), true); [INFO] [stdout] 178 + assert!(map.insert(1.into(), 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | /// the right-hand side of the production. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_map.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | assert_eq!(map.insert(50.into(), 50), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 179 - assert_eq!(map.insert(50.into(), 50), true); [INFO] [stdout] 179 + assert!(map.insert(50.into(), 50)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 271 | /// satellite data of the right-hand side grammar symbols (and the translation context), and [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | /// its output will serve as the satellite data attached to the left-hand side nonterminal. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handle_map.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | assert_eq!(map.insert(1.into(), 1), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 180 - assert_eq!(map.insert(1.into(), 1), false); [INFO] [stdout] 180 + assert!(!map.insert(1.into(), 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | /// translation context), and its output will serve as the satellite data attached to the [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:337:9 [INFO] [stdout] | [INFO] [stdout] 337 | /// left-hand side nonterminal. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HandledHashMap` [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | / pub fn new() -> Self { [INFO] [stdout] 43 | | Self { [INFO] [stdout] 44 | | contents: HashMap::new(), [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 37 + impl Default for HandledHashMap [INFO] [stdout] 38 + where [INFO] [stdout] 39 + T: Handled + Eq + PartialEq + Hash, [INFO] [stdout] 40 + { [INFO] [stdout] 41 + fn default() -> Self { [INFO] [stdout] 42 + Self::new() [INFO] [stdout] 43 + } [INFO] [stdout] 44 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | assert_eq!(set.contains(&1), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 104 - assert_eq!(set.contains(&1), true); [INFO] [stdout] 104 + assert!(set.contains(&1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | assert_eq!(set.contains(&0), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 105 - assert_eq!(set.contains(&0), false); [INFO] [stdout] 105 + assert!(!set.contains(&0)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | assert_eq!(set.contains(&5), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 106 - assert_eq!(set.contains(&5), true); [INFO] [stdout] 106 + assert!(set.contains(&5)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | assert_eq!(set.contains(&1), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 109 - assert_eq!(set.contains(&1), true); [INFO] [stdout] 109 + assert!(set.contains(&1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | assert_eq!(set.contains(&12), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 111 - assert_eq!(set.contains(&12), false); [INFO] [stdout] 111 + assert!(!set.contains(&12)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | assert_eq!(set.contains(&12), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 113 - assert_eq!(set.contains(&12), true); [INFO] [stdout] 113 + assert!(set.contains(&12)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | assert_eq!(set.contains(&15), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 115 - assert_eq!(set.contains(&15), false); [INFO] [stdout] 115 + assert!(!set.contains(&15)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/handles/collections/handled_hash_map.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | assert_eq!(set.contains(&15), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 117 - assert_eq!(set.contains(&15), true); [INFO] [stdout] 117 + assert!(set.contains(&15)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:61:31 [INFO] [stdout] | [INFO] [stdout] 61 | .epsilon_closure(&vec![self.initial_nfa_state].iter().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[self.initial_nfa_state]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HandledVec` [INFO] [stdout] --> src/handles/collections/handled_vec.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | / pub fn new() -> Self { [INFO] [stdout] 45 | | Self { [INFO] [stdout] 46 | | contents: Vec::new(), [INFO] [stdout] 47 | | } [INFO] [stdout] 48 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 39 + impl Default for HandledVec [INFO] [stdout] 40 + where [INFO] [stdout] 41 + T: Handled, [INFO] [stdout] 42 + { [INFO] [stdout] 43 + fn default() -> Self { [INFO] [stdout] 44 + Self::new() [INFO] [stdout] 45 + } [INFO] [stdout] 46 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parsing/lr_parser/mod.rs:112:26 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new_execution(&self) -> LrParserExecution { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new_execution(&self) -> LrParserExecution<'_, Terminal, Nonterminal, Tag> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/handles/collections/handled_vec.rs:106:6 [INFO] [stdout] | [INFO] [stdout] 106 | impl<'a, T> FromIterator for HandledVec [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/parsing/lr_parser/execute.rs:62:10 [INFO] [stdout] | [INFO] [stdout] 61 | machine: &'a LrParser, [INFO] [stdout] | -- the lifetime is named here [INFO] [stdout] 62 | ) -> LrParserExecution { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 62 | ) -> LrParserExecution<'a, Terminal, Nonterminal, Tag> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/handles/specials/orderly_handled.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl PartialOrd for Handle [INFO] [stdout] 47 | | where [INFO] [stdout] 48 | | T: OrderlyHandled, [INFO] [stdout] ... | [INFO] [stdout] 53 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 50 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 51 - self.core.partial_cmp(&other.core) [INFO] [stdout] 52 - } [INFO] [stdout] 50 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lex/regex.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | ) -> (Handle>, Handle>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lex/regex.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | return dfa; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 176 - return dfa; [INFO] [stdout] 176 + dfa [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | assert_eq!(is_string_in(&dfa, "a"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 195 - assert_eq!(is_string_in(&dfa, "a"), true); [INFO] [stdout] 195 + assert!(is_string_in(&dfa, "a")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 196 - assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] 196 + assert!(!is_string_in(&dfa, "")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | assert_eq!(is_string_in(&dfa, "aa"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 197 - assert_eq!(is_string_in(&dfa, "aa"), false); [INFO] [stdout] 197 + assert!(!is_string_in(&dfa, "aa")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | assert_eq!(is_string_in(&dfa, "a"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 209 - assert_eq!(is_string_in(&dfa, "a"), true); [INFO] [stdout] 209 + assert!(is_string_in(&dfa, "a")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | assert_eq!(is_string_in(&dfa, "b"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 210 - assert_eq!(is_string_in(&dfa, "b"), true); [INFO] [stdout] 210 + assert!(is_string_in(&dfa, "b")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | assert_eq!(is_string_in(&dfa, "c"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 211 - assert_eq!(is_string_in(&dfa, "c"), true); [INFO] [stdout] 211 + assert!(is_string_in(&dfa, "c")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 212 - assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] 212 + assert!(!is_string_in(&dfa, "")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | assert_eq!(is_string_in(&dfa, "aa"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 213 - assert_eq!(is_string_in(&dfa, "aa"), false); [INFO] [stdout] 213 + assert!(!is_string_in(&dfa, "aa")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | assert_eq!(is_string_in(&dfa, "d"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 214 - assert_eq!(is_string_in(&dfa, "d"), false); [INFO] [stdout] 214 + assert!(!is_string_in(&dfa, "d")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | assert_eq!(is_string_in(&dfa, "abc"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 226 - assert_eq!(is_string_in(&dfa, "abc"), true); [INFO] [stdout] 226 + assert!(is_string_in(&dfa, "abc")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 227 - assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] 227 + assert!(!is_string_in(&dfa, "")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | assert_eq!(is_string_in(&dfa, "a"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 228 - assert_eq!(is_string_in(&dfa, "a"), false); [INFO] [stdout] 228 + assert!(!is_string_in(&dfa, "a")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 229 | assert_eq!(is_string_in(&dfa, "bc"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 229 - assert_eq!(is_string_in(&dfa, "bc"), false); [INFO] [stdout] 229 + assert!(!is_string_in(&dfa, "bc")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | assert_eq!(is_string_in(&dfa, ""), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 238 - assert_eq!(is_string_in(&dfa, ""), true); [INFO] [stdout] 238 + assert!(is_string_in(&dfa, "")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | assert_eq!(is_string_in(&dfa, "a"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 239 - assert_eq!(is_string_in(&dfa, "a"), true); [INFO] [stdout] 239 + assert!(is_string_in(&dfa, "a")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | assert_eq!(is_string_in(&dfa, "aa"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 240 - assert_eq!(is_string_in(&dfa, "aa"), true); [INFO] [stdout] 240 + assert!(is_string_in(&dfa, "aa")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | assert_eq!(is_string_in(&dfa, "aaaaaaa"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 241 - assert_eq!(is_string_in(&dfa, "aaaaaaa"), true); [INFO] [stdout] 241 + assert!(is_string_in(&dfa, "aaaaaaa")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:242:9 [INFO] [stdout] | [INFO] [stdout] 242 | assert_eq!(is_string_in(&dfa, "b"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 242 - assert_eq!(is_string_in(&dfa, "b"), false); [INFO] [stdout] 242 + assert!(!is_string_in(&dfa, "b")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | assert_eq!(is_string_in(&dfa, "ab"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 243 - assert_eq!(is_string_in(&dfa, "ab"), false); [INFO] [stdout] 243 + assert!(!is_string_in(&dfa, "ab")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 251 - assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] 251 + assert!(!is_string_in(&dfa, "")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | assert_eq!(is_string_in(&dfa, "a"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 252 - assert_eq!(is_string_in(&dfa, "a"), true); [INFO] [stdout] 252 + assert!(is_string_in(&dfa, "a")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | assert_eq!(is_string_in(&dfa, "aa"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 253 - assert_eq!(is_string_in(&dfa, "aa"), true); [INFO] [stdout] 253 + assert!(is_string_in(&dfa, "aa")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 254 | assert_eq!(is_string_in(&dfa, "aaaaaaa"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 254 - assert_eq!(is_string_in(&dfa, "aaaaaaa"), true); [INFO] [stdout] 254 + assert!(is_string_in(&dfa, "aaaaaaa")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | assert_eq!(is_string_in(&dfa, "b"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 255 - assert_eq!(is_string_in(&dfa, "b"), false); [INFO] [stdout] 255 + assert!(!is_string_in(&dfa, "b")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | assert_eq!(is_string_in(&dfa, "ab"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 256 - assert_eq!(is_string_in(&dfa, "ab"), false); [INFO] [stdout] 256 + assert!(!is_string_in(&dfa, "ab")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | assert_eq!(is_string_in(&dfa, "MyThing"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 276 - assert_eq!(is_string_in(&dfa, "MyThing"), true); [INFO] [stdout] 276 + assert!(is_string_in(&dfa, "MyThing")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 277 | assert_eq!(is_string_in(&dfa, "our_thing_12"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 277 - assert_eq!(is_string_in(&dfa, "our_thing_12"), true); [INFO] [stdout] 277 + assert!(is_string_in(&dfa, "our_thing_12")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | assert_eq!(is_string_in(&dfa, "i"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 278 - assert_eq!(is_string_in(&dfa, "i"), true); [INFO] [stdout] 278 + assert!(is_string_in(&dfa, "i")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | assert_eq!(is_string_in(&dfa, "a1jh2b45"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 279 - assert_eq!(is_string_in(&dfa, "a1jh2b45"), true); [INFO] [stdout] 279 + assert!(is_string_in(&dfa, "a1jh2b45")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 280 - assert_eq!(is_string_in(&dfa, ""), false); [INFO] [stdout] 280 + assert!(!is_string_in(&dfa, "")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | assert_eq!(is_string_in(&dfa, "mine()"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 281 - assert_eq!(is_string_in(&dfa, "mine()"), false); [INFO] [stdout] 281 + assert!(!is_string_in(&dfa, "mine()")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | assert_eq!(is_string_in(&dfa, "12"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 282 - assert_eq!(is_string_in(&dfa, "12"), false); [INFO] [stdout] 282 + assert!(!is_string_in(&dfa, "12")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/lex/regex.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | assert_eq!(is_string_in(&dfa, "1ours"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 283 - assert_eq!(is_string_in(&dfa, "1ours"), false); [INFO] [stdout] 283 + assert!(!is_string_in(&dfa, "1ours")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lex/lexical_analyzer.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | /// `LexemeType` whose [LexemeDescriptor] was listed first during the [LexicalAnalyzer]'s [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/lex/lexical_analyzer.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | /// construction (see the `lexeme_descriptors` argument of [LexicalAnalyzer::new]). [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lex/lexical_analyzer.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | / return if is_string_empty { [INFO] [stdout] 139 | | LexemeIdentificationResult::InputExhausted [INFO] [stdout] 140 | | } else if let Some(lexeme_type) = recent_lexeme_type { [INFO] [stdout] 141 | | LexemeIdentificationResult::Identified(lexeme_type) [INFO] [stdout] ... | [INFO] [stdout] 144 | | LexemeIdentificationResult::LexicalError [INFO] [stdout] 145 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 138 ~ if is_string_empty { [INFO] [stdout] 139 + LexemeIdentificationResult::InputExhausted [INFO] [stdout] 140 + } else if let Some(lexeme_type) = recent_lexeme_type { [INFO] [stdout] 141 + LexemeIdentificationResult::Identified(lexeme_type) [INFO] [stdout] 142 + } else { [INFO] [stdout] 143 + // We read some data, but couldn't identify available prefix [INFO] [stdout] 144 + LexemeIdentificationResult::LexicalError [INFO] [stdout] 145 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/build.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | rules_for_nonterminals: &'a HandleMap< [INFO] [stdout] | _________________________________^ [INFO] [stdout] 22 | | Nonterminal, [INFO] [stdout] 23 | | Vec>>, [INFO] [stdout] 24 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/build.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | &'a HandleMap>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/compile_to_parser.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | states_map: HandleMap< [INFO] [stdout] | _________________^ [INFO] [stdout] 45 | | KernelSetsDfaState, [INFO] [stdout] 46 | | Handle>, [INFO] [stdout] 47 | | >, [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/compile_to_parser.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | / if let Some(tar_dfa_state) = self.dfa.step( [INFO] [stdout] 135 | | src_dfa_state, [INFO] [stdout] 136 | | self.grammar_symbols.symbol_from_nonterminal(nonterminal), [INFO] [stdout] 137 | | ) { [INFO] [stdout] ... | [INFO] [stdout] 140 | | None [INFO] [stdout] 141 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 134 ~ self.dfa.step( [INFO] [stdout] 135 + src_dfa_state, [INFO] [stdout] 136 + self.grammar_symbols.symbol_from_nonterminal(nonterminal), [INFO] [stdout] 137 + ).map(|tar_dfa_state| self.get_parser_state(tar_dfa_state)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | &'a HandleMap>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | rules_for_nonterminals: &'a HandleMap< [INFO] [stdout] | _________________________________^ [INFO] [stdout] 29 | | Nonterminal, [INFO] [stdout] 30 | | Vec>>, [INFO] [stdout] 31 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | string: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 93 - string: &Vec>, [INFO] [stdout] 93 + string: &[GrammarSymbol], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:101:66 [INFO] [stdout] | [INFO] [stdout] 101 | firsts.extend(sub_firsts.iter().filter(|&&x| !x.is_none())); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `x.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `filter_map` with an identity function [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/firsts.rs:120:52 [INFO] [stdout] | [INFO] [stdout] 120 | self.firsts_for_string(string).into_iter().filter_map(|x| x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_map_identity [INFO] [stdout] = note: `#[warn(clippy::filter_map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | rules_for_nonterminals: &HandleMap< [INFO] [stdout] | _________________________________^ [INFO] [stdout] 27 | | Nonterminal, [INFO] [stdout] 28 | | Vec>>, [INFO] [stdout] 29 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | &'a HandleMap>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:71:33 [INFO] [stdout] | [INFO] [stdout] 71 | rules_for_nonterminals: &'a HandleMap< [INFO] [stdout] | _________________________________^ [INFO] [stdout] 72 | | Nonterminal, [INFO] [stdout] 73 | | Vec>>, [INFO] [stdout] 74 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:201:32 [INFO] [stdout] | [INFO] [stdout] 201 | .chain(vec![GrammarSymbol::Terminal(lr1_item.lookahead)].into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:510:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 201 - .chain(vec![GrammarSymbol::Terminal(lr1_item.lookahead)].into_iter()) [INFO] [stdout] 201 + .chain(vec![GrammarSymbol::Terminal(lr1_item.lookahead)]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/lookaheads.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | ) -> Option<( [INFO] [stdout] | __________^ [INFO] [stdout] 232 | | Handle>, [INFO] [stdout] 233 | | Handle>, [INFO] [stdout] 234 | | )> { [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/kernel_sets_dfa/mod.rs:90:23 [INFO] [stdout] | [INFO] [stdout] 90 | pub propagations: Vec<( [INFO] [stdout] | _______________________^ [INFO] [stdout] 91 | | Handle>, [INFO] [stdout] 92 | | Handle>, [INFO] [stdout] 93 | | )>, [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parsing/lr_parser/build/mod.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if !self.terminal_bindings_map.get(terminal).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.terminal_bindings_map.get(terminal).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/mod.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | ) -> ( [INFO] [stdout] | __________^ [INFO] [stdout] 74 | | Vec>, [INFO] [stdout] 75 | | Vec>, [INFO] [stdout] 76 | | Vec>, [INFO] [stdout] 77 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parsing/lr_parser/build/mod.rs:115:10 [INFO] [stdout] | [INFO] [stdout] 115 | ) -> HandleMap>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/parsing/lr_parser/execute.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | assert_eq!(execution.finalize(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 364 - assert_eq!(execution.finalize(), true); [INFO] [stdout] 364 + assert!(execution.finalize()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/parsing/lr_parser/execute.rs:394:9 [INFO] [stdout] | [INFO] [stdout] 394 | assert_eq!(execution.finalize(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 394 - assert_eq!(execution.finalize(), false); [INFO] [stdout] 394 + assert!(!execution.finalize()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | /// bindings. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `SyntaxDirectedTranslatorBuilder` [INFO] [stdout] --> src/parsing/translator/build.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | / pub fn new() -> Self { [INFO] [stdout] 87 | | Self { [INFO] [stdout] 88 | | grammar_symbol_dub_map: HashMap::new(), [INFO] [stdout] 89 | | nonterminals: HandledVec::new(), [INFO] [stdout] ... | [INFO] [stdout] 96 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 81 + impl Default for SyntaxDirectedTranslatorBuilder [INFO] [stdout] 82 + where [INFO] [stdout] 83 + LexemeType: AutomaticallyHandled, [INFO] [stdout] 84 + { [INFO] [stdout] 85 + fn default() -> Self { [INFO] [stdout] 86 + Self::new() [INFO] [stdout] 87 + } [INFO] [stdout] 88 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | /// that are bound to this binding. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | /// the right-hand side of the production. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 271 | /// satellite data of the right-hand side grammar symbols (and the translation context), and [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | /// its output will serve as the satellite data attached to the left-hand side nonterminal. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | /// translation context), and its output will serve as the satellite data attached to the [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/parsing/translator/build.rs:337:9 [INFO] [stdout] | [INFO] [stdout] 337 | /// left-hand side nonterminal. [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/readers/byte_array_reader.rs:49:45 [INFO] [stdout] | [INFO] [stdout] 49 | assert_eq!(reader.read_next(), Some('H' as u8)); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'H'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/readers/byte_array_reader.rs:50:45 [INFO] [stdout] | [INFO] [stdout] 50 | assert_eq!(reader.read_next(), Some('i' as u8)); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'i'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/readers/byte_array_reader.rs:51:45 [INFO] [stdout] | [INFO] [stdout] 51 | assert_eq!(reader.read_next(), Some(',' as u8)); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b','` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/readers/byte_array_reader.rs:79:45 [INFO] [stdout] | [INFO] [stdout] 79 | assert_eq!(reader.read_next(), Some('H' as u8)); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'H'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/automata/nfa.rs:173:34 [INFO] [stdout] | [INFO] [stdout] 173 | nfa.epsilon_closure(&vec![states[0]].iter().collect()), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: you can use an array directly: `[states[0]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/automata/nfa.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | vec![states[0], states[1]].iter().collect(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[states[0], states[1]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/automata/nfa.rs:182:33 [INFO] [stdout] | [INFO] [stdout] 182 | nfa.move_by_symbol(&vec![states[0]].iter().collect(), Symbol::Symbol0.handle()), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: you can use an array directly: `[states[0]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/automata/nfa.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | vec![states[1], states[2]].iter().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[states[1], states[2]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:61:31 [INFO] [stdout] | [INFO] [stdout] 61 | .epsilon_closure(&vec![self.initial_nfa_state].iter().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[self.initial_nfa_state]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/automata/nfa_to_dfa.rs:143:22 [INFO] [stdout] | [INFO] [stdout] 143 | let states = vec![nfa.new_state(), nfa.new_state(), nfa.new_state()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[nfa.new_state(), nfa.new_state(), nfa.new_state()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/parsing/lr_parser/mod.rs:112:26 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new_execution(&self) -> LrParserExecution { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new_execution(&self) -> LrParserExecution<'_, Terminal, Nonterminal, Tag> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/parsing/lr_parser/execute.rs:62:10 [INFO] [stdout] | [INFO] [stdout] 61 | machine: &'a LrParser, [INFO] [stdout] | -- the lifetime is named here [INFO] [stdout] 62 | ) -> LrParserExecution { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 62 | ) -> LrParserExecution<'a, Terminal, Nonterminal, Tag> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> tests/c_lang/parsing/ast.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | pub global_statements: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] = note: `#[warn(clippy::vec_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> tests/c_lang/parsing/ast.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | formal_args: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> tests/c_lang/parsing/ast.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | statements: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> tests/c_lang/parsing/node.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | FormalArgList(Vec>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> tests/c_lang/parsing/node.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | LocalStatementList(Vec>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | generate_take_node_fn!(take_abstract_program, AbstractProgram, ast::AbstractProgram); [INFO] [stdout] | ------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | generate_take_node_fn!(take_global_statement, GlobalStatement, ast::GlobalStatement); [INFO] [stdout] | ------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | generate_take_node_fn!(take_dtype, Dtype, ast::Dtype); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | generate_take_node_fn!(take_identifier, Identifier, String); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> tests/c_lang/parsing/node.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | Vec> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | / generate_take_node_fn!( [INFO] [stdout] 52 | | take_formal_arg_list, [INFO] [stdout] 53 | | FormalArgList, [INFO] [stdout] 54 | | Vec> [INFO] [stdout] 55 | | ); [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | generate_take_node_fn!(take_local_statement, LocalStatement, ast::LocalStatement); [INFO] [stdout] | --------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | generate_take_node_fn!(take_formal_arg, FormalArg, ast::FormalArg); [INFO] [stdout] | ------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> tests/c_lang/parsing/node.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | Vec> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | / generate_take_node_fn!( [INFO] [stdout] 59 | | take_local_statement_list, [INFO] [stdout] 60 | | LocalStatementList, [INFO] [stdout] 61 | | Vec> [INFO] [stdout] 62 | | ); [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | generate_take_node_fn!(take_expression, Expression, ast::Expression); [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> tests/c_lang/parsing/node.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | satellites: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | generate_take_node_fn!(take_lvalue, LValue, ast::LValue); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: this warning originates in the macro `generate_take_node_fn` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 22 - satellites: &mut Vec>, [INFO] [stdout] 22 + satellites: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.71s [INFO] running `Command { std: "docker" "inspect" "95b1282f2345f08037e16f7b9a193b8f5cbe6e55f28a2520a1c62a3c35598b95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95b1282f2345f08037e16f7b9a193b8f5cbe6e55f28a2520a1c62a3c35598b95", kill_on_drop: false }` [INFO] [stdout] 95b1282f2345f08037e16f7b9a193b8f5cbe6e55f28a2520a1c62a3c35598b95