[INFO] updating cached repository 38/squery [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/38/squery [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/38/squery" "work/ex/clippy-test-run/sources/stable/gh/38/squery"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/38/squery'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/38/squery" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/38/squery"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/38/squery'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7e0b896ec3e90fa7311c5492f7cfd0710e49b1ac [INFO] sha for GitHub repo 38/squery: 7e0b896ec3e90fa7311c5492f7cfd0710e49b1ac [INFO] validating manifest of 38/squery 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 38/squery 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 38/squery [INFO] finished frobbing 38/squery [INFO] frobbed toml for 38/squery written to work/ex/clippy-test-run/sources/stable/gh/38/squery/Cargo.toml [INFO] started frobbing 38/squery [INFO] finished frobbing 38/squery [INFO] frobbed toml for 38/squery written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/38/squery/Cargo.toml [INFO] crate 38/squery 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 38/squery against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/38/squery:/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] 5186c0796206a46b308981075a2fba8ab966b51ea7f70960387547f0344a9fc4 [INFO] running `"docker" "start" "-a" "5186c0796206a46b308981075a2fba8ab966b51ea7f70960387547f0344a9fc4"` [INFO] [stderr] Checking regex v1.0.2 [INFO] [stderr] Checking squery v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/reader/linetext.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | fp : fp, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fp` [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/reader/linetext.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | parser : parser, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `parser` [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/reader/linetext.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | fp : fp, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `fp` [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/reader/linetext.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | parser : parser, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `parser` [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/reader/linetext.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | fp : fp, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `fp` [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/reader/linetext.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | parser : parser, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `parser` [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/writer/tablewriter.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | 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/writer/tablewriter.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | 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/table/row.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | schema: schema, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/table/table.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | schema : schema, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `schema` [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/table/table.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | data_source : data_source, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_source` [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/reader/linetext.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | fp : fp, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fp` [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/reader/linetext.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | parser : parser, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `parser` [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/reader/linetext.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | fp : fp, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `fp` [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/reader/linetext.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | parser : parser, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `parser` [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/reader/linetext.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | fp : fp, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `fp` [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/reader/linetext.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | parser : parser, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `parser` [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/writer/tablewriter.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | 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/writer/tablewriter.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | 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/table/row.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | schema: schema, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/table/table.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | schema : schema, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `schema` [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/table/table.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | data_source : data_source, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_source` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | / return LineTextReader { [INFO] [stderr] 91 | | fp : fp, [INFO] [stderr] 92 | | parser : parser, [INFO] [stderr] 93 | | schema : SchemaStatus::Determined(TableSchema { [INFO] [stderr] ... | [INFO] [stderr] 105 | | }) [INFO] [stderr] 106 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 90 | LineTextReader { [INFO] [stderr] 91 | fp : fp, [INFO] [stderr] 92 | parser : parser, [INFO] [stderr] 93 | schema : SchemaStatus::Determined(TableSchema { [INFO] [stderr] 94 | sort_keys : Vec::new(), [INFO] [stderr] 95 | sorted : false, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | return Some(row); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(row)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/svparser.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/svparser.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | return Some(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(ret)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/exec.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/writer/tablewriter.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/writer/tablewriter.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / return TableOutputer { [INFO] [stderr] 151 | | result: Some(TableResult { [INFO] [stderr] 152 | | header : Vec::new(), [INFO] [stderr] 153 | | body : Vec::new() [INFO] [stderr] 154 | | }) [INFO] [stderr] 155 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 150 | TableOutputer { [INFO] [stderr] 151 | result: Some(TableResult { [INFO] [stderr] 152 | header : Vec::new(), [INFO] [stderr] 153 | body : Vec::new() [INFO] [stderr] 154 | }) [INFO] [stderr] 155 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/writer/tablewriter.rs:180:9 [INFO] [stderr] | [INFO] [stderr] 180 | return OutputResult::Success(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `OutputResult::Success()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | return &self.types[idx].1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.types[idx].1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | return self.types.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.types.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return self.types[idx].1 == schema; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.types[idx].1 == schema` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | / return match parse_sort_keys(next, &mut ret) [INFO] [stderr] 247 | | { [INFO] [stderr] 248 | | Some("") => Some(ret), [INFO] [stderr] 249 | | _ => None [INFO] [stderr] 250 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 246 | match parse_sort_keys(next, &mut ret) [INFO] [stderr] 247 | { [INFO] [stderr] 248 | Some("") => Some(ret), [INFO] [stderr] 249 | _ => None [INFO] [stderr] 250 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | return parse_token(s, "."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parse_token(s, ".")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | return (ret, to_parse); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(ret, to_parse)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:213:13 [INFO] [stderr] | [INFO] [stderr] 213 | return Some((ret, to_parse)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((ret, to_parse))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | return Some(parse_ws(s)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(parse_ws(s))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:269:9 [INFO] [stderr] | [INFO] [stderr] 269 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/row.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | return schema == self.schema; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `schema == self.schema` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/row.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | return &self.column_data[idx]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.column_data[idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/row.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/row.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/primitive.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | return PrimitiveData::Nothing(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `PrimitiveData::Nothing()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/table/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod table; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | / return Some(unsafe{ [INFO] [stderr] 74 | | transmute::<&'a Row<'schema>, Self::Item>(&self.rows[self.cursor - 1]) [INFO] [stderr] 75 | | }); [INFO] [stderr] | |_______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 73 | Some(unsafe{ [INFO] [stderr] 74 | transmute::<&'a Row<'schema>, Self::Item>(&self.rows[self.cursor - 1]) [INFO] [stderr] 75 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | return self.table.rows.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table.rows.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | return Some(self.table.rows[row].value_at(col)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(self.table.rows[row].value_at(col))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / return Table { [INFO] [stderr] 151 | | schema : schema, [INFO] [stderr] 152 | | rows : Vec::new(), [INFO] [stderr] 153 | | data_source : data_source, [INFO] [stderr] 154 | | cursor : 0 [INFO] [stderr] 155 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 150 | Table { [INFO] [stderr] 151 | schema : schema, [INFO] [stderr] 152 | rows : Vec::new(), [INFO] [stderr] 153 | data_source : data_source, [INFO] [stderr] 154 | cursor : 0 [INFO] [stderr] 155 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | return self.schema.num_columns(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.schema.num_columns()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:186:17 [INFO] [stderr] | [INFO] [stderr] 186 | return OutputResult::Success(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `OutputResult::Success()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | / return TableRandomAccessor { [INFO] [stderr] 225 | | table : self [INFO] [stderr] 226 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 224 | TableRandomAccessor { [INFO] [stderr] 225 | table : self [INFO] [stderr] 226 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/schema/loader.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / return SchemaManager { [INFO] [stderr] 44 | | schema_path_list: Vec::new() [INFO] [stderr] 45 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 43 | SchemaManager { [INFO] [stderr] 44 | schema_path_list: Vec::new() [INFO] [stderr] 45 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/schema/loader.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | return self; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/schema/loader.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | / return LineTextReader { [INFO] [stderr] 91 | | fp : fp, [INFO] [stderr] 92 | | parser : parser, [INFO] [stderr] 93 | | schema : SchemaStatus::Determined(TableSchema { [INFO] [stderr] ... | [INFO] [stderr] 105 | | }) [INFO] [stderr] 106 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 90 | LineTextReader { [INFO] [stderr] 91 | fp : fp, [INFO] [stderr] 92 | parser : parser, [INFO] [stderr] 93 | schema : SchemaStatus::Determined(TableSchema { [INFO] [stderr] 94 | sort_keys : Vec::new(), [INFO] [stderr] 95 | sorted : false, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | return Some(row); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(row)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/linetext.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/svparser.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/svparser.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | return Some(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(ret)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reader/exec.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/writer/tablewriter.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/writer/tablewriter.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / return TableOutputer { [INFO] [stderr] 151 | | result: Some(TableResult { [INFO] [stderr] 152 | | header : Vec::new(), [INFO] [stderr] 153 | | body : Vec::new() [INFO] [stderr] 154 | | }) [INFO] [stderr] 155 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 150 | TableOutputer { [INFO] [stderr] 151 | result: Some(TableResult { [INFO] [stderr] 152 | header : Vec::new(), [INFO] [stderr] 153 | body : Vec::new() [INFO] [stderr] 154 | }) [INFO] [stderr] 155 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/writer/tablewriter.rs:180:9 [INFO] [stderr] | [INFO] [stderr] 180 | return OutputResult::Success(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `OutputResult::Success()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | return &self.types[idx].1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.types[idx].1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | return self.types.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.types.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return self.types[idx].1 == schema; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.types[idx].1 == schema` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | / return match parse_sort_keys(next, &mut ret) [INFO] [stderr] 247 | | { [INFO] [stderr] 248 | | Some("") => Some(ret), [INFO] [stderr] 249 | | _ => None [INFO] [stderr] 250 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 246 | match parse_sort_keys(next, &mut ret) [INFO] [stderr] 247 | { [INFO] [stderr] 248 | Some("") => Some(ret), [INFO] [stderr] 249 | _ => None [INFO] [stderr] 250 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | return parse_token(s, "."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parse_token(s, ".")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | return (ret, to_parse); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(ret, to_parse)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:213:13 [INFO] [stderr] | [INFO] [stderr] 213 | return Some((ret, to_parse)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((ret, to_parse))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | return Some(parse_ws(s)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(parse_ws(s))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/schema.rs:269:9 [INFO] [stderr] | [INFO] [stderr] 269 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/row.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | return schema == self.schema; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `schema == self.schema` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/row.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | return &self.column_data[idx]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.column_data[idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/row.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/row.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/primitive.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | return PrimitiveData::Nothing(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `PrimitiveData::Nothing()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/table/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod table; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | / return Some(unsafe{ [INFO] [stderr] 74 | | transmute::<&'a Row<'schema>, Self::Item>(&self.rows[self.cursor - 1]) [INFO] [stderr] 75 | | }); [INFO] [stderr] | |_______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 73 | Some(unsafe{ [INFO] [stderr] 74 | transmute::<&'a Row<'schema>, Self::Item>(&self.rows[self.cursor - 1]) [INFO] [stderr] 75 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | return self.table.rows.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table.rows.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | return Some(self.table.rows[row].value_at(col)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(self.table.rows[row].value_at(col))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / return Table { [INFO] [stderr] 151 | | schema : schema, [INFO] [stderr] 152 | | rows : Vec::new(), [INFO] [stderr] 153 | | data_source : data_source, [INFO] [stderr] 154 | | cursor : 0 [INFO] [stderr] 155 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 150 | Table { [INFO] [stderr] 151 | schema : schema, [INFO] [stderr] 152 | rows : Vec::new(), [INFO] [stderr] 153 | data_source : data_source, [INFO] [stderr] 154 | cursor : 0 [INFO] [stderr] 155 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | return self.schema.num_columns(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.schema.num_columns()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:186:17 [INFO] [stderr] | [INFO] [stderr] 186 | return OutputResult::Success(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `OutputResult::Success()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table/table.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | / return TableRandomAccessor { [INFO] [stderr] 225 | | table : self [INFO] [stderr] 226 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 224 | TableRandomAccessor { [INFO] [stderr] 225 | table : self [INFO] [stderr] 226 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/schema/loader.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / return SchemaManager { [INFO] [stderr] 44 | | schema_path_list: Vec::new() [INFO] [stderr] 45 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 43 | SchemaManager { [INFO] [stderr] 44 | schema_path_list: Vec::new() [INFO] [stderr] 45 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/schema/loader.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | return self; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/schema/loader.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/reader/linetext.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / match self [INFO] [stderr] 33 | | { [INFO] [stderr] 34 | | &SchemaStatus::Undeterminend => true, [INFO] [stderr] 35 | | _ => false [INFO] [stderr] 36 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 32 | match *self [INFO] [stderr] 33 | { [INFO] [stderr] 34 | SchemaStatus::Undeterminend => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/reader/linetext.rs:47:49 [INFO] [stderr] | [INFO] [stderr] 47 | fn parse_next_line<'text, 'schema>(&self, s:&'text String, schema:&'schema TableSchema) -> Option>; [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/reader/linetext.rs:71:16 [INFO] [stderr] | [INFO] [stderr] 71 | if let Ok(_) = self.fp.read_line(&mut schema_line) [INFO] [stderr] | _________- ^^^^^ [INFO] [stderr] 72 | | { [INFO] [stderr] 73 | | if let Some(schema) = TableSchema::from_spec(&schema_line) [INFO] [stderr] 74 | | { [INFO] [stderr] ... | [INFO] [stderr] 77 | | } [INFO] [stderr] 78 | | } [INFO] [stderr] | |_________- help: try this: `if self.fp.read_line(&mut schema_line).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/reader/linetext.rs:131:33 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn create_parser(schema:&String, fp: BufReader, parser:P) -> Option> [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/reader/linetext.rs:201:103 [INFO] [stderr] | [INFO] [stderr] 201 | &PrimitiveSchema::Str => try_parse::(&mut row, field_idx, &| | {Ok(field_str.to_string())}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/reader/linetext.rs:198:25 [INFO] [stderr] | [INFO] [stderr] 198 | if !match schema.field_type(field_idx){ [INFO] [stderr] | _________________________^ [INFO] [stderr] 199 | | &PrimitiveSchema::Int => try_parse(&mut row, field_idx, &| | {field_str.parse::()}), [INFO] [stderr] 200 | | &PrimitiveSchema::Float => try_parse(&mut row, field_idx, &| | {field_str.parse::()}), [INFO] [stderr] 201 | | &PrimitiveSchema::Str => try_parse::(&mut row, field_idx, &| | {Ok(field_str.to_string())}) [INFO] [stderr] 202 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 198 | if !match *schema.field_type(field_idx){ [INFO] [stderr] 199 | PrimitiveSchema::Int => try_parse(&mut row, field_idx, &| | {field_str.parse::()}), [INFO] [stderr] 200 | PrimitiveSchema::Float => try_parse(&mut row, field_idx, &| | {field_str.parse::()}), [INFO] [stderr] 201 | PrimitiveSchema::Str => try_parse::(&mut row, field_idx, &| | {Ok(field_str.to_string())}) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/reader/svparser.rs:18:25 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn create(delim:&String) -> SepValParser [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/reader/svparser.rs:41:49 [INFO] [stderr] | [INFO] [stderr] 41 | while field_idx < schema.types.len() && to_parse.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_parse.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/reader/svparser.rs:43:19 [INFO] [stderr] | [INFO] [stderr] 43 | while to_parse.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_parse.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/reader/svparser.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | if rem.len() == 0 || self.field_sep.contains(&rem.chars().next().unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/reader/exec.rs:33:86 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn create<'x, 'y, 'z>(program:&'x str, args:&'y[&'y str], skip:usize, schema:&'z String, parser:TParser) -> Option> [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `idx` is used to index `ret` [INFO] [stderr] --> src/writer/tablewriter.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | for idx in 0..self.header.len() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 26 | for (idx, ) in ret.iter_mut().enumerate().take(self.header.len()) [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/writer/tablewriter.rs:36:33 [INFO] [stderr] | [INFO] [stderr] 36 | for (idx, val) in r.into_iter().enumerate() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer/tablewriter.rs:65:31 [INFO] [stderr] | [INFO] [stderr] 65 | fn print_hl(&self, layout:&Vec) [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `layout`. [INFO] [stderr] --> src/writer/tablewriter.rs:68:18 [INFO] [stderr] | [INFO] [stderr] 68 | for i in 0..layout.len() [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 68 | for in &layout [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer/tablewriter.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | fn print_row(&self, layout:&Vec, data:&Row) [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer/tablewriter.rs:79:50 [INFO] [stderr] | [INFO] [stderr] 79 | fn print_row(&self, layout:&Vec, data:&Row) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/writer/tablewriter.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | / match &mut self.result [INFO] [stderr] 165 | | { [INFO] [stderr] 166 | | &mut None => OutputResult::Fail(), [INFO] [stderr] 167 | | &mut Some(ref mut result) => { [INFO] [stderr] ... | [INFO] [stderr] 174 | | } [INFO] [stderr] 175 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 164 | match *(&mut self.result) [INFO] [stderr] 165 | { [INFO] [stderr] 166 | None => OutputResult::Fail(), [INFO] [stderr] 167 | Some(ref mut result) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/writer/tablewriter.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | / match &mut self.result [INFO] [stderr] 186 | | { [INFO] [stderr] 187 | | &mut None => OutputResult::Fail(), [INFO] [stderr] 188 | | &mut Some(ref mut result) => { [INFO] [stderr] ... | [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 185 | match *(&mut self.result) [INFO] [stderr] 186 | { [INFO] [stderr] 187 | None => OutputResult::Fail(), [INFO] [stderr] 188 | Some(ref mut result) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/table/schema.rs:76:27 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn from_spec(spec:&String) -> Option [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/table/schema.rs:81:19 [INFO] [stderr] | [INFO] [stderr] 81 | while ret.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!ret.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/table/schema.rs:117:23 [INFO] [stderr] | [INFO] [stderr] 117 | while to_parse.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_parse.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/table/schema.rs:184:52 [INFO] [stderr] | [INFO] [stderr] 184 | fn parse_key_list<'a,'b>(s:&'a str, fields:&'b Vec<(String, PrimitiveSchema)>) -> Option<(Vec, &'a str)> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, PrimitiveSchema)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/primitive.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / match self { [INFO] [stderr] 31 | | &PrimitiveData::Nothing() => "".to_string(), [INFO] [stderr] 32 | | &PrimitiveData::Int(what) => format!("{}", what), [INFO] [stderr] 33 | | &PrimitiveData::Float(what) => format!("{}", what), [INFO] [stderr] 34 | | &PrimitiveData::Str(ref what) => what.clone() [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 30 | match *self { [INFO] [stderr] 31 | PrimitiveData::Nothing() => "".to_string(), [INFO] [stderr] 32 | PrimitiveData::Int(what) => format!("{}", what), [INFO] [stderr] 33 | PrimitiveData::Float(what) => format!("{}", what), [INFO] [stderr] 34 | PrimitiveData::Str(ref what) => what.clone() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/output.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / match self { [INFO] [stderr] 30 | | &mut OutputResult::Success() => how(table, output), [INFO] [stderr] 31 | | &mut OutputResult::Fail() => OutputResult::Fail() [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 29 | match *self { [INFO] [stderr] 30 | OutputResult::Success() => how(table, output), [INFO] [stderr] 31 | OutputResult::Fail() => OutputResult::Fail() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/table.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / match self [INFO] [stderr] 32 | | { [INFO] [stderr] 33 | | &TableDataSource::Empty => true, [INFO] [stderr] 34 | | _ => false [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 31 | match *self [INFO] [stderr] 32 | { [INFO] [stderr] 33 | TableDataSource::Empty => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/table.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | / if let &mut TableDataSource::Parser(ref mut parser, ref _keep_used) = &mut self.data_source [INFO] [stderr] 80 | | { [INFO] [stderr] 81 | | if let Some(new_row) = parser.parse_next_row(self.schema) [INFO] [stderr] 82 | | { [INFO] [stderr] ... | [INFO] [stderr] 95 | | return None; [INFO] [stderr] 96 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 79 | if let TableDataSource::Parser(ref mut parser, ref _keep_used) = *(&mut self.data_source) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/table/table.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | if 0 == self.rows.len() || *_keep_used [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/table/table.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | / pub fn get_cell<'a>(&'a self, row:usize, col:usize) -> Option<&'a PrimitiveData> [INFO] [stderr] 121 | | { [INFO] [stderr] 122 | | return Some(self.table.rows[row].value_at(col)); [INFO] [stderr] 123 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/table.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | / if let &mut TableDataSource::Parser(ref mut parser, ref _keep_used) = &mut self.data_source [INFO] [stderr] 204 | | { [INFO] [stderr] 205 | | loop [INFO] [stderr] 206 | | { [INFO] [stderr] ... | [INFO] [stderr] 216 | | [INFO] [stderr] 217 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 203 | if let TableDataSource::Parser(ref mut parser, ref _keep_used) = *(&mut self.data_source) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/table/table.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | / loop [INFO] [stderr] 206 | | { [INFO] [stderr] 207 | | if let Some(row) = parser.parse_next_row(self.schema) [INFO] [stderr] 208 | | { [INFO] [stderr] ... | [INFO] [stderr] 214 | | } [INFO] [stderr] 215 | | } [INFO] [stderr] | |_________________^ help: try: `while let Some(row) = parser.parse_next_row(self.schema) { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/schema/loader.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | for ref path in &self.schema_path_list [INFO] [stderr] | ^^^^^^^^ ---------------------- help: try: `let path = &&self.schema_path_list;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/schema/loader.rs:66:28 [INFO] [stderr] | [INFO] [stderr] 66 | if let Ok(_) = file.read_to_string(&mut content) [INFO] [stderr] | _____________________- ^^^^^ [INFO] [stderr] 67 | | { [INFO] [stderr] 68 | | /* TODO: parse the rule file */ [INFO] [stderr] 69 | | } [INFO] [stderr] | |_____________________- help: try this: `if file.read_to_string(&mut content).is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/reader/linetext.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / match self [INFO] [stderr] 33 | | { [INFO] [stderr] 34 | | &SchemaStatus::Undeterminend => true, [INFO] [stderr] 35 | | _ => false [INFO] [stderr] 36 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 32 | match *self [INFO] [stderr] 33 | { [INFO] [stderr] 34 | SchemaStatus::Undeterminend => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/reader/linetext.rs:47:49 [INFO] [stderr] | [INFO] [stderr] 47 | fn parse_next_line<'text, 'schema>(&self, s:&'text String, schema:&'schema TableSchema) -> Option>; [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/reader/linetext.rs:71:16 [INFO] [stderr] | [INFO] [stderr] 71 | if let Ok(_) = self.fp.read_line(&mut schema_line) [INFO] [stderr] | _________- ^^^^^ [INFO] [stderr] 72 | | { [INFO] [stderr] 73 | | if let Some(schema) = TableSchema::from_spec(&schema_line) [INFO] [stderr] 74 | | { [INFO] [stderr] ... | [INFO] [stderr] 77 | | } [INFO] [stderr] 78 | | } [INFO] [stderr] | |_________- help: try this: `if self.fp.read_line(&mut schema_line).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/reader/linetext.rs:131:33 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn create_parser(schema:&String, fp: BufReader, parser:P) -> Option> [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/reader/linetext.rs:201:103 [INFO] [stderr] | [INFO] [stderr] 201 | &PrimitiveSchema::Str => try_parse::(&mut row, field_idx, &| | {Ok(field_str.to_string())}) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/reader/linetext.rs:198:25 [INFO] [stderr] | [INFO] [stderr] 198 | if !match schema.field_type(field_idx){ [INFO] [stderr] | _________________________^ [INFO] [stderr] 199 | | &PrimitiveSchema::Int => try_parse(&mut row, field_idx, &| | {field_str.parse::()}), [INFO] [stderr] 200 | | &PrimitiveSchema::Float => try_parse(&mut row, field_idx, &| | {field_str.parse::()}), [INFO] [stderr] 201 | | &PrimitiveSchema::Str => try_parse::(&mut row, field_idx, &| | {Ok(field_str.to_string())}) [INFO] [stderr] 202 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 198 | if !match *schema.field_type(field_idx){ [INFO] [stderr] 199 | PrimitiveSchema::Int => try_parse(&mut row, field_idx, &| | {field_str.parse::()}), [INFO] [stderr] 200 | PrimitiveSchema::Float => try_parse(&mut row, field_idx, &| | {field_str.parse::()}), [INFO] [stderr] 201 | PrimitiveSchema::Str => try_parse::(&mut row, field_idx, &| | {Ok(field_str.to_string())}) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/reader/svparser.rs:18:25 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn create(delim:&String) -> SepValParser [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/reader/svparser.rs:41:49 [INFO] [stderr] | [INFO] [stderr] 41 | while field_idx < schema.types.len() && to_parse.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_parse.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/reader/svparser.rs:43:19 [INFO] [stderr] | [INFO] [stderr] 43 | while to_parse.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_parse.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/reader/svparser.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | if rem.len() == 0 || self.field_sep.contains(&rem.chars().next().unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rem.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/reader/exec.rs:33:86 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn create<'x, 'y, 'z>(program:&'x str, args:&'y[&'y str], skip:usize, schema:&'z String, parser:TParser) -> Option> [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `idx` is used to index `ret` [INFO] [stderr] --> src/writer/tablewriter.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | for idx in 0..self.header.len() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 26 | for (idx, ) in ret.iter_mut().enumerate().take(self.header.len()) [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/writer/tablewriter.rs:36:33 [INFO] [stderr] | [INFO] [stderr] 36 | for (idx, val) in r.into_iter().enumerate() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer/tablewriter.rs:65:31 [INFO] [stderr] | [INFO] [stderr] 65 | fn print_hl(&self, layout:&Vec) [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `layout`. [INFO] [stderr] --> src/writer/tablewriter.rs:68:18 [INFO] [stderr] | [INFO] [stderr] 68 | for i in 0..layout.len() [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 68 | for in &layout [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer/tablewriter.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | fn print_row(&self, layout:&Vec, data:&Row) [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer/tablewriter.rs:79:50 [INFO] [stderr] | [INFO] [stderr] 79 | fn print_row(&self, layout:&Vec, data:&Row) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/writer/tablewriter.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | / match &mut self.result [INFO] [stderr] 165 | | { [INFO] [stderr] 166 | | &mut None => OutputResult::Fail(), [INFO] [stderr] 167 | | &mut Some(ref mut result) => { [INFO] [stderr] ... | [INFO] [stderr] 174 | | } [INFO] [stderr] 175 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 164 | match *(&mut self.result) [INFO] [stderr] 165 | { [INFO] [stderr] 166 | None => OutputResult::Fail(), [INFO] [stderr] 167 | Some(ref mut result) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/writer/tablewriter.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | / match &mut self.result [INFO] [stderr] 186 | | { [INFO] [stderr] 187 | | &mut None => OutputResult::Fail(), [INFO] [stderr] 188 | | &mut Some(ref mut result) => { [INFO] [stderr] ... | [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 185 | match *(&mut self.result) [INFO] [stderr] 186 | { [INFO] [stderr] 187 | None => OutputResult::Fail(), [INFO] [stderr] 188 | Some(ref mut result) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/table/schema.rs:76:27 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn from_spec(spec:&String) -> Option [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/table/schema.rs:81:19 [INFO] [stderr] | [INFO] [stderr] 81 | while ret.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!ret.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/table/schema.rs:117:23 [INFO] [stderr] | [INFO] [stderr] 117 | while to_parse.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_parse.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/table/schema.rs:184:52 [INFO] [stderr] | [INFO] [stderr] 184 | fn parse_key_list<'a,'b>(s:&'a str, fields:&'b Vec<(String, PrimitiveSchema)>) -> Option<(Vec, &'a str)> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, PrimitiveSchema)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/primitive.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / match self { [INFO] [stderr] 31 | | &PrimitiveData::Nothing() => "".to_string(), [INFO] [stderr] 32 | | &PrimitiveData::Int(what) => format!("{}", what), [INFO] [stderr] 33 | | &PrimitiveData::Float(what) => format!("{}", what), [INFO] [stderr] 34 | | &PrimitiveData::Str(ref what) => what.clone() [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 30 | match *self { [INFO] [stderr] 31 | PrimitiveData::Nothing() => "".to_string(), [INFO] [stderr] 32 | PrimitiveData::Int(what) => format!("{}", what), [INFO] [stderr] 33 | PrimitiveData::Float(what) => format!("{}", what), [INFO] [stderr] 34 | PrimitiveData::Str(ref what) => what.clone() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/output.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / match self { [INFO] [stderr] 30 | | &mut OutputResult::Success() => how(table, output), [INFO] [stderr] 31 | | &mut OutputResult::Fail() => OutputResult::Fail() [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 29 | match *self { [INFO] [stderr] 30 | OutputResult::Success() => how(table, output), [INFO] [stderr] 31 | OutputResult::Fail() => OutputResult::Fail() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/table.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / match self [INFO] [stderr] 32 | | { [INFO] [stderr] 33 | | &TableDataSource::Empty => true, [INFO] [stderr] 34 | | _ => false [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 31 | match *self [INFO] [stderr] 32 | { [INFO] [stderr] 33 | TableDataSource::Empty => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/table.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | / if let &mut TableDataSource::Parser(ref mut parser, ref _keep_used) = &mut self.data_source [INFO] [stderr] 80 | | { [INFO] [stderr] 81 | | if let Some(new_row) = parser.parse_next_row(self.schema) [INFO] [stderr] 82 | | { [INFO] [stderr] ... | [INFO] [stderr] 95 | | return None; [INFO] [stderr] 96 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 79 | if let TableDataSource::Parser(ref mut parser, ref _keep_used) = *(&mut self.data_source) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/table/table.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | if 0 == self.rows.len() || *_keep_used [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/table/table.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | / pub fn get_cell<'a>(&'a self, row:usize, col:usize) -> Option<&'a PrimitiveData> [INFO] [stderr] 121 | | { [INFO] [stderr] 122 | | return Some(self.table.rows[row].value_at(col)); [INFO] [stderr] 123 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/table/table.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | / if let &mut TableDataSource::Parser(ref mut parser, ref _keep_used) = &mut self.data_source [INFO] [stderr] 204 | | { [INFO] [stderr] 205 | | loop [INFO] [stderr] 206 | | { [INFO] [stderr] ... | [INFO] [stderr] 216 | | [INFO] [stderr] 217 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 203 | if let TableDataSource::Parser(ref mut parser, ref _keep_used) = *(&mut self.data_source) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/table/table.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | / loop [INFO] [stderr] 206 | | { [INFO] [stderr] 207 | | if let Some(row) = parser.parse_next_row(self.schema) [INFO] [stderr] 208 | | { [INFO] [stderr] ... | [INFO] [stderr] 214 | | } [INFO] [stderr] 215 | | } [INFO] [stderr] | |_________________^ help: try: `while let Some(row) = parser.parse_next_row(self.schema) { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/schema/loader.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | for ref path in &self.schema_path_list [INFO] [stderr] | ^^^^^^^^ ---------------------- help: try: `let path = &&self.schema_path_list;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/schema/loader.rs:66:28 [INFO] [stderr] | [INFO] [stderr] 66 | if let Ok(_) = file.read_to_string(&mut content) [INFO] [stderr] | _____________________- ^^^^^ [INFO] [stderr] 67 | | { [INFO] [stderr] 68 | | /* TODO: parse the rule file */ [INFO] [stderr] 69 | | } [INFO] [stderr] | |_____________________- help: try this: `if file.read_to_string(&mut content).is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.87s [INFO] running `"docker" "inspect" "5186c0796206a46b308981075a2fba8ab966b51ea7f70960387547f0344a9fc4"` [INFO] running `"docker" "rm" "-f" "5186c0796206a46b308981075a2fba8ab966b51ea7f70960387547f0344a9fc4"` [INFO] [stdout] 5186c0796206a46b308981075a2fba8ab966b51ea7f70960387547f0344a9fc4