[INFO] crate xgboost 0.1.2 is already in cache [INFO] extracting crate xgboost 0.1.2 into work/ex/clippy-test-run/sources/stable/reg/xgboost/0.1.2 [INFO] extracting crate xgboost 0.1.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xgboost/0.1.2 [INFO] validating manifest of xgboost-0.1.2 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 xgboost-0.1.2 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 xgboost-0.1.2 [INFO] finished frobbing xgboost-0.1.2 [INFO] frobbed toml for xgboost-0.1.2 written to work/ex/clippy-test-run/sources/stable/reg/xgboost/0.1.2/Cargo.toml [INFO] started frobbing xgboost-0.1.2 [INFO] finished frobbing xgboost-0.1.2 [INFO] frobbed toml for xgboost-0.1.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xgboost/0.1.2/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 xgboost-0.1.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/xgboost/0.1.2:/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] 9ac5517d4f4e8c574db5995ea6229dd2ddd7feeb9d3aa9bded0a5c79757184d5 [INFO] running `"docker" "start" "-a" "9ac5517d4f4e8c574db5995ea6229dd2ddd7feeb9d3aa9bded0a5c79757184d5"` [INFO] [stderr] Compiling bindgen v0.36.1 [INFO] [stderr] Compiling clang-sys v0.22.0 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling xgboost-sys v0.1.2 [INFO] [stderr] Checking xgboost v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dmatrix.rs:385:47 [INFO] [stderr] | [INFO] [stderr] 385 | let label = [0.1, 0.0 -4.5, 11.29842, 333333.33]; [INFO] [stderr] | ^^^^^^^^^ help: consider: `333_333.33` [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: long literal lacking separators [INFO] [stderr] --> src/dmatrix.rs:395:35 [INFO] [stderr] | [INFO] [stderr] 395 | let weight = [1.0, 10.0, -123.456789, 44.9555]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `123.456_789` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dmatrix.rs:405:37 [INFO] [stderr] | [INFO] [stderr] 405 | let base_margin = [0.00001, 0.000002, 1.23]; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_002` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:743:60 [INFO] [stderr] | [INFO] [stderr] 743 | assert_eq!(*train_metrics.get("logloss").unwrap(), 0.006634); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.006_634` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:744:59 [INFO] [stderr] | [INFO] [stderr] 744 | assert_eq!(*train_metrics.get("map@4-").unwrap(), 0.001274); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.001_274` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:748:58 [INFO] [stderr] | [INFO] [stderr] 748 | assert_eq!(*test_metrics.get("map@4-").unwrap(), 0.005155); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.005_155` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:754:31 [INFO] [stderr] | [INFO] [stderr] 754 | let expected_start = [0.0050151693, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0.005_015_169_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:755:31 [INFO] [stderr] | [INFO] [stderr] 755 | 0.9884467, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.988_446_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:756:31 [INFO] [stderr] | [INFO] [stderr] 756 | 0.0050151693, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0.005_015_169_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:757:31 [INFO] [stderr] | [INFO] [stderr] 757 | 0.0050151693, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0.005_015_169_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:758:31 [INFO] [stderr] | [INFO] [stderr] 758 | 0.026636455, [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.026_636_455` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:759:31 [INFO] [stderr] | [INFO] [stderr] 759 | 0.11789363, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.117_893_63` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:760:31 [INFO] [stderr] | [INFO] [stderr] 760 | 0.9884467, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.988_446_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:761:31 [INFO] [stderr] | [INFO] [stderr] 761 | 0.01231471, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.012_314_71` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:762:31 [INFO] [stderr] | [INFO] [stderr] 762 | 0.9884467, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.988_446_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:763:31 [INFO] [stderr] | [INFO] [stderr] 763 | 0.00013656063]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.000_136_560_63` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:766:29 [INFO] [stderr] | [INFO] [stderr] 766 | let expected_end = [0.002520344, [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.002_520_344` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:767:29 [INFO] [stderr] | [INFO] [stderr] 767 | 0.00060917926, [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.000_609_179_26` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:768:29 [INFO] [stderr] | [INFO] [stderr] 768 | 0.99881005, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.998_810_05` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:769:29 [INFO] [stderr] | [INFO] [stderr] 769 | 0.00060917926, [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.000_609_179_26` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:770:29 [INFO] [stderr] | [INFO] [stderr] 770 | 0.00060917926, [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.000_609_179_26` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:771:29 [INFO] [stderr] | [INFO] [stderr] 771 | 0.00060917926, [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.000_609_179_26` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:772:29 [INFO] [stderr] | [INFO] [stderr] 772 | 0.00060917926, [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.000_609_179_26` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:773:29 [INFO] [stderr] | [INFO] [stderr] 773 | 0.9981102, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.998_110_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:774:29 [INFO] [stderr] | [INFO] [stderr] 774 | 0.002855195, [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.002_855_195` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/booster.rs:775:29 [INFO] [stderr] | [INFO] [stderr] 775 | 0.9981102]; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.998_110_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/booster.rs:535:51 [INFO] [stderr] | [INFO] [stderr] 535 | let metric_parts: Vec<&str> = part[evname.len()+1..].split(':').into_iter().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `part[evname.len()+1..].split(':')` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/parameters/mod.rs:257:37 [INFO] [stderr] | [INFO] [stderr] 257 | Inclusion::Closed => if !(val >= &self.min) { return false; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_cmp_op_on_partial_ord)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/parameters/mod.rs:258:35 [INFO] [stderr] | [INFO] [stderr] 258 | Inclusion::Open => if !(val > &self.min) { return false; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/parameters/mod.rs:261:37 [INFO] [stderr] | [INFO] [stderr] 261 | Inclusion::Closed => if !(val <= &self.max) { return false; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/parameters/mod.rs:262:35 [INFO] [stderr] | [INFO] [stderr] 262 | Inclusion::Open => if !(val < &self.max) { return false; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/dmatrix.rs:385:47 [INFO] [stderr] | [INFO] [stderr] 385 | let label = [0.1, 0.0 -4.5, 11.29842, 333333.33]; [INFO] [stderr] | ^^^^^^^^^ help: consider changing the type or truncating it to: `333_333.34` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/dmatrix.rs:395:35 [INFO] [stderr] | [INFO] [stderr] 395 | let weight = [1.0, 10.0, -123.456789, 44.9555]; [INFO] [stderr] | ^^^^^^^^^^ help: consider changing the type or truncating it to: `123.456_79` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/booster.rs:535:51 [INFO] [stderr] | [INFO] [stderr] 535 | let metric_parts: Vec<&str> = part[evname.len()+1..].split(':').into_iter().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `part[evname.len()+1..].split(':')` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/booster.rs:743:21 [INFO] [stderr] | [INFO] [stderr] 743 | assert_eq!(*train_metrics.get("logloss").unwrap(), 0.006634); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&train_metrics["logloss"]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/booster.rs:743:9 [INFO] [stderr] | [INFO] [stderr] 743 | assert_eq!(*train_metrics.get("logloss").unwrap(), 0.006634); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/booster.rs:743:9 [INFO] [stderr] | [INFO] [stderr] 743 | assert_eq!(*train_metrics.get("logloss").unwrap(), 0.006634); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/booster.rs:744:21 [INFO] [stderr] | [INFO] [stderr] 744 | assert_eq!(*train_metrics.get("map@4-").unwrap(), 0.001274); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&train_metrics["map@4-"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/booster.rs:744:9 [INFO] [stderr] | [INFO] [stderr] 744 | assert_eq!(*train_metrics.get("map@4-").unwrap(), 0.001274); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/booster.rs:744:9 [INFO] [stderr] | [INFO] [stderr] 744 | assert_eq!(*train_metrics.get("map@4-").unwrap(), 0.001274); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/booster.rs:747:21 [INFO] [stderr] | [INFO] [stderr] 747 | assert_eq!(*test_metrics.get("logloss").unwrap(), 0.00692); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&test_metrics["logloss"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/booster.rs:747:9 [INFO] [stderr] | [INFO] [stderr] 747 | assert_eq!(*test_metrics.get("logloss").unwrap(), 0.00692); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/booster.rs:747:9 [INFO] [stderr] | [INFO] [stderr] 747 | assert_eq!(*test_metrics.get("logloss").unwrap(), 0.00692); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/booster.rs:748:21 [INFO] [stderr] | [INFO] [stderr] 748 | assert_eq!(*test_metrics.get("map@4-").unwrap(), 0.005155); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&test_metrics["map@4-"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/booster.rs:748:9 [INFO] [stderr] | [INFO] [stderr] 748 | assert_eq!(*test_metrics.get("map@4-").unwrap(), 0.005155); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/booster.rs:748:9 [INFO] [stderr] | [INFO] [stderr] 748 | assert_eq!(*test_metrics.get("map@4-").unwrap(), 0.005155); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/parameters/tree.rs:385:9 [INFO] [stderr] | [INFO] [stderr] 385 | assert_eq!(p.eta, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/parameters/tree.rs:385:9 [INFO] [stderr] | [INFO] [stderr] 385 | assert_eq!(p.eta, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/parameters/tree.rs:387:9 [INFO] [stderr] | [INFO] [stderr] 387 | assert_eq!(p.eta, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/parameters/tree.rs:387:9 [INFO] [stderr] | [INFO] [stderr] 387 | assert_eq!(p.eta, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/parameters/mod.rs:257:37 [INFO] [stderr] | [INFO] [stderr] 257 | Inclusion::Closed => if !(val >= &self.min) { return false; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_cmp_op_on_partial_ord)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/parameters/mod.rs:258:35 [INFO] [stderr] | [INFO] [stderr] 258 | Inclusion::Open => if !(val > &self.min) { return false; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/parameters/mod.rs:261:37 [INFO] [stderr] | [INFO] [stderr] 261 | Inclusion::Closed => if !(val <= &self.max) { return false; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/parameters/mod.rs:262:35 [INFO] [stderr] | [INFO] [stderr] 262 | Inclusion::Open => if !(val < &self.max) { return false; }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `xgboost`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "9ac5517d4f4e8c574db5995ea6229dd2ddd7feeb9d3aa9bded0a5c79757184d5"` [INFO] running `"docker" "rm" "-f" "9ac5517d4f4e8c574db5995ea6229dd2ddd7feeb9d3aa9bded0a5c79757184d5"` [INFO] [stdout] 9ac5517d4f4e8c574db5995ea6229dd2ddd7feeb9d3aa9bded0a5c79757184d5