[INFO] crate hull_white 0.3.3 is already in cache [INFO] extracting crate hull_white 0.3.3 into work/ex/clippy-test-run/sources/stable/reg/hull_white/0.3.3 [INFO] extracting crate hull_white 0.3.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hull_white/0.3.3 [INFO] validating manifest of hull_white-0.3.3 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 hull_white-0.3.3 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 hull_white-0.3.3 [INFO] finished frobbing hull_white-0.3.3 [INFO] frobbed toml for hull_white-0.3.3 written to work/ex/clippy-test-run/sources/stable/reg/hull_white/0.3.3/Cargo.toml [INFO] started frobbing hull_white-0.3.3 [INFO] finished frobbing hull_white-0.3.3 [INFO] frobbed toml for hull_white-0.3.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hull_white/0.3.3/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 hull_white-0.3.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/hull_white/0.3.3:/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] 754f88015c94f588111e46cf4ed5711b65f1c304cfa93ef62433d9625a9507a6 [INFO] running `"docker" "start" "-a" "754f88015c94f588111e46cf4ed5711b65f1c304cfa93ef62433d9625a9507a6"` [INFO] [stderr] Checking binomial_tree v0.3.6 [INFO] [stderr] Checking special v0.7.8 [INFO] [stderr] Checking approx v0.2.1 [INFO] [stderr] Checking nrfind v1.0.2 [INFO] [stderr] Checking black_scholes v0.2.8 [INFO] [stderr] Checking hull_white v0.3.3 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | const PREC_1: f64 = 0.0000001; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | generic_fn: &Fn(f64, f64, f64, f64, f64, &Fn(f64) -> f64, &Fn(f64) -> f64) -> f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/lib.rs:192:1 [INFO] [stderr] | [INFO] [stderr] 192 | / fn coupon_bond_generic_t( [INFO] [stderr] 193 | | r_t: f64, [INFO] [stderr] 194 | | a: f64, [INFO] [stderr] 195 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 218 | | }) [INFO] [stderr] 219 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:261:1 [INFO] [stderr] | [INFO] [stderr] 261 | / pub fn coupon_bond_price_t( [INFO] [stderr] 262 | | r_t: f64, [INFO] [stderr] 263 | | a: f64, [INFO] [stderr] 264 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 283 | | ) [INFO] [stderr] 284 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:286:1 [INFO] [stderr] | [INFO] [stderr] 286 | / fn coupon_bond_price_t_deriv( [INFO] [stderr] 287 | | r_t: f64, [INFO] [stderr] 288 | | a: f64, [INFO] [stderr] 289 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 308 | | ) [INFO] [stderr] 309 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:360:1 [INFO] [stderr] | [INFO] [stderr] 360 | / pub fn bond_call_t( [INFO] [stderr] 361 | | r_t: f64, [INFO] [stderr] 362 | | a: f64, [INFO] [stderr] 363 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 384 | | ) [INFO] [stderr] 385 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:433:17 [INFO] [stderr] | [INFO] [stderr] 433 | generic_fn: &Fn(f64, f64, f64, f64, f64, f64, f64, &Fn(f64) -> f64, &Fn(f64) -> f64) -> f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/lib.rs:421:1 [INFO] [stderr] | [INFO] [stderr] 421 | / fn coupon_bond_option_generic_t( [INFO] [stderr] 422 | | r_t: f64, [INFO] [stderr] 423 | | a: f64, [INFO] [stderr] 424 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 511 | | }) [INFO] [stderr] 512 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/lib.rs:537:1 [INFO] [stderr] | [INFO] [stderr] 537 | / pub fn coupon_bond_call_t( [INFO] [stderr] 538 | | r_t: f64, [INFO] [stderr] 539 | | a: f64, [INFO] [stderr] 540 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 563 | | ) [INFO] [stderr] 564 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:586:1 [INFO] [stderr] | [INFO] [stderr] 586 | / pub fn bond_put_t( [INFO] [stderr] 587 | | r_t: f64, [INFO] [stderr] 588 | | a: f64, [INFO] [stderr] 589 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 610 | | ) [INFO] [stderr] 611 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/lib.rs:670:1 [INFO] [stderr] | [INFO] [stderr] 670 | / pub fn coupon_bond_put_t( [INFO] [stderr] 671 | | r_t: f64, [INFO] [stderr] 672 | | a: f64, [INFO] [stderr] 673 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 696 | | ) [INFO] [stderr] 697 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:756:1 [INFO] [stderr] | [INFO] [stderr] 756 | / pub fn caplet_t( [INFO] [stderr] 757 | | r_t: f64, [INFO] [stderr] 758 | | a: f64, [INFO] [stderr] 759 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 778 | | ) [INFO] [stderr] 779 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/lib.rs:811:1 [INFO] [stderr] | [INFO] [stderr] 811 | / pub fn euro_dollar_future_t( [INFO] [stderr] 812 | | r_t: f64, [INFO] [stderr] 813 | | a: f64, [INFO] [stderr] 814 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 843 | | ) [INFO] [stderr] 844 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/lib.rs:899:1 [INFO] [stderr] | [INFO] [stderr] 899 | / pub fn forward_libor_rate_t( [INFO] [stderr] 900 | | r_t: f64, [INFO] [stderr] 901 | | a: f64, [INFO] [stderr] 902 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 919 | | compute_libor_rate(nearest_bond, farthest_bond, delta) [INFO] [stderr] 920 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:998:1 [INFO] [stderr] | [INFO] [stderr] 998 | / pub fn forward_swap_rate_t( [INFO] [stderr] 999 | | r_t: f64, [INFO] [stderr] 1000 | | a: f64, [INFO] [stderr] 1001 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1038 | | )) / denominator_swap [INFO] [stderr] 1039 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:1010:28 [INFO] [stderr] | [INFO] [stderr] 1010 | let denominator_swap = (1..(num_payments + 1)).fold(0.0, |accum, curr| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(1..=num_payments)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/lib.rs:1061:1 [INFO] [stderr] | [INFO] [stderr] 1061 | / pub fn swap_rate_t( [INFO] [stderr] 1062 | | r_t: f64, [INFO] [stderr] 1063 | | a: f64, [INFO] [stderr] 1064 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1081 | | ) [INFO] [stderr] 1082 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:1105:1 [INFO] [stderr] | [INFO] [stderr] 1105 | / pub fn swap_price_t( [INFO] [stderr] 1106 | | r_t: f64, [INFO] [stderr] 1107 | | a: f64, [INFO] [stderr] 1108 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1150 | | ) [INFO] [stderr] 1151 | | } [INFO] [stderr] | |_^ [INFO] [stderr] warning: unused import: `rand::distributions::Distribution` [INFO] [stderr] --> src/lib.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use rand::distributions::Distribution; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | const PREC_1: f64 = 0.0000001; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/lib.rs:1183:1 [INFO] [stderr] | [INFO] [stderr] 1183 | / pub fn european_payer_swaption_t( [INFO] [stderr] 1184 | | r_t: f64, [INFO] [stderr] 1185 | | a: f64, [INFO] [stderr] 1186 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1210 | | ) //swaption is equal to put on coupon bond with coupon=swaption swapRate*delta and strike 1. [INFO] [stderr] 1211 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/lib.rs:1234:1 [INFO] [stderr] | [INFO] [stderr] 1234 | / pub fn european_receiver_swaption_t( [INFO] [stderr] 1235 | | r_t: f64, [INFO] [stderr] 1236 | | a: f64, [INFO] [stderr] 1237 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1261 | | ) //swaption is equal to call on coupon bond with coupon=swapRate*delta and strike 1. [INFO] [stderr] 1262 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/lib.rs:1272:5 [INFO] [stderr] | [INFO] [stderr] 1272 | / match is_payer { [INFO] [stderr] 1273 | | true => max_or_zero(swp), [INFO] [stderr] 1274 | | false => max_or_zero(-swp), [INFO] [stderr] 1275 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_payer { max_or_zero(swp) } else { max_or_zero(-swp) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/lib.rs:1278:1 [INFO] [stderr] | [INFO] [stderr] 1278 | / fn american_swaption( [INFO] [stderr] 1279 | | r_t: f64, [INFO] [stderr] 1280 | | a: f64, [INFO] [stderr] 1281 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1326 | | ) [INFO] [stderr] 1327 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:1524:50 [INFO] [stderr] | [INFO] [stderr] 1524 | assert_abs_diff_eq!(time, 1.7, epsilon = 0.0000001); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: this function has too many arguments (11/7) [INFO] [stderr] --> src/lib.rs:1356:1 [INFO] [stderr] | [INFO] [stderr] 1356 | / pub fn american_payer_swaption_t( [INFO] [stderr] 1357 | | r_t: f64, [INFO] [stderr] 1358 | | a: f64, [INFO] [stderr] 1359 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1383 | | ) [INFO] [stderr] 1384 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/lib.rs:1413:1 [INFO] [stderr] | [INFO] [stderr] 1413 | / pub fn american_receiver_swaption_t( [INFO] [stderr] 1414 | | r_t: f64, [INFO] [stderr] 1415 | | a: f64, [INFO] [stderr] 1416 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1440 | | ) [INFO] [stderr] 1441 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:1728:31 [INFO] [stderr] | [INFO] [stderr] 1728 | let num_sims: usize = 1000000; //hopefully accurate [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [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/lib.rs:1795:69 [INFO] [stderr] | [INFO] [stderr] 1795 | assert_abs_diff_eq!(bond_price_now, bond_price_t, epsilon = 0.0000001); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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/lib.rs:1834:69 [INFO] [stderr] | [INFO] [stderr] 1834 | assert_abs_diff_eq!(bond_price_now, bond_price_t, epsilon = 0.0000001); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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/lib.rs:1940:23 [INFO] [stderr] | [INFO] [stderr] 1940 | epsilon = 0.000000001 [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.000_000_001` [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/lib.rs:2215:40 [INFO] [stderr] | [INFO] [stderr] 2215 | assert_abs_diff_eq!(bond_call, 0.033282, epsilon = 0.0001) [INFO] [stderr] | ^^^^^^^^ help: consider: `0.033_282` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | generic_fn: &Fn(f64, f64, f64, f64, f64, &Fn(f64) -> f64, &Fn(f64) -> f64) -> f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/lib.rs:192:1 [INFO] [stderr] | [INFO] [stderr] 192 | / fn coupon_bond_generic_t( [INFO] [stderr] 193 | | r_t: f64, [INFO] [stderr] 194 | | a: f64, [INFO] [stderr] 195 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 218 | | }) [INFO] [stderr] 219 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:261:1 [INFO] [stderr] | [INFO] [stderr] 261 | / pub fn coupon_bond_price_t( [INFO] [stderr] 262 | | r_t: f64, [INFO] [stderr] 263 | | a: f64, [INFO] [stderr] 264 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 283 | | ) [INFO] [stderr] 284 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:286:1 [INFO] [stderr] | [INFO] [stderr] 286 | / fn coupon_bond_price_t_deriv( [INFO] [stderr] 287 | | r_t: f64, [INFO] [stderr] 288 | | a: f64, [INFO] [stderr] 289 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 308 | | ) [INFO] [stderr] 309 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:360:1 [INFO] [stderr] | [INFO] [stderr] 360 | / pub fn bond_call_t( [INFO] [stderr] 361 | | r_t: f64, [INFO] [stderr] 362 | | a: f64, [INFO] [stderr] 363 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 384 | | ) [INFO] [stderr] 385 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:433:17 [INFO] [stderr] | [INFO] [stderr] 433 | generic_fn: &Fn(f64, f64, f64, f64, f64, f64, f64, &Fn(f64) -> f64, &Fn(f64) -> f64) -> f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/lib.rs:421:1 [INFO] [stderr] | [INFO] [stderr] 421 | / fn coupon_bond_option_generic_t( [INFO] [stderr] 422 | | r_t: f64, [INFO] [stderr] 423 | | a: f64, [INFO] [stderr] 424 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 511 | | }) [INFO] [stderr] 512 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/lib.rs:537:1 [INFO] [stderr] | [INFO] [stderr] 537 | / pub fn coupon_bond_call_t( [INFO] [stderr] 538 | | r_t: f64, [INFO] [stderr] 539 | | a: f64, [INFO] [stderr] 540 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 563 | | ) [INFO] [stderr] 564 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:586:1 [INFO] [stderr] | [INFO] [stderr] 586 | / pub fn bond_put_t( [INFO] [stderr] 587 | | r_t: f64, [INFO] [stderr] 588 | | a: f64, [INFO] [stderr] 589 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 610 | | ) [INFO] [stderr] 611 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/lib.rs:670:1 [INFO] [stderr] | [INFO] [stderr] 670 | / pub fn coupon_bond_put_t( [INFO] [stderr] 671 | | r_t: f64, [INFO] [stderr] 672 | | a: f64, [INFO] [stderr] 673 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 696 | | ) [INFO] [stderr] 697 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:756:1 [INFO] [stderr] | [INFO] [stderr] 756 | / pub fn caplet_t( [INFO] [stderr] 757 | | r_t: f64, [INFO] [stderr] 758 | | a: f64, [INFO] [stderr] 759 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 778 | | ) [INFO] [stderr] 779 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/lib.rs:811:1 [INFO] [stderr] | [INFO] [stderr] 811 | / pub fn euro_dollar_future_t( [INFO] [stderr] 812 | | r_t: f64, [INFO] [stderr] 813 | | a: f64, [INFO] [stderr] 814 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 843 | | ) [INFO] [stderr] 844 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/lib.rs:899:1 [INFO] [stderr] | [INFO] [stderr] 899 | / pub fn forward_libor_rate_t( [INFO] [stderr] 900 | | r_t: f64, [INFO] [stderr] 901 | | a: f64, [INFO] [stderr] 902 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 919 | | compute_libor_rate(nearest_bond, farthest_bond, delta) [INFO] [stderr] 920 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:998:1 [INFO] [stderr] | [INFO] [stderr] 998 | / pub fn forward_swap_rate_t( [INFO] [stderr] 999 | | r_t: f64, [INFO] [stderr] 1000 | | a: f64, [INFO] [stderr] 1001 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1038 | | )) / denominator_swap [INFO] [stderr] 1039 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:1010:28 [INFO] [stderr] | [INFO] [stderr] 1010 | let denominator_swap = (1..(num_payments + 1)).fold(0.0, |accum, curr| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(1..=num_payments)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/lib.rs:1061:1 [INFO] [stderr] | [INFO] [stderr] 1061 | / pub fn swap_rate_t( [INFO] [stderr] 1062 | | r_t: f64, [INFO] [stderr] 1063 | | a: f64, [INFO] [stderr] 1064 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1081 | | ) [INFO] [stderr] 1082 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:1105:1 [INFO] [stderr] | [INFO] [stderr] 1105 | / pub fn swap_price_t( [INFO] [stderr] 1106 | | r_t: f64, [INFO] [stderr] 1107 | | a: f64, [INFO] [stderr] 1108 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1150 | | ) [INFO] [stderr] 1151 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/lib.rs:1183:1 [INFO] [stderr] | [INFO] [stderr] 1183 | / pub fn european_payer_swaption_t( [INFO] [stderr] 1184 | | r_t: f64, [INFO] [stderr] 1185 | | a: f64, [INFO] [stderr] 1186 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1210 | | ) //swaption is equal to put on coupon bond with coupon=swaption swapRate*delta and strike 1. [INFO] [stderr] 1211 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/lib.rs:1234:1 [INFO] [stderr] | [INFO] [stderr] 1234 | / pub fn european_receiver_swaption_t( [INFO] [stderr] 1235 | | r_t: f64, [INFO] [stderr] 1236 | | a: f64, [INFO] [stderr] 1237 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1261 | | ) //swaption is equal to call on coupon bond with coupon=swapRate*delta and strike 1. [INFO] [stderr] 1262 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/lib.rs:1272:5 [INFO] [stderr] | [INFO] [stderr] 1272 | / match is_payer { [INFO] [stderr] 1273 | | true => max_or_zero(swp), [INFO] [stderr] 1274 | | false => max_or_zero(-swp), [INFO] [stderr] 1275 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_payer { max_or_zero(swp) } else { max_or_zero(-swp) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/lib.rs:1278:1 [INFO] [stderr] | [INFO] [stderr] 1278 | / fn american_swaption( [INFO] [stderr] 1279 | | r_t: f64, [INFO] [stderr] 1280 | | a: f64, [INFO] [stderr] 1281 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1326 | | ) [INFO] [stderr] 1327 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/lib.rs:1356:1 [INFO] [stderr] | [INFO] [stderr] 1356 | / pub fn american_payer_swaption_t( [INFO] [stderr] 1357 | | r_t: f64, [INFO] [stderr] 1358 | | a: f64, [INFO] [stderr] 1359 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1383 | | ) [INFO] [stderr] 1384 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/lib.rs:1413:1 [INFO] [stderr] | [INFO] [stderr] 1413 | / pub fn american_receiver_swaption_t( [INFO] [stderr] 1414 | | r_t: f64, [INFO] [stderr] 1415 | | a: f64, [INFO] [stderr] 1416 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1440 | | ) [INFO] [stderr] 1441 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/lib.rs:1443:1 [INFO] [stderr] | [INFO] [stderr] 1443 | / fn european_swaption_tree( [INFO] [stderr] 1444 | | r_t: f64, [INFO] [stderr] 1445 | | a: f64, [INFO] [stderr] 1446 | | sigma: f64, [INFO] [stderr] ... | [INFO] [stderr] 1491 | | ) [INFO] [stderr] 1492 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:1506:9 [INFO] [stderr] | [INFO] [stderr] 1506 | assert_eq!(num_payments, 7.0); [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/lib.rs:1506:9 [INFO] [stderr] | [INFO] [stderr] 1506 | assert_eq!(num_payments, 7.0); [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/lib.rs:1515:9 [INFO] [stderr] | [INFO] [stderr] 1515 | assert_eq!(num_payments, 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1515:9 [INFO] [stderr] | [INFO] [stderr] 1515 | assert_eq!(num_payments, 4.0); [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/lib.rs:1532:9 [INFO] [stderr] | [INFO] [stderr] 1532 | assert_eq!(time, t); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1532:9 [INFO] [stderr] | [INFO] [stderr] 1532 | assert_eq!(time, t); [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/lib.rs:1544:44 [INFO] [stderr] | [INFO] [stderr] 1544 | .for_each(|(actual, expected)| assert_eq!(actual, expected)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1544:44 [INFO] [stderr] | [INFO] [stderr] 1544 | .for_each(|(actual, expected)| assert_eq!(actual, expected)) [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/lib.rs:1558:9 [INFO] [stderr] | [INFO] [stderr] 1558 | assert_eq!(max_or_zero(v), 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1558:9 [INFO] [stderr] | [INFO] [stderr] 1558 | assert_eq!(max_or_zero(v), 1.0); [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/lib.rs:1559:9 [INFO] [stderr] | [INFO] [stderr] 1559 | assert_eq!(max_or_zero(-v), 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1559:9 [INFO] [stderr] | [INFO] [stderr] 1559 | assert_eq!(max_or_zero(-v), 0.0); [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/lib.rs:1565:9 [INFO] [stderr] | [INFO] [stderr] 1565 | assert_eq!(payoff_swaption(true, v), 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1565:9 [INFO] [stderr] | [INFO] [stderr] 1565 | assert_eq!(payoff_swaption(true, v), 1.0); [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/lib.rs:1566:9 [INFO] [stderr] | [INFO] [stderr] 1566 | assert_eq!(payoff_swaption(false, v), 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1566:9 [INFO] [stderr] | [INFO] [stderr] 1566 | assert_eq!(payoff_swaption(false, v), 0.0); [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/lib.rs:1567:9 [INFO] [stderr] | [INFO] [stderr] 1567 | assert_eq!(payoff_swaption(true, -v), 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1567:9 [INFO] [stderr] | [INFO] [stderr] 1567 | assert_eq!(payoff_swaption(true, -v), 0.0); [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/lib.rs:1568:9 [INFO] [stderr] | [INFO] [stderr] 1568 | assert_eq!(payoff_swaption(false, -v), 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1568:9 [INFO] [stderr] | [INFO] [stderr] 1568 | assert_eq!(payoff_swaption(false, -v), 1.0); [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: manual implementation of an assign operation [INFO] [stderr] --> src/lib.rs:1671:17 [INFO] [stderr] | [INFO] [stderr] 1671 | sum_r = sum_r + running_r * dt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sum_r += running_r * dt` [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: manual implementation of an assign operation [INFO] [stderr] --> src/lib.rs:1691:17 [INFO] [stderr] | [INFO] [stderr] 1691 | sum_r = sum_r + running_r * new_dt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sum_r += running_r * new_dt` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/lib.rs:1855:9 [INFO] [stderr] | [INFO] [stderr] 1855 | / assert_eq!( [INFO] [stderr] 1856 | | bond_price_t( [INFO] [stderr] 1857 | | curr_rate, [INFO] [stderr] 1858 | | a, [INFO] [stderr] ... | [INFO] [stderr] 1865 | | bond_price_now(option_maturity - future_time, &yield_curve) [INFO] [stderr] 1866 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1855:9 [INFO] [stderr] | [INFO] [stderr] 1855 | / assert_eq!( [INFO] [stderr] 1856 | | bond_price_t( [INFO] [stderr] 1857 | | curr_rate, [INFO] [stderr] 1858 | | a, [INFO] [stderr] ... | [INFO] [stderr] 1865 | | bond_price_now(option_maturity - future_time, &yield_curve) [INFO] [stderr] 1866 | | ); [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/lib.rs:1885:9 [INFO] [stderr] | [INFO] [stderr] 1885 | / assert_eq!( [INFO] [stderr] 1886 | | bond_price_t( [INFO] [stderr] 1887 | | curr_rate, [INFO] [stderr] 1888 | | a, [INFO] [stderr] ... | [INFO] [stderr] 1895 | | 1.0 [INFO] [stderr] 1896 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/lib.rs:1885:9 [INFO] [stderr] | [INFO] [stderr] 1885 | / assert_eq!( [INFO] [stderr] 1886 | | bond_price_t( [INFO] [stderr] 1887 | | curr_rate, [INFO] [stderr] 1888 | | a, [INFO] [stderr] ... | [INFO] [stderr] 1895 | | 1.0 [INFO] [stderr] 1896 | | ); [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: aborting due to 12 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `hull_white`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "754f88015c94f588111e46cf4ed5711b65f1c304cfa93ef62433d9625a9507a6"` [INFO] running `"docker" "rm" "-f" "754f88015c94f588111e46cf4ed5711b65f1c304cfa93ef62433d9625a9507a6"` [INFO] [stdout] 754f88015c94f588111e46cf4ed5711b65f1c304cfa93ef62433d9625a9507a6