[INFO] updating cached repository eno-lang/enors [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/eno-lang/enors [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/eno-lang/enors" "work/ex/clippy-test-run/sources/stable/gh/eno-lang/enors"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/eno-lang/enors'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/eno-lang/enors" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/eno-lang/enors"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/eno-lang/enors'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 387b1df2bc668e76321e9014dcc772e32675bcaf [INFO] sha for GitHub repo eno-lang/enors: 387b1df2bc668e76321e9014dcc772e32675bcaf [INFO] validating manifest of eno-lang/enors on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of eno-lang/enors on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing eno-lang/enors [INFO] finished frobbing eno-lang/enors [INFO] frobbed toml for eno-lang/enors written to work/ex/clippy-test-run/sources/stable/gh/eno-lang/enors/Cargo.toml [INFO] started frobbing eno-lang/enors [INFO] finished frobbing eno-lang/enors [INFO] frobbed toml for eno-lang/enors written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/eno-lang/enors/Cargo.toml [INFO] crate eno-lang/enors has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting eno-lang/enors against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/eno-lang/enors:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 8a3c1870f6813fd0bdb9f6ce4a708490c0dac9e0fba03e4d2762f929d69ad5c2 [INFO] running `"docker" "start" "-a" "8a3c1870f6813fd0bdb9f6ce4a708490c0dac9e0fba03e4d2762f929d69ad5c2"` [INFO] [stderr] Checking enors v0.0.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | input: input, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `input` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | reporter: reporter, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `reporter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | source_label: source_label [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `source_label` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokenizer.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | context: context, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `context` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/tokenizer.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/tokenizer.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/elements/empty.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | instruction: instruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/elements/field.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | instruction: instruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/elements/fieldset.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | instruction: instruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/elements/list.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | instruction: instruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | input: input, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `input` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | reporter: reporter, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `reporter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | source_label: source_label [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `source_label` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tokenizer.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | context: context, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `context` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/tokenizer.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/tokenizer.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/elements/empty.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | instruction: instruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/elements/field.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | instruction: instruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/elements/fieldset.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | instruction: instruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/elements/list.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | instruction: instruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/reporter.rs:26:15 [INFO] [stderr] | [INFO] [stderr] 26 | if(emphasize) { [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::error::Error` [INFO] [stderr] --> src/lib.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/reporter.rs:26:15 [INFO] [stderr] | [INFO] [stderr] 26 | if(emphasize) { [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::error::Error` [INFO] [stderr] --> src/lib.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/errors/validation.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn missing_field(context: &Context, instruction: &SectionInstruction) -> Error { [INFO] [stderr] | ^^^^^^^ help: consider using `_context` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `document` [INFO] [stderr] --> src/lib.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let document = Section::document(&context); [INFO] [stderr] | ^^^^^^^^ help: consider using `_document` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `byte_offset` [INFO] [stderr] --> src/tokenizer.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | while let Some((byte_offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_byte_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `passable` [INFO] [stderr] --> src/tokenizer.rs:50:29 [INFO] [stderr] | [INFO] [stderr] 50 | fn list_item(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^ help: consider using `_passable` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `byte_offset` [INFO] [stderr] --> src/tokenizer.rs:59:25 [INFO] [stderr] | [INFO] [stderr] 59 | while let Some((byte_offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_byte_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `byte_offset` [INFO] [stderr] --> src/tokenizer.rs:69:25 [INFO] [stderr] | [INFO] [stderr] 69 | while let Some((byte_offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_byte_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/tokenizer.rs:81:22 [INFO] [stderr] | [INFO] [stderr] 81 | if let Some((offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^ help: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `passable` [INFO] [stderr] --> src/tokenizer.rs:89:35 [INFO] [stderr] | [INFO] [stderr] 89 | fn multiline_field(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^ help: consider using `_passable` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/tokenizer.rs:107:14 [INFO] [stderr] | [INFO] [stderr] 107 | let (offset, char) = passable.iterator.next().unwrap(); [INFO] [stderr] | ^^^^^^ help: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `byte_offset` [INFO] [stderr] --> src/tokenizer.rs:118:25 [INFO] [stderr] | [INFO] [stderr] 118 | while let Some((byte_offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_byte_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `elements` [INFO] [stderr] --> src/elements/section.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | if let Some(elements) = elements_option { [INFO] [stderr] | ^^^^^^^^ help: consider using `_elements` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `in_omission` [INFO] [stderr] --> src/reporter.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | let mut in_omission = false; [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_in_omission` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mark` [INFO] [stderr] --> src/reporter.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let mark = marked.iter().any(|marked_iterated| instruction as *const Instruction == *marked_iterated as *const Instruction); [INFO] [stderr] | ^^^^ help: consider using `_mark` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/reporter.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | let mut in_omission = false; [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `list_item` [INFO] [stderr] --> src/tokenizer.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | fn list_item(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `name` [INFO] [stderr] --> src/tokenizer.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn name(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `list_item_or_multiline_field` [INFO] [stderr] --> src/tokenizer.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | fn list_item_or_multiline_field(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multiline_field` [INFO] [stderr] --> src/tokenizer.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | fn multiline_field(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pass_me_once` [INFO] [stderr] --> src/tokenizer.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | fn pass_me_once(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pass_me_twice` [INFO] [stderr] --> src/tokenizer.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | fn pass_me_twice(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/empty.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/field.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/fieldset.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/list.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `elements` [INFO] [stderr] --> src/elements/section.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | elements: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/section.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/tokenizer.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / match self.token(passable) { [INFO] [stderr] 31 | | Some((token, range)) => { [INFO] [stderr] 32 | | instruction.comment = Some(String::from(token)); [INFO] [stderr] 33 | | instruction.comment_range = Some(range); [INFO] [stderr] 34 | | }, [INFO] [stderr] 35 | | None => () [INFO] [stderr] 36 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 30 | if let Some((token, range)) = self.token(passable) { [INFO] [stderr] 31 | instruction.comment = Some(String::from(token)); [INFO] [stderr] 32 | instruction.comment_range = Some(range); [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/tokenizer.rs:124:17 [INFO] [stderr] | [INFO] [stderr] 124 | / match char { [INFO] [stderr] 125 | | '>' => self.comment(&mut passable), [INFO] [stderr] 126 | | _ => () [INFO] [stderr] 127 | | // '-' => self.list_item_or_multiline_field(&mut passable), [INFO] [stderr] ... | [INFO] [stderr] 131 | | // _ => self.pass_me_twice(&mut passable) [INFO] [stderr] 132 | | } [INFO] [stderr] | |_________________^ help: try this: `if let '>' = char { self.comment(&mut passable) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/errors/validation.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn missing_field(context: &Context, instruction: &SectionInstruction) -> Error { [INFO] [stderr] | ^^^^^^^ help: consider using `_context` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `document` [INFO] [stderr] --> src/lib.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let document = Section::document(&context); [INFO] [stderr] | ^^^^^^^^ help: consider using `_document` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `byte_offset` [INFO] [stderr] --> src/tokenizer.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | while let Some((byte_offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_byte_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `passable` [INFO] [stderr] --> src/tokenizer.rs:50:29 [INFO] [stderr] | [INFO] [stderr] 50 | fn list_item(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^ help: consider using `_passable` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `byte_offset` [INFO] [stderr] --> src/tokenizer.rs:59:25 [INFO] [stderr] | [INFO] [stderr] 59 | while let Some((byte_offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_byte_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `byte_offset` [INFO] [stderr] --> src/tokenizer.rs:69:25 [INFO] [stderr] | [INFO] [stderr] 69 | while let Some((byte_offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_byte_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/tokenizer.rs:81:22 [INFO] [stderr] | [INFO] [stderr] 81 | if let Some((offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^ help: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `passable` [INFO] [stderr] --> src/tokenizer.rs:89:35 [INFO] [stderr] | [INFO] [stderr] 89 | fn multiline_field(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^ help: consider using `_passable` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/tokenizer.rs:107:14 [INFO] [stderr] | [INFO] [stderr] 107 | let (offset, char) = passable.iterator.next().unwrap(); [INFO] [stderr] | ^^^^^^ help: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `byte_offset` [INFO] [stderr] --> src/tokenizer.rs:118:25 [INFO] [stderr] | [INFO] [stderr] 118 | while let Some((byte_offset, char)) = passable.iterator.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_byte_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `elements` [INFO] [stderr] --> src/elements/section.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | if let Some(elements) = elements_option { [INFO] [stderr] | ^^^^^^^^ help: consider using `_elements` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `in_omission` [INFO] [stderr] --> src/reporter.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | let mut in_omission = false; [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_in_omission` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mark` [INFO] [stderr] --> src/reporter.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let mark = marked.iter().any(|marked_iterated| instruction as *const Instruction == *marked_iterated as *const Instruction); [INFO] [stderr] | ^^^^ help: consider using `_mark` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/reporter.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | let mut in_omission = false; [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `list_item` [INFO] [stderr] --> src/tokenizer.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | fn list_item(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `name` [INFO] [stderr] --> src/tokenizer.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn name(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `list_item_or_multiline_field` [INFO] [stderr] --> src/tokenizer.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | fn list_item_or_multiline_field(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `multiline_field` [INFO] [stderr] --> src/tokenizer.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | fn multiline_field(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pass_me_once` [INFO] [stderr] --> src/tokenizer.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | fn pass_me_once(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pass_me_twice` [INFO] [stderr] --> src/tokenizer.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | fn pass_me_twice(&mut self, passable: &mut PassableIterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/empty.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/field.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/fieldset.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/list.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `elements` [INFO] [stderr] --> src/elements/section.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | elements: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `touched` [INFO] [stderr] --> src/elements/section.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | touched: bool [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/tokenizer.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / match self.token(passable) { [INFO] [stderr] 31 | | Some((token, range)) => { [INFO] [stderr] 32 | | instruction.comment = Some(String::from(token)); [INFO] [stderr] 33 | | instruction.comment_range = Some(range); [INFO] [stderr] 34 | | }, [INFO] [stderr] 35 | | None => () [INFO] [stderr] 36 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 30 | if let Some((token, range)) = self.token(passable) { [INFO] [stderr] 31 | instruction.comment = Some(String::from(token)); [INFO] [stderr] 32 | instruction.comment_range = Some(range); [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/tokenizer.rs:124:17 [INFO] [stderr] | [INFO] [stderr] 124 | / match char { [INFO] [stderr] 125 | | '>' => self.comment(&mut passable), [INFO] [stderr] 126 | | _ => () [INFO] [stderr] 127 | | // '-' => self.list_item_or_multiline_field(&mut passable), [INFO] [stderr] ... | [INFO] [stderr] 131 | | // _ => self.pass_me_twice(&mut passable) [INFO] [stderr] 132 | | } [INFO] [stderr] | |_________________^ help: try this: `if let '>' = char { self.comment(&mut passable) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: unused variable: `document` [INFO] [stderr] --> tests/enors.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | let document = enors::parse(&input, false); // .unwrap(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_document` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let document =` [INFO] [stderr] --> tests/enors.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | let document = enors::parse(&input, false); // .unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> tests/sample.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> tests/sample.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _document =` [INFO] [stderr] --> tests/sample.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | let _document = enors::parse(&input, false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.71s [INFO] running `"docker" "inspect" "8a3c1870f6813fd0bdb9f6ce4a708490c0dac9e0fba03e4d2762f929d69ad5c2"` [INFO] running `"docker" "rm" "-f" "8a3c1870f6813fd0bdb9f6ce4a708490c0dac9e0fba03e4d2762f929d69ad5c2"` [INFO] [stdout] 8a3c1870f6813fd0bdb9f6ce4a708490c0dac9e0fba03e4d2762f929d69ad5c2