[INFO] updating cached repository svmk/rust-chrono-utils [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/svmk/rust-chrono-utils [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/svmk/rust-chrono-utils" "work/ex/clippy-test-run/sources/stable/gh/svmk/rust-chrono-utils"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/svmk/rust-chrono-utils'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/svmk/rust-chrono-utils" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/svmk/rust-chrono-utils"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/svmk/rust-chrono-utils'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5216f83543640530b561ad21a4b66954fabaab0e [INFO] sha for GitHub repo svmk/rust-chrono-utils: 5216f83543640530b561ad21a4b66954fabaab0e [INFO] validating manifest of svmk/rust-chrono-utils 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 svmk/rust-chrono-utils 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 svmk/rust-chrono-utils [INFO] finished frobbing svmk/rust-chrono-utils [INFO] frobbed toml for svmk/rust-chrono-utils written to work/ex/clippy-test-run/sources/stable/gh/svmk/rust-chrono-utils/Cargo.toml [INFO] started frobbing svmk/rust-chrono-utils [INFO] finished frobbing svmk/rust-chrono-utils [INFO] frobbed toml for svmk/rust-chrono-utils written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/svmk/rust-chrono-utils/Cargo.toml [INFO] crate svmk/rust-chrono-utils 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 svmk/rust-chrono-utils against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/svmk/rust-chrono-utils:/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] eda26dac42a7a6df548a31ccaaa74e0b83c2d965bde1013f8b2d1a0a2d9bc512 [INFO] running `"docker" "start" "-a" "eda26dac42a7a6df548a31ccaaa74e0b83c2d965bde1013f8b2d1a0a2d9bc512"` [INFO] [stderr] Checking num v0.1.37 [INFO] [stderr] Checking chrono v0.4.0 [INFO] [stderr] Checking chrono_utils v0.1.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser/error.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | error_kind: error_kind, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `error_kind` [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/parser/error.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | error_kind: error_kind, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `error_kind` [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/parse_w3c_datetime.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | return Err(ParseError::invalid_format(0,str.len())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid_format(0,str.len()))` [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/helper.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/helper.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | return Err(ParseError::invalid(error_kind,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid(error_kind,position.clone(),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/helper.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | return Err(ParseError::invalid(error_kind,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid(error_kind,position.clone(),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/helper.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | return parse_i32(str,position,4,ParseErrorKind::InvalidYear); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parse_i32(str,position,4,ParseErrorKind::InvalidYear)` [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/helper.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/helper.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | return validate_range(result,1,12,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,1,12,position,2)` [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/helper.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | return validate_range(result,1,31,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,1,31,position,2)` [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/helper.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | return validate_range(result,0,23,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,0,23,position,2)` [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/helper.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | return validate_range(result,0,12,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,0,12,position,2)` [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/helper.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/helper.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | return validate_range(result,0,59,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,0,59,position,2)` [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/helper.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | return Err(ParseError::invalid(ParseErrorKind::InvalidNanoseconds,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid(ParseErrorKind::InvalidNanoseconds,position.clone(),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/helper.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | return Err(ParseError::invalid_token(position.clone(),1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid_token(position.clone(),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/helper.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid_token(position.clone(),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/helper.rs:132:5 [INFO] [stderr] | [INFO] [stderr] 132 | return Ok(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(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/parser/helper.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid_token(position.clone(),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/helper.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | return Err(ParseError::invalid(ParseErrorKind::StringNotEnded,position.clone(),0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid(ParseErrorKind::StringNotEnded,position.clone(),0))` [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/error.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | return self.error_kind.description(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.error_kind.description()` [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/error.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | return self.error_kind.fmt(f); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.error_kind.fmt(f)` [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/parse_w3c_datetime.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | return Err(ParseError::invalid_format(0,str.len())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid_format(0,str.len()))` [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/helper.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/helper.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | return Err(ParseError::invalid(error_kind,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid(error_kind,position.clone(),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/helper.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | return Err(ParseError::invalid(error_kind,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid(error_kind,position.clone(),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/helper.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | return parse_i32(str,position,4,ParseErrorKind::InvalidYear); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parse_i32(str,position,4,ParseErrorKind::InvalidYear)` [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/helper.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/helper.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | return validate_range(result,1,12,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,1,12,position,2)` [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/helper.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | return validate_range(result,1,31,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,1,31,position,2)` [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/helper.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | return validate_range(result,0,23,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,0,23,position,2)` [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/helper.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | return validate_range(result,0,12,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,0,12,position,2)` [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/helper.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/helper.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | return validate_range(result,0,59,position,2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `validate_range(result,0,59,position,2)` [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/helper.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | return Err(ParseError::invalid(ParseErrorKind::InvalidNanoseconds,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid(ParseErrorKind::InvalidNanoseconds,position.clone(),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/helper.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | return Err(ParseError::invalid_token(position.clone(),1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid_token(position.clone(),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/helper.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid_token(position.clone(),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/helper.rs:132:5 [INFO] [stderr] | [INFO] [stderr] 132 | return Ok(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(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/parser/helper.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid_token(position.clone(),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/helper.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | return Err(ParseError::invalid(ParseErrorKind::StringNotEnded,position.clone(),0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ParseError::invalid(ParseErrorKind::StringNotEnded,position.clone(),0))` [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/error.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | return self.error_kind.description(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.error_kind.description()` [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/error.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | return self.error_kind.fmt(f); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.error_kind.fmt(f)` [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | let _ = try!(parse_token(str,&mut position,"-")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | let _ = try!(parse_token(str,&mut position,"-")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | let _ = try!(parse_token(str,&mut position,":")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | let _ = try!(parse_end_of_string(str,&position)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:75:97 [INFO] [stderr] | [INFO] [stderr] 75 | if let Some(naive_date_time) = naive_date_time.checked_sub_signed(Duration::seconds(offset.local_minus_utc() as i64)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(offset.local_minus_utc())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/helper.rs:4:18 [INFO] [stderr] | [INFO] [stderr] 4 | fn get_text(str: &Vec,begin: usize, end: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/helper.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn parse_i32(str: &Vec,position: &mut usize,length: usize,error_kind: ParseErrorKind) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:18:47 [INFO] [stderr] | [INFO] [stderr] 18 | return Err(ParseError::invalid(error_kind,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [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] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/helper.rs:20:23 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn parse_u32(str: &Vec,position: &mut usize,length: usize,error_kind: ParseErrorKind) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:28:47 [INFO] [stderr] | [INFO] [stderr] 28 | return Err(ParseError::invalid(error_kind,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:30:29 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn parse_full_year(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/parser/helper.rs:33:76 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn validate_range(result: ParseResult,min: u32,max: u32,position: &usize,length: usize) -> ParseResult { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:36:54 [INFO] [stderr] | [INFO] [stderr] 36 | return Err(ParseError::invalid_low_value(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:39:55 [INFO] [stderr] | [INFO] [stderr] 39 | return Err(ParseError::invalid_high_value(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parse_month_number(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:48:30 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn parse_day_number(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn parse_hour_24(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:56:33 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn parse_hour_timezone(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:60:26 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn parse_minute(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:65:27 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn parse_seconds(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:69:30 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn parse_nanosecond(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | length = length + c.len_utf8(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `length += c.len_utf8()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:89:71 [INFO] [stderr] | [INFO] [stderr] 89 | return Err(ParseError::invalid(ParseErrorKind::InvalidNanoseconds,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:91:23 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn parse_tzd(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/helper.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | let _ = try!(parse_token(str,position,":")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:108:42 [INFO] [stderr] | [INFO] [stderr] 108 | return Err(ParseError::invalid_token(position.clone(),1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:110:24 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn parse_token(str:&Vec,position: &mut usize,token: &str) -> ParseResult<()> { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:119:42 [INFO] [stderr] | [INFO] [stderr] 119 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:121:31 [INFO] [stderr] | [INFO] [stderr] 121 | pub fn parse_token_or_end(str:&Vec,position: &mut usize,token: &str) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:129:50 [INFO] [stderr] | [INFO] [stderr] 129 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:134:27 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn parse_is_token(str:&Vec,position: &mut usize,token: &str) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | let _ = try!(parse_token(str,&mut position,"-")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | let _ = try!(parse_token(str,&mut position,"-")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | let _ = try!(parse_token(str,&mut position,":")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:145:42 [INFO] [stderr] | [INFO] [stderr] 145 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:147:33 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn parse_end_of_string(str: &Vec,position: &usize) -> ParseResult<()> { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/parser/helper.rs:147:54 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn parse_end_of_string(str: &Vec,position: &usize) -> ParseResult<()> { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] | [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | let _ = try!(parse_end_of_string(str,&position)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/parser/parse_w3c_datetime.rs:75:97 [INFO] [stderr] | [INFO] [stderr] 75 | if let Some(naive_date_time) = naive_date_time.checked_sub_signed(Duration::seconds(offset.local_minus_utc() as i64)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(offset.local_minus_utc())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:151:67 [INFO] [stderr] | [INFO] [stderr] 151 | return Err(ParseError::invalid(ParseErrorKind::StringNotEnded,position.clone(),0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:4:18 [INFO] [stderr] | [INFO] [stderr] 4 | fn get_text(str: &Vec,begin: usize, end: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser/error.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self { [INFO] [stderr] 40 | | &ParseErrorKind::InvalidYear => "Unable to parse year.", [INFO] [stderr] 41 | | &ParseErrorKind::InvalidMonth => "Unable to parse month.", [INFO] [stderr] 42 | | &ParseErrorKind::InvalidDay => "Unable to parse day.", [INFO] [stderr] ... | [INFO] [stderr] 53 | | &ParseErrorKind::StringNotEnded => "Date is parsed, but there is some text after date.", [INFO] [stderr] 54 | | } [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] 39 | match *self { [INFO] [stderr] 40 | ParseErrorKind::InvalidYear => "Unable to parse year.", [INFO] [stderr] 41 | ParseErrorKind::InvalidMonth => "Unable to parse month.", [INFO] [stderr] 42 | ParseErrorKind::InvalidDay => "Unable to parse day.", [INFO] [stderr] 43 | ParseErrorKind::InvalidHour => "Unable to parse hour.", [INFO] [stderr] 44 | ParseErrorKind::InvalidMinute => "Unable to parse minutes.", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser/error.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match self { [INFO] [stderr] 61 | | &ParseErrorKind::InvalidYear => write!(f,"Unable to parse year."), [INFO] [stderr] 62 | | &ParseErrorKind::InvalidMonth => write!(f,"Unable to parse month."), [INFO] [stderr] 63 | | &ParseErrorKind::InvalidDay => write!(f,"Unable to parse day."), [INFO] [stderr] ... | [INFO] [stderr] 74 | | &ParseErrorKind::StringNotEnded => write!(f,"Date is parsed, but there is some text after date."), [INFO] [stderr] 75 | | } [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/parser/helper.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn parse_i32(str: &Vec,position: &mut usize,length: usize,error_kind: ParseErrorKind) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:18:47 [INFO] [stderr] | [INFO] [stderr] 18 | return Err(ParseError::invalid(error_kind,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [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] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/helper.rs:20:23 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn parse_u32(str: &Vec,position: &mut usize,length: usize,error_kind: ParseErrorKind) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:28:47 [INFO] [stderr] | [INFO] [stderr] 28 | return Err(ParseError::invalid(error_kind,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:30:29 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn parse_full_year(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/parser/helper.rs:33:76 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn validate_range(result: ParseResult,min: u32,max: u32,position: &usize,length: usize) -> ParseResult { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:36:54 [INFO] [stderr] | [INFO] [stderr] 36 | return Err(ParseError::invalid_low_value(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:39:55 [INFO] [stderr] | [INFO] [stderr] 39 | return Err(ParseError::invalid_high_value(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/helper.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parse_month_number(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 60 | match *self { [INFO] [stderr] 61 | ParseErrorKind::InvalidYear => write!(f,"Unable to parse year."), [INFO] [stderr] 62 | ParseErrorKind::InvalidMonth => write!(f,"Unable to parse month."), [INFO] [stderr] 63 | ParseErrorKind::InvalidDay => write!(f,"Unable to parse day."), [INFO] [stderr] 64 | ParseErrorKind::InvalidHour => write!(f,"Unable to parse hour."), [INFO] [stderr] 65 | ParseErrorKind::InvalidMinute => write!(f,"Unable to parse minutes."), [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/parser/helper.rs:48:30 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn parse_day_number(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn parse_hour_24(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:56:33 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn parse_hour_timezone(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:60:26 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn parse_minute(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:65:27 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn parse_seconds(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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/parser/helper.rs:69:30 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn parse_nanosecond(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | length = length + c.len_utf8(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `length += c.len_utf8()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:89:71 [INFO] [stderr] | [INFO] [stderr] 89 | return Err(ParseError::invalid(ParseErrorKind::InvalidNanoseconds,position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:91:23 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn parse_tzd(str: &Vec,position: &mut usize) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/parser/helper.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | let _ = try!(parse_token(str,position,":")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:108:42 [INFO] [stderr] | [INFO] [stderr] 108 | return Err(ParseError::invalid_token(position.clone(),1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:110:24 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn parse_token(str:&Vec,position: &mut usize,token: &str) -> ParseResult<()> { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:119:42 [INFO] [stderr] | [INFO] [stderr] 119 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:121:31 [INFO] [stderr] | [INFO] [stderr] 121 | pub fn parse_token_or_end(str:&Vec,position: &mut usize,token: &str) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:129:50 [INFO] [stderr] | [INFO] [stderr] 129 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:134:27 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn parse_is_token(str:&Vec,position: &mut usize,token: &str) -> ParseResult { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/parser/helper.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | *position = *position + length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*position += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:145:42 [INFO] [stderr] | [INFO] [stderr] 145 | return Err(ParseError::invalid_token(position.clone(),length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [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/parser/helper.rs:147:33 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn parse_end_of_string(str: &Vec,position: &usize) -> ParseResult<()> { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/parser/helper.rs:147:54 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn parse_end_of_string(str: &Vec,position: &usize) -> ParseResult<()> { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser/helper.rs:151:67 [INFO] [stderr] | [INFO] [stderr] 151 | return Err(ParseError::invalid(ParseErrorKind::StringNotEnded,position.clone(),0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/formatter/format_w3c.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | format = format + "%.f"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `format += "%.f"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/formatter/format_w3c.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | format = format + "Z"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `format += "Z"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/formatter/format_w3c.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | / let sign; [INFO] [stderr] 15 | | if offset >= 0 { [INFO] [stderr] 16 | | sign = "+"; [INFO] [stderr] 17 | | } else { [INFO] [stderr] 18 | | sign = "-"; [INFO] [stderr] 19 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let sign = if offset >= 0 { "+" } else { "-" };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser/error.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self { [INFO] [stderr] 40 | | &ParseErrorKind::InvalidYear => "Unable to parse year.", [INFO] [stderr] 41 | | &ParseErrorKind::InvalidMonth => "Unable to parse month.", [INFO] [stderr] 42 | | &ParseErrorKind::InvalidDay => "Unable to parse day.", [INFO] [stderr] ... | [INFO] [stderr] 53 | | &ParseErrorKind::StringNotEnded => "Date is parsed, but there is some text after date.", [INFO] [stderr] 54 | | } [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] 39 | match *self { [INFO] [stderr] 40 | ParseErrorKind::InvalidYear => "Unable to parse year.", [INFO] [stderr] 41 | ParseErrorKind::InvalidMonth => "Unable to parse month.", [INFO] [stderr] 42 | ParseErrorKind::InvalidDay => "Unable to parse day.", [INFO] [stderr] 43 | ParseErrorKind::InvalidHour => "Unable to parse hour.", [INFO] [stderr] 44 | ParseErrorKind::InvalidMinute => "Unable to parse minutes.", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser/error.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match self { [INFO] [stderr] 61 | | &ParseErrorKind::InvalidYear => write!(f,"Unable to parse year."), [INFO] [stderr] 62 | | &ParseErrorKind::InvalidMonth => write!(f,"Unable to parse month."), [INFO] [stderr] 63 | | &ParseErrorKind::InvalidDay => write!(f,"Unable to parse day."), [INFO] [stderr] ... | [INFO] [stderr] 74 | | &ParseErrorKind::StringNotEnded => write!(f,"Date is parsed, but there is some text after date."), [INFO] [stderr] 75 | | } [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] 60 | match *self { [INFO] [stderr] 61 | ParseErrorKind::InvalidYear => write!(f,"Unable to parse year."), [INFO] [stderr] 62 | ParseErrorKind::InvalidMonth => write!(f,"Unable to parse month."), [INFO] [stderr] 63 | ParseErrorKind::InvalidDay => write!(f,"Unable to parse day."), [INFO] [stderr] 64 | ParseErrorKind::InvalidHour => write!(f,"Unable to parse hour."), [INFO] [stderr] 65 | ParseErrorKind::InvalidMinute => write!(f,"Unable to parse minutes."), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/formatter/format_w3c.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | format = format + "%.f"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `format += "%.f"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/formatter/format_w3c.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | format = format + "Z"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `format += "Z"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/formatter/format_w3c.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | / let sign; [INFO] [stderr] 15 | | if offset >= 0 { [INFO] [stderr] 16 | | sign = "+"; [INFO] [stderr] 17 | | } else { [INFO] [stderr] 18 | | sign = "-"; [INFO] [stderr] 19 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let sign = if offset >= 0 { "+" } else { "-" };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.14s [INFO] running `"docker" "inspect" "eda26dac42a7a6df548a31ccaaa74e0b83c2d965bde1013f8b2d1a0a2d9bc512"` [INFO] running `"docker" "rm" "-f" "eda26dac42a7a6df548a31ccaaa74e0b83c2d965bde1013f8b2d1a0a2d9bc512"` [INFO] [stdout] eda26dac42a7a6df548a31ccaaa74e0b83c2d965bde1013f8b2d1a0a2d9bc512