[INFO] crate pgn-lexer 0.1.1 is already in cache [INFO] extracting crate pgn-lexer 0.1.1 into work/ex/clippy-test-run/sources/stable/reg/pgn-lexer/0.1.1 [INFO] extracting crate pgn-lexer 0.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/pgn-lexer/0.1.1 [INFO] validating manifest of pgn-lexer-0.1.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of pgn-lexer-0.1.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing pgn-lexer-0.1.1 [INFO] finished frobbing pgn-lexer-0.1.1 [INFO] frobbed toml for pgn-lexer-0.1.1 written to work/ex/clippy-test-run/sources/stable/reg/pgn-lexer/0.1.1/Cargo.toml [INFO] started frobbing pgn-lexer-0.1.1 [INFO] finished frobbing pgn-lexer-0.1.1 [INFO] frobbed toml for pgn-lexer-0.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/pgn-lexer/0.1.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting pgn-lexer-0.1.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/pgn-lexer/0.1.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] d2da6299514f699369b793e5bf8312c48af187ca7c354d7f878cf46aba2fe86f [INFO] running `"docker" "start" "-a" "d2da6299514f699369b793e5bf8312c48af187ca7c354d7f878cf46aba2fe86f"` [INFO] [stderr] Checking memmap v0.5.2 [INFO] [stderr] Checking pgn-lexer v0.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:545:26 [INFO] [stderr] | [INFO] [stderr] 545 | PGNTokenIterator{bytes: bytes} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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: unneeded return statement [INFO] [stderr] --> src/parser.rs:160:25 [INFO] [stderr] | [INFO] [stderr] 160 | Some(length) => return IResult::Done(&i[length+1..], Token::Move(&i[0..length+1])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[length+1..], Token::Move(&i[0..length+1]))` [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/parser.rs:161:17 [INFO] [stderr] | [INFO] [stderr] 161 | None => return IResult::Error(ErrorKind::Custom(SAN_PAWN_MOVE_INVALID)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(SAN_PAWN_MOVE_INVALID))` [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/parser.rs:199:25 [INFO] [stderr] | [INFO] [stderr] 199 | Some(length) => return IResult::Done(&i[length+1..], Token::Move(&i[0..length+1])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[length+1..], Token::Move(&i[0..length+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/parser.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | None => return IResult::Error(ErrorKind::Custom(SAN_PIECE_MOVE_INVALID)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(SAN_PIECE_MOVE_INVALID))` [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/parser.rs:217:25 [INFO] [stderr] | [INFO] [stderr] 217 | Some(length) => return IResult::Done(&i[length+1..], Token::Move(&i[0..length+1])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[length+1..], Token::Move(&i[0..length+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/parser.rs:218:17 [INFO] [stderr] | [INFO] [stderr] 218 | None => return IResult::Error(ErrorKind::Custom(SAN_CASTLES_INVALID)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(SAN_CASTLES_INVALID))` [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/parser.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | / return check(&rest[length..]) [INFO] [stderr] 213 | | .or_else(|| Some(0)) [INFO] [stderr] 214 | | .and_then(|extra_length| Some(length+extra_length)); [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] 212 | check(&rest[length..]) [INFO] [stderr] 213 | .or_else(|| Some(0)) [INFO] [stderr] 214 | .and_then(|extra_length| Some(length+extra_length)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:237:25 [INFO] [stderr] | [INFO] [stderr] 237 | Some(length) => return IResult::Done(&i[length+1..], Token::NullMove(&i[0..length+1])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[length+1..], Token::NullMove(&i[0..length+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/parser.rs:238:17 [INFO] [stderr] | [INFO] [stderr] 238 | None => return IResult::Error(ErrorKind::Custom(SAN_NULL_MOVE_INVALID)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(SAN_NULL_MOVE_INVALID))` [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/parser.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | / return check(&rest[length..]) [INFO] [stderr] 233 | | .or_else(|| Some(0)) [INFO] [stderr] 234 | | .and_then(|extra_length| Some(length+extra_length)); [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] 232 | check(&rest[length..]) [INFO] [stderr] 233 | .or_else(|| Some(0)) [INFO] [stderr] 234 | .and_then(|extra_length| Some(length+extra_length)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:305:9 [INFO] [stderr] | [INFO] [stderr] 305 | return IResult::Error(ErrorKind::Custom(PGN_INTEGER_INVALID)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(PGN_INTEGER_INVALID))` [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/parser.rs:395:25 [INFO] [stderr] | [INFO] [stderr] 395 | Some(length) => return IResult::Done(&i[length..], Token::Result(&i[0..length])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[length..], Token::Result(&i[0..length]))` [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/parser.rs:396:17 [INFO] [stderr] | [INFO] [stderr] 396 | None => return IResult::Error(ErrorKind::Custom(PGN_GAME_RESULT_INVALID)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(PGN_GAME_RESULT_INVALID))` [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: long literal lacking separators [INFO] [stderr] --> src/parser.rs:404:37 [INFO] [stderr] | [INFO] [stderr] 404 | const MAX_COMMENTARY_LENGTH:usize = 2097152; [INFO] [stderr] | ^^^^^^^ help: consider: `2_097_152` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:449:13 [INFO] [stderr] | [INFO] [stderr] 449 | return IResult::Done(&i[0..], Token::TagSymbol(symbol)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[0..], Token::TagSymbol(symbol))` [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/parser.rs:466:17 [INFO] [stderr] | [INFO] [stderr] 466 | return IResult::Done(&i[1..], Token::TagString(string)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[1..], Token::TagString(string))` [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/parser.rs:468:17 [INFO] [stderr] | [INFO] [stderr] 468 | return IResult::Error(ErrorKind::Custom(PGN_TAG_PAIR_INVALID)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(PGN_TAG_PAIR_INVALID))` [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/parser.rs:495:33 [INFO] [stderr] | [INFO] [stderr] 495 | Some(length) => return IResult::Done(&i[length..], &i[0..length]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[length..], &i[0..length])` [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/parser.rs:496:25 [INFO] [stderr] | [INFO] [stderr] 496 | None => return IResult::Done(&i[integer.len()..], &i[0..integer.len()]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[integer.len()..], &i[0..integer.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/parser.rs:509:9 [INFO] [stderr] | [INFO] [stderr] 509 | return IResult::Done(&i[1..], Token::StartVariation(&i[0..1])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[1..], Token::StartVariation(&i[0..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/parser.rs:511:9 [INFO] [stderr] | [INFO] [stderr] 511 | return IResult::Error(ErrorKind::Custom(PGN_START_VARIATION_INVALID)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(PGN_START_VARIATION_INVALID))` [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/parser.rs:520:9 [INFO] [stderr] | [INFO] [stderr] 520 | return IResult::Done(&i[1..], Token::EndVariation(&i[0..1])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Done(&i[1..], Token::EndVariation(&i[0..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/parser.rs:522:9 [INFO] [stderr] | [INFO] [stderr] 522 | return IResult::Error(ErrorKind::Custom(PGN_END_VARIATION_INVALID)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IResult::Error(ErrorKind::Custom(PGN_END_VARIATION_INVALID))` [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: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:545:26 [INFO] [stderr] | [INFO] [stderr] 545 | PGNTokenIterator{bytes: bytes} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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: an inclusive range would be more readable [INFO] [stderr] --> src/parser.rs:160:77 [INFO] [stderr] | [INFO] [stderr] 160 | Some(length) => return IResult::Done(&i[length+1..], Token::Move(&i[0..length+1])), [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=length` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/parser.rs:199:77 [INFO] [stderr] | [INFO] [stderr] 199 | Some(length) => return IResult::Done(&i[length+1..], Token::Move(&i[0..length+1])), [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/parser.rs:217:77 [INFO] [stderr] | [INFO] [stderr] 217 | Some(length) => return IResult::Done(&i[length+1..], Token::Move(&i[0..length+1])), [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/parser.rs:237:81 [INFO] [stderr] | [INFO] [stderr] 237 | Some(length) => return IResult::Done(&i[length+1..], Token::NullMove(&i[0..length+1])), [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/parser.rs:244:8 [INFO] [stderr] | [INFO] [stderr] 244 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:268:8 [INFO] [stderr] | [INFO] [stderr] 268 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:297:8 [INFO] [stderr] | [INFO] [stderr] 297 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:312:8 [INFO] [stderr] | [INFO] [stderr] 312 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:327:8 [INFO] [stderr] | [INFO] [stderr] 327 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:344:8 [INFO] [stderr] | [INFO] [stderr] 344 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: an inclusive range would be more readable [INFO] [stderr] --> src/parser.rs:351:93 [INFO] [stderr] | [INFO] [stderr] 351 | IResult::Done(_left, integer) => IResult::Done(&i[integer.len()+1..], Token::NAG(&i[1..integer.len()+1])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `1..=integer.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/parser.rs:359:8 [INFO] [stderr] | [INFO] [stderr] 359 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:386:8 [INFO] [stderr] | [INFO] [stderr] 386 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:406:8 [INFO] [stderr] | [INFO] [stderr] 406 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:440:8 [INFO] [stderr] | [INFO] [stderr] 440 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:457:8 [INFO] [stderr] | [INFO] [stderr] 457 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:481:8 [INFO] [stderr] | [INFO] [stderr] 481 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:505:8 [INFO] [stderr] | [INFO] [stderr] 505 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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 one [INFO] [stderr] --> src/parser.rs:516:8 [INFO] [stderr] | [INFO] [stderr] 516 | if i.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser.rs:580:22 [INFO] [stderr] | [INFO] [stderr] 580 | Some(token.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `token` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> src/lib.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | #![cfg_attr(test, feature(test))] [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `pgn-lexer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "d2da6299514f699369b793e5bf8312c48af187ca7c354d7f878cf46aba2fe86f"` [INFO] running `"docker" "rm" "-f" "d2da6299514f699369b793e5bf8312c48af187ca7c354d7f878cf46aba2fe86f"` [INFO] [stdout] d2da6299514f699369b793e5bf8312c48af187ca7c354d7f878cf46aba2fe86f