[INFO] cloning repository https://github.com/MarcusRainbow/QuantMath [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MarcusRainbow/QuantMath" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcusRainbow%2FQuantMath", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcusRainbow%2FQuantMath'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b51ffacc2cfe5b0c35578537341b207f3eb798ed [INFO] checking MarcusRainbow/QuantMath against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcusRainbow%2FQuantMath" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/MarcusRainbow/QuantMath on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/MarcusRainbow/QuantMath [INFO] finished tweaking git repo https://github.com/MarcusRainbow/QuantMath [INFO] tweaked toml for git repo https://github.com/MarcusRainbow/QuantMath written to /workspace/builds/worker-9/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded statrs v0.9.0 [INFO] [stderr] Downloaded serde_tagged v0.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bdf182925f61bff3522cadda985617b7d9486bfd9ce8361e7c0bb072792edb68 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "bdf182925f61bff3522cadda985617b7d9486bfd9ce8361e7c0bb072792edb68", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bdf182925f61bff3522cadda985617b7d9486bfd9ce8361e7c0bb072792edb68", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bdf182925f61bff3522cadda985617b7d9486bfd9ce8361e7c0bb072792edb68", kill_on_drop: false }` [INFO] [stdout] bdf182925f61bff3522cadda985617b7d9486bfd9ce8361e7c0bb072792edb68 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 55ebbd3ff207c09d91ff154d87aa08dfbf76e525a2a735a2a55426b8b1c721ce [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "55ebbd3ff207c09d91ff154d87aa08dfbf76e525a2a735a2a55426b8b1c721ce", kill_on_drop: false }` [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling serde v1.0.124 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Compiling ndarray v0.11.2 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking itertools v0.7.11 [INFO] [stderr] Checking matrixmultiply v0.2.4 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling syn v1.0.64 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking statrs v0.9.0 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Checking alga v0.9.3 [INFO] [stderr] Checking nalgebra v0.18.1 [INFO] [stderr] Checking erased-serde v0.3.13 [INFO] [stderr] Checking serde_json v1.0.64 [INFO] [stderr] Compiling serde_derive v1.0.124 [INFO] [stderr] Checking serde_tagged v0.2.0 [INFO] [stderr] Checking quantmath v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/instruments/mod.rs:240:1 [INFO] [stdout] | [INFO] [stdout] 240 | /// Support for deduplication of instruments when serializing and deserializing [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:86:27 [INFO] [stdout] | [INFO] [stdout] 86 | pub type RcCalendar = Qrc; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Calendar` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:125:38 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:306:38 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:503:38 [INFO] [stdout] | [INFO] [stdout] 503 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/rules.rs:27:27 [INFO] [stdout] | [INFO] [stdout] 27 | pub type RcDateRule = Qrc; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn DateRule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/rules.rs:68:38 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/rules.rs:121:38 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/rules.rs:148:38 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:62:28 [INFO] [stdout] | [INFO] [stdout] 62 | pub type RcRateCurve = Qrc; [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:113:38 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:168:38 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:214:38 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:248:38 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:282:38 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/divstream.rs:198:52 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn new(div_stream: &DividendStream, rate: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/divstream.rs:199:18 [INFO] [stdout] | [INFO] [stdout] 199 | borrow: &RateCurve, spot: f64, base_date: Date, high_water_mark: Date) [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | fn as_interp(&self) -> &Interpolate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:45:29 [INFO] [stdout] | [INFO] [stdout] 45 | fn as_interp(&self) -> &Interpolate { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | interp: Box> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:67:29 [INFO] [stdout] | [INFO] [stdout] 67 | fn as_interp(&self) -> &Interpolate { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new(interp: Box>) -> InterpolatedForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | fn as_interp(&self) -> &Interpolate { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:167:36 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn discount_with_borrow(rate: &RateCurve, borrow: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:167:56 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn discount_with_borrow(rate: &RateCurve, borrow: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:177:40 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn log_discount_with_borrow(rate: &RateCurve, borrow: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:177:60 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn log_discount_with_borrow(rate: &RateCurve, borrow: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:37:38 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:54:35 [INFO] [stdout] | [INFO] [stdout] 54 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:69:34 [INFO] [stdout] | [INFO] [stdout] 69 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:109:38 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:121:35 [INFO] [stdout] | [INFO] [stdout] 121 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:146:34 [INFO] [stdout] | [INFO] [stdout] 146 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:182:38 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:192:35 [INFO] [stdout] | [INFO] [stdout] 192 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:208:34 [INFO] [stdout] | [INFO] [stdout] 208 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:249:38 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:259:35 [INFO] [stdout] | [INFO] [stdout] 259 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:276:34 [INFO] [stdout] | [INFO] [stdout] 276 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:303:25 [INFO] [stdout] | [INFO] [stdout] 303 | bumped_forward: Arc [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:311:60 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new(base_vol: RcVolSurface, bumped_forward: Arc) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:329:35 [INFO] [stdout] | [INFO] [stdout] 329 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:361:34 [INFO] [stdout] | [INFO] [stdout] 361 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | volatilities: &mut[f64]) -> Result<(f64), qm::Error>; [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:65:34 [INFO] [stdout] | [INFO] [stdout] 65 | fn forward(&self) -> Option<&Interpolate>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:235:29 [INFO] [stdout] | [INFO] [stdout] 235 | pub type RcVolSurface = Qrc; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn VolSurface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:360:22 [INFO] [stdout] | [INFO] [stdout] 360 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:360:41 [INFO] [stdout] | [INFO] [stdout] 360 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:421:44 [INFO] [stdout] | [INFO] [stdout] 421 | volatilities: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:437:34 [INFO] [stdout] | [INFO] [stdout] 437 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:473:38 [INFO] [stdout] | [INFO] [stdout] 473 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:579:34 [INFO] [stdout] | [INFO] [stdout] 579 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:800:38 [INFO] [stdout] | [INFO] [stdout] 800 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:811:44 [INFO] [stdout] | [INFO] [stdout] 811 | volatilities: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:816:34 [INFO] [stdout] | [INFO] [stdout] 816 | fn forward(&self) -> Option<&Interpolate> { self.0.forward() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:854:38 [INFO] [stdout] | [INFO] [stdout] 854 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:865:44 [INFO] [stdout] | [INFO] [stdout] 865 | volatilities: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:870:34 [INFO] [stdout] | [INFO] [stdout] 870 | fn forward(&self) -> Option<&Interpolate> { self.0.forward() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:45:76 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:73:42 [INFO] [stdout] | [INFO] [stdout] 73 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:80:39 [INFO] [stdout] | [INFO] [stdout] 80 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:118:33 [INFO] [stdout] | [INFO] [stdout] 118 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:124:33 [INFO] [stdout] | [INFO] [stdout] 124 | fn prices(&self, _context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:135:49 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn dependence_on_spot_discount(instrument: &Instrument, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:136:19 [INFO] [stdout] | [INFO] [stdout] 136 | context: &mut DependencyContext) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:202:38 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:202:76 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:221:42 [INFO] [stdout] | [INFO] [stdout] 221 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:239:39 [INFO] [stdout] | [INFO] [stdout] 239 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:277:33 [INFO] [stdout] | [INFO] [stdout] 277 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:281:32 [INFO] [stdout] | [INFO] [stdout] 281 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:326:38 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:326:76 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:350:42 [INFO] [stdout] | [INFO] [stdout] 350 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:357:39 [INFO] [stdout] | [INFO] [stdout] 357 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:395:33 [INFO] [stdout] | [INFO] [stdout] 395 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:399:32 [INFO] [stdout] | [INFO] [stdout] 399 | fn prices(&self, _context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:58:38 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:80:42 [INFO] [stdout] | [INFO] [stdout] 80 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:94:39 [INFO] [stdout] | [INFO] [stdout] 94 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:120:33 [INFO] [stdout] | [INFO] [stdout] 120 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:88:32 [INFO] [stdout] | [INFO] [stdout] 88 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64], [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:90:30 [INFO] [stdout] | [INFO] [stdout] 90 | strike_and_forward: &Fn(&Priceable) -> Result<(f64, f64), qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Priceable) -> Result<(f64, f64), qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:90:34 [INFO] [stdout] | [INFO] [stdout] 90 | strike_and_forward: &Fn(&Priceable) -> Result<(f64, f64), qm::Error>) [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:246:38 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:246:76 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:276:38 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:276:76 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:304:42 [INFO] [stdout] | [INFO] [stdout] 304 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:336:42 [INFO] [stdout] | [INFO] [stdout] 336 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:338:39 [INFO] [stdout] | [INFO] [stdout] 338 | fn as_priceable(&self) -> Option<&Priceable> { Some(self) } [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:339:42 [INFO] [stdout] | [INFO] [stdout] 339 | fn as_mc_priceable(&self) -> Option<&MonteCarloPriceable> { Some(self) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloPriceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:401:39 [INFO] [stdout] | [INFO] [stdout] 401 | fn as_priceable(&self) -> Option<&Priceable> { Some(self) } [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:402:42 [INFO] [stdout] | [INFO] [stdout] 402 | fn as_mc_priceable(&self) -> Option<&MonteCarloPriceable> { Some(self) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloPriceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:404:42 [INFO] [stdout] | [INFO] [stdout] 404 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:443:33 [INFO] [stdout] | [INFO] [stdout] 443 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:446:32 [INFO] [stdout] | [INFO] [stdout] 446 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:456:33 [INFO] [stdout] | [INFO] [stdout] 456 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:461:32 [INFO] [stdout] | [INFO] [stdout] 461 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:480:33 [INFO] [stdout] | [INFO] [stdout] 480 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:483:22 [INFO] [stdout] | [INFO] [stdout] 483 | output: &mut MonteCarloDependencies) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloDependencies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:507:34 [INFO] [stdout] | [INFO] [stdout] 507 | fn mc_price(&self, context: &MonteCarloContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:545:33 [INFO] [stdout] | [INFO] [stdout] 545 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:548:22 [INFO] [stdout] | [INFO] [stdout] 548 | output: &mut MonteCarloDependencies) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloDependencies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:573:34 [INFO] [stdout] | [INFO] [stdout] 573 | fn mc_price(&self, context: &MonteCarloContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:58:38 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:68:42 [INFO] [stdout] | [INFO] [stdout] 68 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:92:39 [INFO] [stdout] | [INFO] [stdout] 92 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:144:33 [INFO] [stdout] | [INFO] [stdout] 144 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:147:32 [INFO] [stdout] | [INFO] [stdout] 147 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:71:42 [INFO] [stdout] | [INFO] [stdout] 71 | fn dependencies(&self, context: &mut DependencyContext) -> SpotRequirement; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:125:39 [INFO] [stdout] | [INFO] [stdout] 125 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:130:42 [INFO] [stdout] | [INFO] [stdout] 130 | fn as_mc_priceable(&self) -> Option<&MonteCarloPriceable> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloPriceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:180:48 [INFO] [stdout] | [INFO] [stdout] 180 | pub type TypeRegistry = Registry>>; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:183:40 [INFO] [stdout] | [INFO] [stdout] 183 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:212:29 [INFO] [stdout] | [INFO] [stdout] 212 | pub type RcInstrument = Drc>; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:212:45 [INFO] [stdout] | [INFO] [stdout] 212 | pub type RcInstrument = Drc>; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:243:49 [INFO] [stdout] | [INFO] [stdout] 243 | pub static DEDUP_INSTRUMENT : RefCell>> [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:243:65 [INFO] [stdout] | [INFO] [stdout] 243 | pub static DEDUP_INSTRUMENT : RefCell>> [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:257:28 [INFO] [stdout] | [INFO] [stdout] 257 | let qrc : &Qrc = self.content(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:300:26 [INFO] [stdout] | [INFO] [stdout] 300 | let obj: Qrc = sd::de::Deserialize::deserialize(sd::de::value::MapAccessDeserializer::new(visitor))?; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:383:40 [INFO] [stdout] | [INFO] [stdout] 383 | fn new_dated(&self, date: Date) -> Dated; [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Dated` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:423:31 [INFO] [stdout] | [INFO] [stdout] 423 | fn price(&self, context: &PricingContext, val_date: DateTime) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:435:32 [INFO] [stdout] | [INFO] [stdout] 435 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:440:33 [INFO] [stdout] | [INFO] [stdout] 440 | fn as_instrument(&self) -> &Instrument; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:447:20 [INFO] [stdout] | [INFO] [stdout] 447 | priceable: &'a Priceable, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:448:18 [INFO] [stdout] | [INFO] [stdout] 448 | context: &'a PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:453:31 [INFO] [stdout] | [INFO] [stdout] 453 | pub fn new(priceable: &'a Priceable, context: &'a PricingContext, time_of_day: TimeOfDay) [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:453:55 [INFO] [stdout] | [INFO] [stdout] 453 | pub fn new(priceable: &'a Priceable, context: &'a PricingContext, time_of_day: TimeOfDay) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:460:29 [INFO] [stdout] | [INFO] [stdout] 460 | fn as_interp(&self) -> &Interpolate { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:487:42 [INFO] [stdout] | [INFO] [stdout] 487 | fn forward_curve(&self, instrument: &Instrument, high_water_mark: Date) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:488:23 [INFO] [stdout] | [INFO] [stdout] 488 | -> Result, qm::Error>; [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:493:40 [INFO] [stdout] | [INFO] [stdout] 493 | fn vol_surface(&self, instrument: &Instrument, high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:494:22 [INFO] [stdout] | [INFO] [stdout] 494 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:494:41 [INFO] [stdout] | [INFO] [stdout] 494 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:507:35 [INFO] [stdout] | [INFO] [stdout] 507 | fn correlation(&self, first: &Instrument, second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:507:56 [INFO] [stdout] | [INFO] [stdout] 507 | fn correlation(&self, first: &Instrument, second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:539:22 [INFO] [stdout] | [INFO] [stdout] 539 | output: &mut MonteCarloDependencies) -> Result<(), qm::Error>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloDependencies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:556:34 [INFO] [stdout] | [INFO] [stdout] 556 | fn mc_price(&self, context: &MonteCarloContext) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:559:33 [INFO] [stdout] | [INFO] [stdout] 559 | fn as_instrument(&self) -> &Instrument; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:608:35 [INFO] [stdout] | [INFO] [stdout] 608 | fn pricing_context(&self) -> &PricingContext; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:111:29 [INFO] [stdout] | [INFO] [stdout] 111 | let instr: &Instrument = &*instrument.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:188:42 [INFO] [stdout] | [INFO] [stdout] 188 | fn forward_curve(&self, instrument: &Instrument, high_water_mark: Date) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:215:40 [INFO] [stdout] | [INFO] [stdout] 215 | fn vol_surface(&self, instrument: &Instrument, _high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:216:22 [INFO] [stdout] | [INFO] [stdout] 216 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:216:41 [INFO] [stdout] | [INFO] [stdout] 216 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:228:36 [INFO] [stdout] | [INFO] [stdout] 228 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:228:58 [INFO] [stdout] | [INFO] [stdout] 228 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:246:55 [INFO] [stdout] | [INFO] [stdout] 246 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:276:35 [INFO] [stdout] | [INFO] [stdout] 276 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:280:27 [INFO] [stdout] | [INFO] [stdout] 280 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:284:39 [INFO] [stdout] | [INFO] [stdout] 284 | fn restore(&mut self, any_saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:301:31 [INFO] [stdout] | [INFO] [stdout] 301 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:302:43 [INFO] [stdout] | [INFO] [stdout] 302 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:303:38 [INFO] [stdout] | [INFO] [stdout] 303 | fn as_pricing_context(&self) -> &PricingContext { self } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:307:40 [INFO] [stdout] | [INFO] [stdout] 307 | fn to_saved_data(opt_save: Option<&mut Saveable>) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:320:42 [INFO] [stdout] | [INFO] [stdout] 320 | fn apply_bump(id: &str, bump: &Bumper, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Bumper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:374:26 [INFO] [stdout] | [INFO] [stdout] 374 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:375:38 [INFO] [stdout] | [INFO] [stdout] 375 | fn as_mut_any(&mut self) -> &mut Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:29:41 [INFO] [stdout] | [INFO] [stdout] 29 | forward_curves: HashMap>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:73:63 [INFO] [stdout] | [INFO] [stdout] 73 | saved_forward_curves: Option<&mut HashMap>>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:88:34 [INFO] [stdout] | [INFO] [stdout] 88 | let instrument: &Instrument = &*inst.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:143:46 [INFO] [stdout] | [INFO] [stdout] 143 | forward_curves: &mut HashMap>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:153:27 [INFO] [stdout] | [INFO] [stdout] 153 | let instrument : &Instrument = rc_instrument.deref(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:188:42 [INFO] [stdout] | [INFO] [stdout] 188 | fn forward_curve(&self, instrument: &Instrument, _high_water_mark: Date) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:196:40 [INFO] [stdout] | [INFO] [stdout] 196 | fn vol_surface(&self, instrument: &Instrument, _high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:197:23 [INFO] [stdout] | [INFO] [stdout] 197 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:197:42 [INFO] [stdout] | [INFO] [stdout] 197 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:202:35 [INFO] [stdout] | [INFO] [stdout] 202 | fn correlation(&self, first: &Instrument, second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:202:56 [INFO] [stdout] | [INFO] [stdout] 202 | fn correlation(&self, first: &Instrument, second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:224:60 [INFO] [stdout] | [INFO] [stdout] 224 | fn bump(&mut self, bump: &Bump, any_saved: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:235:28 [INFO] [stdout] | [INFO] [stdout] 235 | : (Option<&mut Saveable> [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:236:47 [INFO] [stdout] | [INFO] [stdout] 236 | , Option<&mut HashMap>> [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:297:27 [INFO] [stdout] | [INFO] [stdout] 297 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:301:35 [INFO] [stdout] | [INFO] [stdout] 301 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:305:39 [INFO] [stdout] | [INFO] [stdout] 305 | fn restore(&mut self, any_saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:325:31 [INFO] [stdout] | [INFO] [stdout] 325 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:326:43 [INFO] [stdout] | [INFO] [stdout] 326 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:327:38 [INFO] [stdout] | [INFO] [stdout] 327 | fn as_pricing_context(&self) -> &PricingContext { self } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:331:40 [INFO] [stdout] | [INFO] [stdout] 331 | fn to_saved(opt_any_saved: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:349:41 [INFO] [stdout] | [INFO] [stdout] 349 | forward_curves: HashMap>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:366:26 [INFO] [stdout] | [INFO] [stdout] 366 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:367:38 [INFO] [stdout] | [INFO] [stdout] 367 | fn as_mut_any(&mut self) -> &mut Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/bumptime.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | bumpable: &mut Bumpable) -> Result { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/bumptime.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 58 | context: &PricingContext, dependencies: &DependencyCollector) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/bumptime.rs:77:40 [INFO] [stdout] | [INFO] [stdout] 77 | ... let inst: &Instrument = &*instrument.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:33:26 [INFO] [stdout] | [INFO] [stdout] 33 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:42:38 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:42:77 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:75:39 [INFO] [stdout] | [INFO] [stdout] 75 | fn validate_report(&self, other: &Report, tol: &ReportTolerances, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:128:38 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:128:76 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:138:37 [INFO] [stdout] | [INFO] [stdout] 138 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:138:60 [INFO] [stdout] | [INFO] [stdout] 138 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/timebumped.rs:112:38 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/timebumped.rs:112:76 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:42:26 [INFO] [stdout] | [INFO] [stdout] 42 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:50:38 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:50:77 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | fn validate_report(&self, other: &Report, tol: &ReportTolerances, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:136:38 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:136:76 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:146:37 [INFO] [stdout] | [INFO] [stdout] 146 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:146:60 [INFO] [stdout] | [INFO] [stdout] 146 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:38:55 [INFO] [stdout] | [INFO] [stdout] 38 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | fn context(&self) -> &PricingContext; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:49:35 [INFO] [stdout] | [INFO] [stdout] 49 | fn new_saveable(&self) -> Box; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | fn restore(&mut self, saved: &Saveable) -> Result<(), qm::Error>; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:56:31 [INFO] [stdout] | [INFO] [stdout] 56 | fn as_bumpable(&self) -> &Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:57:43 [INFO] [stdout] | [INFO] [stdout] 57 | fn as_mut_bumpable(&mut self) -> &mut Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:58:38 [INFO] [stdout] | [INFO] [stdout] 58 | fn as_pricing_context(&self) -> &PricingContext; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | fn clone_box(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:69:32 [INFO] [stdout] | [INFO] [stdout] 69 | fn clone_box(&self) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:74:20 [INFO] [stdout] | [INFO] [stdout] 74 | impl Clone for Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | fn clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:95:31 [INFO] [stdout] | [INFO] [stdout] 95 | fn as_bumpable(&self) -> &Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:96:43 [INFO] [stdout] | [INFO] [stdout] 96 | fn as_mut_bumpable(&mut self) -> &mut Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:97:48 [INFO] [stdout] | [INFO] [stdout] 97 | fn as_mut_time_bumpable(&mut self) -> &mut TimeBumpable; [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TimeBumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:117:32 [INFO] [stdout] | [INFO] [stdout] 117 | fn clone_box(&self) -> Box; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:126:26 [INFO] [stdout] | [INFO] [stdout] 126 | fn as_any(&self) -> &Any; [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:127:38 [INFO] [stdout] | [INFO] [stdout] 127 | fn as_mut_any(&mut self) -> &mut Any; [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | fn as_any(&self) -> &Any; [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:146:39 [INFO] [stdout] | [INFO] [stdout] 146 | fn validate_report(&self, other: &Report, tol: &ReportTolerances, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:179:37 [INFO] [stdout] | [INFO] [stdout] 179 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:179:60 [INFO] [stdout] | [INFO] [stdout] 179 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:185:34 [INFO] [stdout] | [INFO] [stdout] 185 | pub type RcReportGenerator = Qrc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:186:57 [INFO] [stdout] | [INFO] [stdout] 186 | pub type GeneratorTypeRegistry = Registry>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:189:40 [INFO] [stdout] | [INFO] [stdout] 189 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:214:27 [INFO] [stdout] | [INFO] [stdout] 214 | pub type BoxReport = Qbox; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:230:28 [INFO] [stdout] | [INFO] [stdout] 230 | let self_report : &Report = self.deref(); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:231:29 [INFO] [stdout] | [INFO] [stdout] 231 | let other_report : &Report = other.deref(); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:268:47 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn bumped_price(bump: &Bump, pricer: &mut Pricer, saveable: Option<&mut Saveable>, unbumped: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:268:77 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn bumped_price(bump: &Bump, pricer: &mut Pricer, saveable: Option<&mut Saveable>, unbumped: f64) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:62:38 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:62:76 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModelFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:74:22 [INFO] [stdout] | [INFO] [stdout] 74 | context: Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:75:23 [INFO] [stdout] | [INFO] [stdout] 75 | -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | context: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:151:22 [INFO] [stdout] | [INFO] [stdout] 151 | context: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:253:15 [INFO] [stdout] | [INFO] [stdout] 253 | context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:269:22 [INFO] [stdout] | [INFO] [stdout] 269 | let instr : &Instrument = instrument.deref(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:297:15 [INFO] [stdout] | [INFO] [stdout] 297 | context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:382:15 [INFO] [stdout] | [INFO] [stdout] 382 | context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:400:21 [INFO] [stdout] | [INFO] [stdout] 400 | let instr: &Instrument = asset.deref(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:408:32 [INFO] [stdout] | [INFO] [stdout] 408 | pub fn fetch_path(instrument: &Instrument, context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:408:54 [INFO] [stdout] | [INFO] [stdout] 408 | pub fn fetch_path(instrument: &Instrument, context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:481:33 [INFO] [stdout] | [INFO] [stdout] 481 | fn as_mc_context(&self) -> &MonteCarloContext { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:482:31 [INFO] [stdout] | [INFO] [stdout] 482 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:483:43 [INFO] [stdout] | [INFO] [stdout] 483 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:541:35 [INFO] [stdout] | [INFO] [stdout] 541 | fn pricing_context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:548:60 [INFO] [stdout] | [INFO] [stdout] 548 | fn bump(&mut self, bump: &Bump, any_saved: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:555:28 [INFO] [stdout] | [INFO] [stdout] 555 | : (Option<&mut Saveable>, Option<&mut HashMap>>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:604:35 [INFO] [stdout] | [INFO] [stdout] 604 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:613:27 [INFO] [stdout] | [INFO] [stdout] 613 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:617:39 [INFO] [stdout] | [INFO] [stdout] 617 | fn restore(&mut self, any_saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:638:39 [INFO] [stdout] | [INFO] [stdout] 638 | fn to_saved(opt_saveable: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:654:21 [INFO] [stdout] | [INFO] [stdout] 654 | saved_data: Box, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:662:32 [INFO] [stdout] | [INFO] [stdout] 662 | pub fn new(saved_data: Box) -> SavedBlackDiffusion { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:670:26 [INFO] [stdout] | [INFO] [stdout] 670 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:671:38 [INFO] [stdout] | [INFO] [stdout] 671 | fn as_mut_any(&mut self) -> &mut Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | context: Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | -> Result, qm::Error>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:36:48 [INFO] [stdout] | [INFO] [stdout] 36 | pub type TypeRegistry = Registry>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModelFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModelFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:59:41 [INFO] [stdout] | [INFO] [stdout] 59 | pub type RcMonteCarloModelFactory = Qrc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModelFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:66:33 [INFO] [stdout] | [INFO] [stdout] 66 | fn as_mc_context(&self) -> &MonteCarloContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:69:31 [INFO] [stdout] | [INFO] [stdout] 69 | fn as_bumpable(&self) -> &Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | fn as_mut_bumpable(&mut self) -> &mut Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:76:32 [INFO] [stdout] | [INFO] [stdout] 76 | fn clone_box(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:82:32 [INFO] [stdout] | [INFO] [stdout] 82 | fn clone_box(&self) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:87:20 [INFO] [stdout] | [INFO] [stdout] 87 | impl Clone for Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:88:28 [INFO] [stdout] | [INFO] [stdout] 88 | fn clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | model: Box [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:58:38 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:69:50 [INFO] [stdout] | [INFO] [stdout] 69 | market_data: RcMarketData) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:119:31 [INFO] [stdout] | [INFO] [stdout] 119 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:121:48 [INFO] [stdout] | [INFO] [stdout] 121 | fn as_mut_time_bumpable(&mut self) -> &mut TimeBumpable { self } [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TimeBumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:144:32 [INFO] [stdout] | [INFO] [stdout] 144 | fn clone_box(&self) -> Box { Box::new(self.clone()) } [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:148:55 [INFO] [stdout] | [INFO] [stdout] 148 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:157:27 [INFO] [stdout] | [INFO] [stdout] 157 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:161:35 [INFO] [stdout] | [INFO] [stdout] 161 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:165:35 [INFO] [stdout] | [INFO] [stdout] 165 | fn restore(&mut self, saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:49:38 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:49:76 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:60:50 [INFO] [stdout] | [INFO] [stdout] 60 | market_data: RcMarketData) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:99:31 [INFO] [stdout] | [INFO] [stdout] 99 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:100:43 [INFO] [stdout] | [INFO] [stdout] 100 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:101:48 [INFO] [stdout] | [INFO] [stdout] 101 | fn as_mut_time_bumpable(&mut self) -> &mut TimeBumpable { self } [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TimeBumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | fn clone_box(&self) -> Box { Box::new(self.clone()) } [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:129:55 [INFO] [stdout] | [INFO] [stdout] 129 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:138:27 [INFO] [stdout] | [INFO] [stdout] 138 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:142:35 [INFO] [stdout] | [INFO] [stdout] 142 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:146:35 [INFO] [stdout] | [INFO] [stdout] 146 | fn restore(&mut self, saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/mod.rs:26:50 [INFO] [stdout] | [INFO] [stdout] 26 | market_data: RcMarketData) -> Result, qm::Error>; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/mod.rs:32:48 [INFO] [stdout] | [INFO] [stdout] 32 | pub type TypeRegistry = Registry>>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/mod.rs:35:40 [INFO] [stdout] | [INFO] [stdout] 35 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/mod.rs:56:32 [INFO] [stdout] | [INFO] [stdout] 56 | pub type RcPricerFactory = Qrc; [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/solvers/impliedvol.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | fn solve(&self, pricer: &mut Pricer, target: f64, min: f64, max: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/solvers/impliedvol.rs:43:33 [INFO] [stdout] | [INFO] [stdout] 43 | fn price_given_vol(pricer: &mut Pricer, vol: f64, id: &str) -> Result { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/solvers/impliedvol.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | fn single_vol_id(pricer: &Pricer) -> Result { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/solvers/mod.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 19 | fn solve(&self, pricer: &mut Pricer, target: f64, min: f64, max: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:34:42 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn instrument_from_json(source: &mut Read, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:47:27 [INFO] [stdout] | [INFO] [stdout] 47 | let mut opt = Dedup::>::new(instr_dedup, instruments_map); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:47:43 [INFO] [stdout] | [INFO] [stdout] 47 | let mut opt = Dedup::>::new(instr_dedup, instruments_map); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:63:40 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn currency_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:75:46 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn pricer_factory_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:86:44 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn fixing_table_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:99:43 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn market_data_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:110:48 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn report_generator_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:122:39 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn reports_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:153:69 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn write_results(reports: &[BoxReport], pretty: bool, out: &mut Write) [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:183:62 [INFO] [stdout] | [INFO] [stdout] 183 | fn serialize_output(to_write: &T, pretty: bool, out: &mut Write) -> Result<(), qm::Error> [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/instruments/mod.rs:240:1 [INFO] [stdout] | [INFO] [stdout] 240 | /// Support for deduplication of instruments when serializing and deserializing [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:267:35 [INFO] [stdout] | [INFO] [stdout] 267 | impl<'a> serde::Serialize for Stored + 'a { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Stored + 'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:282:29 [INFO] [stdout] | [INFO] [stdout] 282 | pub type RcStored = Qrc; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:286:44 [INFO] [stdout] | [INFO] [stdout] 286 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:317:32 [INFO] [stdout] | [INFO] [stdout] 317 | pub fn a<'de>(de: &mut Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:322:32 [INFO] [stdout] | [INFO] [stdout] 322 | pub fn b<'de>(de: &mut Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:327:32 [INFO] [stdout] | [INFO] [stdout] 327 | pub fn c<'de>(de: &mut Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:336:21 [INFO] [stdout] | [INFO] [stdout] 336 | let a : Arc = Arc::new(A { foo: "bar".to_owned() }); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:337:21 [INFO] [stdout] | [INFO] [stdout] 337 | let b : Arc = Arc::new(B::Str("Hello World".to_owned())); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:338:21 [INFO] [stdout] | [INFO] [stdout] 338 | let c : Arc = Arc::new(B::Int(42)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:387:21 [INFO] [stdout] | [INFO] [stdout] 387 | let a : Arc = Arc::new(A { foo: "bar".to_owned() }); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:388:21 [INFO] [stdout] | [INFO] [stdout] 388 | let b : Arc = Arc::new(B::Str("Hello World".to_owned())); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | let c : Arc = Arc::new(B::Int(42)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:420:30 [INFO] [stdout] | [INFO] [stdout] 420 | pub type DrcStored = Drc; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:430:45 [INFO] [stdout] | [INFO] [stdout] 430 | static DEDUP_STORED : RefCell> [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:566:21 [INFO] [stdout] | [INFO] [stdout] 566 | let a : Arc = Arc::new(A { foo: "a".to_owned() }); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:568:21 [INFO] [stdout] | [INFO] [stdout] 568 | let b : Arc = Arc::new(B::Str("b".to_owned())); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:570:21 [INFO] [stdout] | [INFO] [stdout] 570 | let c : Arc = Arc::new(C { id: "c".to_string(), left: rc_a.clone(), right: rc_b.clone() }); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:572:21 [INFO] [stdout] | [INFO] [stdout] 572 | let d : Arc = Arc::new(C { id: "d".to_string(), left: rc_c.clone(), right: rc_c.clone() }); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:612:21 [INFO] [stdout] | [INFO] [stdout] 612 | let a : Arc = Arc::new(A { foo: "a".to_owned() }); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:614:21 [INFO] [stdout] | [INFO] [stdout] 614 | let b : Arc = Arc::new(B::Str("b".to_owned())); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:616:21 [INFO] [stdout] | [INFO] [stdout] 616 | let c : Arc = Arc::new(C { id: "c".to_string(), left: rc_a.clone(), right: rc_b.clone() }); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:618:21 [INFO] [stdout] | [INFO] [stdout] 618 | let d : Arc = Arc::new(C { id: "d".to_string(), left: rc_c.clone(), right: rc_c.clone() }); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:651:36 [INFO] [stdout] | [INFO] [stdout] 651 | let mut seed = Dedup::>::new(control.clone(), map.clone()); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:651:48 [INFO] [stdout] | [INFO] [stdout] 651 | let mut seed = Dedup::>::new(control.clone(), map.clone()); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:660:32 [INFO] [stdout] | [INFO] [stdout] 660 | let mut seed = Dedup::>::new(control.clone(), map.clone()); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/factories.rs:660:44 [INFO] [stdout] | [INFO] [stdout] 660 | let mut seed = Dedup::>::new(control.clone(), map.clone()); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Stored` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/math/interpolation.rs:550:18 [INFO] [stdout] | [INFO] [stdout] 550 | interp: &Interpolate, x: f64, deriv: f64, expected: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:86:27 [INFO] [stdout] | [INFO] [stdout] 86 | pub type RcCalendar = Qrc; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Calendar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:125:38 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:306:38 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:503:38 [INFO] [stdout] | [INFO] [stdout] 503 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:754:43 [INFO] [stdout] | [INFO] [stdout] 754 | fn consistency_check_count(calendar: &Calendar, exact: bool) { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Calendar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:798:31 [INFO] [stdout] | [INFO] [stdout] 798 | fn assert_step(calendar: &Calendar, stepped: Date, manual: Date, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Calendar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:823:42 [INFO] [stdout] | [INFO] [stdout] 823 | fn consistency_check_step(calendar: &Calendar) { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Calendar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:860:32 [INFO] [stdout] | [INFO] [stdout] 860 | fn manual_count(calendar: &Calendar, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Calendar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/calendar.rs:879:20 [INFO] [stdout] | [INFO] [stdout] 879 | calendar: &Calendar, from: Date, direction: i32, steps: i32) -> Date { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Calendar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/rules.rs:27:27 [INFO] [stdout] | [INFO] [stdout] 27 | pub type RcDateRule = Qrc; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn DateRule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/rules.rs:68:38 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/rules.rs:121:38 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dates/rules.rs:148:38 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:62:28 [INFO] [stdout] | [INFO] [stdout] 62 | pub type RcRateCurve = Qrc; [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:113:38 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:168:38 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:214:38 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:248:38 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/curves.rs:282:38 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/divstream.rs:198:52 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn new(div_stream: &DividendStream, rate: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/divstream.rs:199:18 [INFO] [stdout] | [INFO] [stdout] 199 | borrow: &RateCurve, spot: f64, base_date: Date, high_water_mark: Date) [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | fn as_interp(&self) -> &Interpolate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:45:29 [INFO] [stdout] | [INFO] [stdout] 45 | fn as_interp(&self) -> &Interpolate { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | interp: Box> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:67:29 [INFO] [stdout] | [INFO] [stdout] 67 | fn as_interp(&self) -> &Interpolate { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new(interp: Box>) -> InterpolatedForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | fn as_interp(&self) -> &Interpolate { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:167:36 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn discount_with_borrow(rate: &RateCurve, borrow: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:167:56 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn discount_with_borrow(rate: &RateCurve, borrow: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:177:40 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn log_discount_with_borrow(rate: &RateCurve, borrow: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/forward.rs:177:60 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn log_discount_with_borrow(rate: &RateCurve, borrow: &RateCurve, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn RateCurve` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:37:38 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:54:35 [INFO] [stdout] | [INFO] [stdout] 54 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:69:34 [INFO] [stdout] | [INFO] [stdout] 69 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:109:38 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:121:35 [INFO] [stdout] | [INFO] [stdout] 121 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:146:34 [INFO] [stdout] | [INFO] [stdout] 146 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:182:38 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:192:35 [INFO] [stdout] | [INFO] [stdout] 192 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:208:34 [INFO] [stdout] | [INFO] [stdout] 208 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:249:38 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:259:35 [INFO] [stdout] | [INFO] [stdout] 259 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:276:34 [INFO] [stdout] | [INFO] [stdout] 276 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:303:25 [INFO] [stdout] | [INFO] [stdout] 303 | bumped_forward: Arc [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:311:60 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new(base_vol: RcVolSurface, bumped_forward: Arc) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/voldecorators.rs:329:35 [INFO] [stdout] | [INFO] [stdout] 329 | out: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/voldecorators.rs:361:34 [INFO] [stdout] | [INFO] [stdout] 361 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | volatilities: &mut[f64]) -> Result<(f64), qm::Error>; [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:65:34 [INFO] [stdout] | [INFO] [stdout] 65 | fn forward(&self) -> Option<&Interpolate>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:235:29 [INFO] [stdout] | [INFO] [stdout] 235 | pub type RcVolSurface = Qrc; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn VolSurface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:360:22 [INFO] [stdout] | [INFO] [stdout] 360 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:360:41 [INFO] [stdout] | [INFO] [stdout] 360 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:421:44 [INFO] [stdout] | [INFO] [stdout] 421 | volatilities: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:437:34 [INFO] [stdout] | [INFO] [stdout] 437 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:473:38 [INFO] [stdout] | [INFO] [stdout] 473 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:579:34 [INFO] [stdout] | [INFO] [stdout] 579 | fn forward(&self) -> Option<&Interpolate> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:800:38 [INFO] [stdout] | [INFO] [stdout] 800 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:811:44 [INFO] [stdout] | [INFO] [stdout] 811 | volatilities: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:816:34 [INFO] [stdout] | [INFO] [stdout] 816 | fn forward(&self) -> Option<&Interpolate> { self.0.forward() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:854:38 [INFO] [stdout] | [INFO] [stdout] 854 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/data/volsurface.rs:865:44 [INFO] [stdout] | [INFO] [stdout] 865 | volatilities: &mut[f64]) -> Result<(f64), qm::Error> { [INFO] [stdout] | ^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/data/volsurface.rs:870:34 [INFO] [stdout] | [INFO] [stdout] 870 | fn forward(&self) -> Option<&Interpolate> { self.0.forward() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:45:76 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:73:42 [INFO] [stdout] | [INFO] [stdout] 73 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:80:39 [INFO] [stdout] | [INFO] [stdout] 80 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:118:33 [INFO] [stdout] | [INFO] [stdout] 118 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:124:33 [INFO] [stdout] | [INFO] [stdout] 124 | fn prices(&self, _context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:135:49 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn dependence_on_spot_discount(instrument: &Instrument, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:136:19 [INFO] [stdout] | [INFO] [stdout] 136 | context: &mut DependencyContext) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:202:38 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:202:76 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:221:42 [INFO] [stdout] | [INFO] [stdout] 221 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:239:39 [INFO] [stdout] | [INFO] [stdout] 239 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:277:33 [INFO] [stdout] | [INFO] [stdout] 277 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:281:32 [INFO] [stdout] | [INFO] [stdout] 281 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:326:38 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:326:76 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:350:42 [INFO] [stdout] | [INFO] [stdout] 350 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:357:39 [INFO] [stdout] | [INFO] [stdout] 357 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:395:33 [INFO] [stdout] | [INFO] [stdout] 395 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:399:32 [INFO] [stdout] | [INFO] [stdout] 399 | fn prices(&self, _context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:461:47 [INFO] [stdout] | [INFO] [stdout] 461 | fn forward_curve(&self, _instrument: &Instrument, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:462:51 [INFO] [stdout] | [INFO] [stdout] 462 | _high_water_mark: Date) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:466:45 [INFO] [stdout] | [INFO] [stdout] 466 | fn vol_surface(&self, _instrument: &Instrument, _high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:467:27 [INFO] [stdout] | [INFO] [stdout] 467 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:467:46 [INFO] [stdout] | [INFO] [stdout] 467 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:472:40 [INFO] [stdout] | [INFO] [stdout] 472 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/assets.rs:472:62 [INFO] [stdout] | [INFO] [stdout] 472 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:58:38 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:80:42 [INFO] [stdout] | [INFO] [stdout] 80 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:94:39 [INFO] [stdout] | [INFO] [stdout] 94 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:120:33 [INFO] [stdout] | [INFO] [stdout] 120 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:197:47 [INFO] [stdout] | [INFO] [stdout] 197 | fn forward_curve(&self, _instrument: &Instrument, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:198:51 [INFO] [stdout] | [INFO] [stdout] 198 | _high_water_mark: Date) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:202:45 [INFO] [stdout] | [INFO] [stdout] 202 | fn vol_surface(&self, _instrument: &Instrument, _high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:203:27 [INFO] [stdout] | [INFO] [stdout] 203 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:203:46 [INFO] [stdout] | [INFO] [stdout] 203 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:208:40 [INFO] [stdout] | [INFO] [stdout] 208 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/bonds.rs:208:62 [INFO] [stdout] | [INFO] [stdout] 208 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:88:32 [INFO] [stdout] | [INFO] [stdout] 88 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64], [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:90:30 [INFO] [stdout] | [INFO] [stdout] 90 | strike_and_forward: &Fn(&Priceable) -> Result<(f64, f64), qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Priceable) -> Result<(f64, f64), qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:90:34 [INFO] [stdout] | [INFO] [stdout] 90 | strike_and_forward: &Fn(&Priceable) -> Result<(f64, f64), qm::Error>) [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:246:38 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:246:76 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:276:38 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:276:76 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:304:42 [INFO] [stdout] | [INFO] [stdout] 304 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:336:42 [INFO] [stdout] | [INFO] [stdout] 336 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:338:39 [INFO] [stdout] | [INFO] [stdout] 338 | fn as_priceable(&self) -> Option<&Priceable> { Some(self) } [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:339:42 [INFO] [stdout] | [INFO] [stdout] 339 | fn as_mc_priceable(&self) -> Option<&MonteCarloPriceable> { Some(self) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloPriceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:401:39 [INFO] [stdout] | [INFO] [stdout] 401 | fn as_priceable(&self) -> Option<&Priceable> { Some(self) } [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:402:42 [INFO] [stdout] | [INFO] [stdout] 402 | fn as_mc_priceable(&self) -> Option<&MonteCarloPriceable> { Some(self) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloPriceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:404:42 [INFO] [stdout] | [INFO] [stdout] 404 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:443:33 [INFO] [stdout] | [INFO] [stdout] 443 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:446:32 [INFO] [stdout] | [INFO] [stdout] 446 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:456:33 [INFO] [stdout] | [INFO] [stdout] 456 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:461:32 [INFO] [stdout] | [INFO] [stdout] 461 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:480:33 [INFO] [stdout] | [INFO] [stdout] 480 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:483:22 [INFO] [stdout] | [INFO] [stdout] 483 | output: &mut MonteCarloDependencies) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloDependencies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:507:34 [INFO] [stdout] | [INFO] [stdout] 507 | fn mc_price(&self, context: &MonteCarloContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:545:33 [INFO] [stdout] | [INFO] [stdout] 545 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:548:22 [INFO] [stdout] | [INFO] [stdout] 548 | output: &mut MonteCarloDependencies) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloDependencies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:573:34 [INFO] [stdout] | [INFO] [stdout] 573 | fn mc_price(&self, context: &MonteCarloContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:662:46 [INFO] [stdout] | [INFO] [stdout] 662 | fn forward_curve(&self, instrument: &Instrument, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:663:51 [INFO] [stdout] | [INFO] [stdout] 663 | _high_water_mark: Date) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:678:45 [INFO] [stdout] | [INFO] [stdout] 678 | fn vol_surface(&self, _instrument: &Instrument, _high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:679:27 [INFO] [stdout] | [INFO] [stdout] 679 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:679:46 [INFO] [stdout] | [INFO] [stdout] 679 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:689:40 [INFO] [stdout] | [INFO] [stdout] 689 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:689:62 [INFO] [stdout] | [INFO] [stdout] 689 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:1923:40 [INFO] [stdout] | [INFO] [stdout] 1923 | let mut opt_seed = Dedup::>::new(control.clone(), instruments.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:1923:56 [INFO] [stdout] | [INFO] [stdout] 1923 | let mut opt_seed = Dedup::>::new(control.clone(), instruments.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:1936:40 [INFO] [stdout] | [INFO] [stdout] 1936 | let mut opt_seed = Dedup::>::new(control.clone(), instruments.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/options.rs:1936:56 [INFO] [stdout] | [INFO] [stdout] 1936 | let mut opt_seed = Dedup::>::new(control.clone(), instruments.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:58:38 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:68:42 [INFO] [stdout] | [INFO] [stdout] 68 | fn dependencies(&self, context: &mut DependencyContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:92:39 [INFO] [stdout] | [INFO] [stdout] 92 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:144:33 [INFO] [stdout] | [INFO] [stdout] 144 | fn as_instrument(&self) -> &Instrument { self } [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:147:32 [INFO] [stdout] | [INFO] [stdout] 147 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:227:46 [INFO] [stdout] | [INFO] [stdout] 227 | fn forward_curve(&self, instrument: &Instrument, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:228:50 [INFO] [stdout] | [INFO] [stdout] 228 | high_water_mark: Date) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:240:45 [INFO] [stdout] | [INFO] [stdout] 240 | fn vol_surface(&self, _instrument: &Instrument, _high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:241:27 [INFO] [stdout] | [INFO] [stdout] 241 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:241:46 [INFO] [stdout] | [INFO] [stdout] 241 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:246:40 [INFO] [stdout] | [INFO] [stdout] 246 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/basket.rs:246:62 [INFO] [stdout] | [INFO] [stdout] 246 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:71:42 [INFO] [stdout] | [INFO] [stdout] 71 | fn dependencies(&self, context: &mut DependencyContext) -> SpotRequirement; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn DependencyContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:125:39 [INFO] [stdout] | [INFO] [stdout] 125 | fn as_priceable(&self) -> Option<&Priceable> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:130:42 [INFO] [stdout] | [INFO] [stdout] 130 | fn as_mc_priceable(&self) -> Option<&MonteCarloPriceable> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloPriceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:180:48 [INFO] [stdout] | [INFO] [stdout] 180 | pub type TypeRegistry = Registry>>; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:183:40 [INFO] [stdout] | [INFO] [stdout] 183 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:212:29 [INFO] [stdout] | [INFO] [stdout] 212 | pub type RcInstrument = Drc>; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:212:45 [INFO] [stdout] | [INFO] [stdout] 212 | pub type RcInstrument = Drc>; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:243:49 [INFO] [stdout] | [INFO] [stdout] 243 | pub static DEDUP_INSTRUMENT : RefCell>> [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:243:65 [INFO] [stdout] | [INFO] [stdout] 243 | pub static DEDUP_INSTRUMENT : RefCell>> [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:257:28 [INFO] [stdout] | [INFO] [stdout] 257 | let qrc : &Qrc = self.content(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:300:26 [INFO] [stdout] | [INFO] [stdout] 300 | let obj: Qrc = sd::de::Deserialize::deserialize(sd::de::value::MapAccessDeserializer::new(visitor))?; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:383:40 [INFO] [stdout] | [INFO] [stdout] 383 | fn new_dated(&self, date: Date) -> Dated; [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Dated` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:423:31 [INFO] [stdout] | [INFO] [stdout] 423 | fn price(&self, context: &PricingContext, val_date: DateTime) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:435:32 [INFO] [stdout] | [INFO] [stdout] 435 | fn prices(&self, context: &PricingContext, dates: &[DateTime], out: &mut [f64]) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:440:33 [INFO] [stdout] | [INFO] [stdout] 440 | fn as_instrument(&self) -> &Instrument; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:447:20 [INFO] [stdout] | [INFO] [stdout] 447 | priceable: &'a Priceable, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:448:18 [INFO] [stdout] | [INFO] [stdout] 448 | context: &'a PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:453:31 [INFO] [stdout] | [INFO] [stdout] 453 | pub fn new(priceable: &'a Priceable, context: &'a PricingContext, time_of_day: TimeOfDay) [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Priceable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:453:55 [INFO] [stdout] | [INFO] [stdout] 453 | pub fn new(priceable: &'a Priceable, context: &'a PricingContext, time_of_day: TimeOfDay) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:460:29 [INFO] [stdout] | [INFO] [stdout] 460 | fn as_interp(&self) -> &Interpolate { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Interpolate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:487:42 [INFO] [stdout] | [INFO] [stdout] 487 | fn forward_curve(&self, instrument: &Instrument, high_water_mark: Date) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:488:23 [INFO] [stdout] | [INFO] [stdout] 488 | -> Result, qm::Error>; [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:493:40 [INFO] [stdout] | [INFO] [stdout] 493 | fn vol_surface(&self, instrument: &Instrument, high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:494:22 [INFO] [stdout] | [INFO] [stdout] 494 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:494:41 [INFO] [stdout] | [INFO] [stdout] 494 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:507:35 [INFO] [stdout] | [INFO] [stdout] 507 | fn correlation(&self, first: &Instrument, second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:507:56 [INFO] [stdout] | [INFO] [stdout] 507 | fn correlation(&self, first: &Instrument, second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:539:22 [INFO] [stdout] | [INFO] [stdout] 539 | output: &mut MonteCarloDependencies) -> Result<(), qm::Error>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloDependencies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:556:34 [INFO] [stdout] | [INFO] [stdout] 556 | fn mc_price(&self, context: &MonteCarloContext) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:559:33 [INFO] [stdout] | [INFO] [stdout] 559 | fn as_instrument(&self) -> &Instrument; [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/instruments/mod.rs:608:35 [INFO] [stdout] | [INFO] [stdout] 608 | fn pricing_context(&self) -> &PricingContext; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:111:29 [INFO] [stdout] | [INFO] [stdout] 111 | let instr: &Instrument = &*instrument.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:188:42 [INFO] [stdout] | [INFO] [stdout] 188 | fn forward_curve(&self, instrument: &Instrument, high_water_mark: Date) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:215:40 [INFO] [stdout] | [INFO] [stdout] 215 | fn vol_surface(&self, instrument: &Instrument, _high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:216:22 [INFO] [stdout] | [INFO] [stdout] 216 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:216:41 [INFO] [stdout] | [INFO] [stdout] 216 | forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:228:36 [INFO] [stdout] | [INFO] [stdout] 228 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:228:58 [INFO] [stdout] | [INFO] [stdout] 228 | fn correlation(&self, _first: &Instrument, _second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:246:55 [INFO] [stdout] | [INFO] [stdout] 246 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:276:35 [INFO] [stdout] | [INFO] [stdout] 276 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:280:27 [INFO] [stdout] | [INFO] [stdout] 280 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:284:39 [INFO] [stdout] | [INFO] [stdout] 284 | fn restore(&mut self, any_saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:301:31 [INFO] [stdout] | [INFO] [stdout] 301 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:302:43 [INFO] [stdout] | [INFO] [stdout] 302 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:303:38 [INFO] [stdout] | [INFO] [stdout] 303 | fn as_pricing_context(&self) -> &PricingContext { self } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:307:40 [INFO] [stdout] | [INFO] [stdout] 307 | fn to_saved_data(opt_save: Option<&mut Saveable>) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:320:42 [INFO] [stdout] | [INFO] [stdout] 320 | fn apply_bump(id: &str, bump: &Bumper, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn Bumper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:374:26 [INFO] [stdout] | [INFO] [stdout] 374 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/marketdata.rs:375:38 [INFO] [stdout] | [INFO] [stdout] 375 | fn as_mut_any(&mut self) -> &mut Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:29:41 [INFO] [stdout] | [INFO] [stdout] 29 | forward_curves: HashMap>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:73:63 [INFO] [stdout] | [INFO] [stdout] 73 | saved_forward_curves: Option<&mut HashMap>>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:88:34 [INFO] [stdout] | [INFO] [stdout] 88 | let instrument: &Instrument = &*inst.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:143:46 [INFO] [stdout] | [INFO] [stdout] 143 | forward_curves: &mut HashMap>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:153:27 [INFO] [stdout] | [INFO] [stdout] 153 | let instrument : &Instrument = rc_instrument.deref(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:188:42 [INFO] [stdout] | [INFO] [stdout] 188 | fn forward_curve(&self, instrument: &Instrument, _high_water_mark: Date) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:196:40 [INFO] [stdout] | [INFO] [stdout] 196 | fn vol_surface(&self, instrument: &Instrument, _high_water_mark: Date, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:197:23 [INFO] [stdout] | [INFO] [stdout] 197 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Result, qm::Error>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:197:42 [INFO] [stdout] | [INFO] [stdout] 197 | _forward_fn: &Fn() -> Result, qm::Error>) [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:202:35 [INFO] [stdout] | [INFO] [stdout] 202 | fn correlation(&self, first: &Instrument, second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:202:56 [INFO] [stdout] | [INFO] [stdout] 202 | fn correlation(&self, first: &Instrument, second: &Instrument) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:224:60 [INFO] [stdout] | [INFO] [stdout] 224 | fn bump(&mut self, bump: &Bump, any_saved: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:235:28 [INFO] [stdout] | [INFO] [stdout] 235 | : (Option<&mut Saveable> [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:236:47 [INFO] [stdout] | [INFO] [stdout] 236 | , Option<&mut HashMap>> [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:297:27 [INFO] [stdout] | [INFO] [stdout] 297 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:301:35 [INFO] [stdout] | [INFO] [stdout] 301 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:305:39 [INFO] [stdout] | [INFO] [stdout] 305 | fn restore(&mut self, any_saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:325:31 [INFO] [stdout] | [INFO] [stdout] 325 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:326:43 [INFO] [stdout] | [INFO] [stdout] 326 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:327:38 [INFO] [stdout] | [INFO] [stdout] 327 | fn as_pricing_context(&self) -> &PricingContext { self } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:331:40 [INFO] [stdout] | [INFO] [stdout] 331 | fn to_saved(opt_any_saved: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:349:41 [INFO] [stdout] | [INFO] [stdout] 349 | forward_curves: HashMap>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:366:26 [INFO] [stdout] | [INFO] [stdout] 366 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/cache.rs:367:38 [INFO] [stdout] | [INFO] [stdout] 367 | fn as_mut_any(&mut self) -> &mut Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/bumptime.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | bumpable: &mut Bumpable) -> Result { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/bumptime.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 58 | context: &PricingContext, dependencies: &DependencyCollector) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/bumptime.rs:77:40 [INFO] [stdout] | [INFO] [stdout] 77 | ... let inst: &Instrument = &*instrument.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:33:26 [INFO] [stdout] | [INFO] [stdout] 33 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:42:38 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:42:77 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:75:39 [INFO] [stdout] | [INFO] [stdout] 75 | fn validate_report(&self, other: &Report, tol: &ReportTolerances, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:128:38 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:128:76 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:138:37 [INFO] [stdout] | [INFO] [stdout] 138 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:138:60 [INFO] [stdout] | [INFO] [stdout] 138 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:208:35 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn sample_pricer() -> Box { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:226:35 [INFO] [stdout] | [INFO] [stdout] 226 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:227:47 [INFO] [stdout] | [INFO] [stdout] 227 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:228:52 [INFO] [stdout] | [INFO] [stdout] 228 | fn as_mut_time_bumpable(&mut self) -> &mut TimeBumpable { self } [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TimeBumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:239:36 [INFO] [stdout] | [INFO] [stdout] 239 | fn clone_box(&self) -> Box { Box::new(self.clone()) } [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:243:59 [INFO] [stdout] | [INFO] [stdout] 243 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) -> Result { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:249:31 [INFO] [stdout] | [INFO] [stdout] 249 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:252:39 [INFO] [stdout] | [INFO] [stdout] 252 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/deltagamma.rs:255:39 [INFO] [stdout] | [INFO] [stdout] 255 | fn restore(&mut self, saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/timebumped.rs:112:38 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/timebumped.rs:112:76 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:42:26 [INFO] [stdout] | [INFO] [stdout] 42 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:50:38 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:50:77 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | fn validate_report(&self, other: &Report, tol: &ReportTolerances, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:136:38 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:136:76 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:146:37 [INFO] [stdout] | [INFO] [stdout] 146 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/vegavolga.rs:146:60 [INFO] [stdout] | [INFO] [stdout] 146 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:38:55 [INFO] [stdout] | [INFO] [stdout] 38 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | fn context(&self) -> &PricingContext; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:49:35 [INFO] [stdout] | [INFO] [stdout] 49 | fn new_saveable(&self) -> Box; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | fn restore(&mut self, saved: &Saveable) -> Result<(), qm::Error>; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:56:31 [INFO] [stdout] | [INFO] [stdout] 56 | fn as_bumpable(&self) -> &Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:57:43 [INFO] [stdout] | [INFO] [stdout] 57 | fn as_mut_bumpable(&mut self) -> &mut Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:58:38 [INFO] [stdout] | [INFO] [stdout] 58 | fn as_pricing_context(&self) -> &PricingContext; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | fn clone_box(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:69:32 [INFO] [stdout] | [INFO] [stdout] 69 | fn clone_box(&self) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:74:20 [INFO] [stdout] | [INFO] [stdout] 74 | impl Clone for Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | fn clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:95:31 [INFO] [stdout] | [INFO] [stdout] 95 | fn as_bumpable(&self) -> &Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:96:43 [INFO] [stdout] | [INFO] [stdout] 96 | fn as_mut_bumpable(&mut self) -> &mut Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:97:48 [INFO] [stdout] | [INFO] [stdout] 97 | fn as_mut_time_bumpable(&mut self) -> &mut TimeBumpable; [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TimeBumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:117:32 [INFO] [stdout] | [INFO] [stdout] 117 | fn clone_box(&self) -> Box; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:126:26 [INFO] [stdout] | [INFO] [stdout] 126 | fn as_any(&self) -> &Any; [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:127:38 [INFO] [stdout] | [INFO] [stdout] 127 | fn as_mut_any(&mut self) -> &mut Any; [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | fn as_any(&self) -> &Any; [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:146:39 [INFO] [stdout] | [INFO] [stdout] 146 | fn validate_report(&self, other: &Report, tol: &ReportTolerances, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:179:37 [INFO] [stdout] | [INFO] [stdout] 179 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:179:60 [INFO] [stdout] | [INFO] [stdout] 179 | fn generate(&self, pricer: &mut Pricer, saveable: &mut Saveable, unbumped: f64) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:185:34 [INFO] [stdout] | [INFO] [stdout] 185 | pub type RcReportGenerator = Qrc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:186:57 [INFO] [stdout] | [INFO] [stdout] 186 | pub type GeneratorTypeRegistry = Registry>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:189:40 [INFO] [stdout] | [INFO] [stdout] 189 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ReportGenerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:214:27 [INFO] [stdout] | [INFO] [stdout] 214 | pub type BoxReport = Qbox; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:230:28 [INFO] [stdout] | [INFO] [stdout] 230 | let self_report : &Report = self.deref(); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:231:29 [INFO] [stdout] | [INFO] [stdout] 231 | let other_report : &Report = other.deref(); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:268:47 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn bumped_price(bump: &Bump, pricer: &mut Pricer, saveable: Option<&mut Saveable>, unbumped: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/risk/mod.rs:268:77 [INFO] [stdout] | [INFO] [stdout] 268 | pub fn bumped_price(bump: &Bump, pricer: &mut Pricer, saveable: Option<&mut Saveable>, unbumped: f64) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:62:38 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:62:76 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModelFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:74:22 [INFO] [stdout] | [INFO] [stdout] 74 | context: Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:75:23 [INFO] [stdout] | [INFO] [stdout] 75 | -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | context: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:151:22 [INFO] [stdout] | [INFO] [stdout] 151 | context: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:253:15 [INFO] [stdout] | [INFO] [stdout] 253 | context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:269:22 [INFO] [stdout] | [INFO] [stdout] 269 | let instr : &Instrument = instrument.deref(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:297:15 [INFO] [stdout] | [INFO] [stdout] 297 | context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:382:15 [INFO] [stdout] | [INFO] [stdout] 382 | context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:400:21 [INFO] [stdout] | [INFO] [stdout] 400 | let instr: &Instrument = asset.deref(); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:408:32 [INFO] [stdout] | [INFO] [stdout] 408 | pub fn fetch_path(instrument: &Instrument, context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:408:54 [INFO] [stdout] | [INFO] [stdout] 408 | pub fn fetch_path(instrument: &Instrument, context: &PricingContext, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:481:33 [INFO] [stdout] | [INFO] [stdout] 481 | fn as_mc_context(&self) -> &MonteCarloContext { self } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:482:31 [INFO] [stdout] | [INFO] [stdout] 482 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:483:43 [INFO] [stdout] | [INFO] [stdout] 483 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:541:35 [INFO] [stdout] | [INFO] [stdout] 541 | fn pricing_context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:548:60 [INFO] [stdout] | [INFO] [stdout] 548 | fn bump(&mut self, bump: &Bump, any_saved: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:555:28 [INFO] [stdout] | [INFO] [stdout] 555 | : (Option<&mut Saveable>, Option<&mut HashMap>>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:604:35 [INFO] [stdout] | [INFO] [stdout] 604 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:613:27 [INFO] [stdout] | [INFO] [stdout] 613 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:617:39 [INFO] [stdout] | [INFO] [stdout] 617 | fn restore(&mut self, any_saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:638:39 [INFO] [stdout] | [INFO] [stdout] 638 | fn to_saved(opt_saveable: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:654:21 [INFO] [stdout] | [INFO] [stdout] 654 | saved_data: Box, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:662:32 [INFO] [stdout] | [INFO] [stdout] 662 | pub fn new(saved_data: Box) -> SavedBlackDiffusion { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:670:26 [INFO] [stdout] | [INFO] [stdout] 670 | fn as_any(&self) -> &Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/blackdiffusion.rs:671:38 [INFO] [stdout] | [INFO] [stdout] 671 | fn as_mut_any(&mut self) -> &mut Any { self } [INFO] [stdout] | ^^^ help: use `dyn`: `dyn Any` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | context: Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BumpablePricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | -> Result, qm::Error>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:36:48 [INFO] [stdout] | [INFO] [stdout] 36 | pub type TypeRegistry = Registry>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModelFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModelFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:59:41 [INFO] [stdout] | [INFO] [stdout] 59 | pub type RcMonteCarloModelFactory = Qrc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModelFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:66:33 [INFO] [stdout] | [INFO] [stdout] 66 | fn as_mc_context(&self) -> &MonteCarloContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:69:31 [INFO] [stdout] | [INFO] [stdout] 69 | fn as_bumpable(&self) -> &Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | fn as_mut_bumpable(&mut self) -> &mut Bumpable; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:76:32 [INFO] [stdout] | [INFO] [stdout] 76 | fn clone_box(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:82:32 [INFO] [stdout] | [INFO] [stdout] 82 | fn clone_box(&self) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:87:20 [INFO] [stdout] | [INFO] [stdout] 87 | impl Clone for Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/models/mod.rs:88:28 [INFO] [stdout] | [INFO] [stdout] 88 | fn clone(&self) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | model: Box [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MonteCarloModel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:58:38 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:69:50 [INFO] [stdout] | [INFO] [stdout] 69 | market_data: RcMarketData) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:119:31 [INFO] [stdout] | [INFO] [stdout] 119 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:121:48 [INFO] [stdout] | [INFO] [stdout] 121 | fn as_mut_time_bumpable(&mut self) -> &mut TimeBumpable { self } [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TimeBumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:144:32 [INFO] [stdout] | [INFO] [stdout] 144 | fn clone_box(&self) -> Box { Box::new(self.clone()) } [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:148:55 [INFO] [stdout] | [INFO] [stdout] 148 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:157:27 [INFO] [stdout] | [INFO] [stdout] 157 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:161:35 [INFO] [stdout] | [INFO] [stdout] 161 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/montecarlo.rs:165:35 [INFO] [stdout] | [INFO] [stdout] 165 | fn restore(&mut self, saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:49:38 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn esd::Deserializer<'de>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:49:76 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn from_serial<'de>(de: &mut esd::Deserializer<'de>) -> Result, esd::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:60:50 [INFO] [stdout] | [INFO] [stdout] 60 | market_data: RcMarketData) -> Result, qm::Error> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:99:31 [INFO] [stdout] | [INFO] [stdout] 99 | fn as_bumpable(&self) -> &Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:100:43 [INFO] [stdout] | [INFO] [stdout] 100 | fn as_mut_bumpable(&mut self) -> &mut Bumpable { self } [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Bumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:101:48 [INFO] [stdout] | [INFO] [stdout] 101 | fn as_mut_time_bumpable(&mut self) -> &mut TimeBumpable { self } [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TimeBumpable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | fn clone_box(&self) -> Box { Box::new(self.clone()) } [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:129:55 [INFO] [stdout] | [INFO] [stdout] 129 | fn bump(&mut self, bump: &Bump, save: Option<&mut Saveable>) [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:138:27 [INFO] [stdout] | [INFO] [stdout] 138 | fn context(&self) -> &PricingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn PricingContext` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:142:35 [INFO] [stdout] | [INFO] [stdout] 142 | fn new_saveable(&self) -> Box { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/selfpricer.rs:146:35 [INFO] [stdout] | [INFO] [stdout] 146 | fn restore(&mut self, saved: &Saveable) -> Result<(), qm::Error> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Saveable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/mod.rs:26:50 [INFO] [stdout] | [INFO] [stdout] 26 | market_data: RcMarketData) -> Result, qm::Error>; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/mod.rs:32:48 [INFO] [stdout] | [INFO] [stdout] 32 | pub type TypeRegistry = Registry>>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/mod.rs:35:40 [INFO] [stdout] | [INFO] [stdout] 35 | impl<'de> sd::Deserialize<'de> for Qrc { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pricers/mod.rs:56:32 [INFO] [stdout] | [INFO] [stdout] 56 | pub type RcPricerFactory = Qrc; [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PricerFactory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/solvers/impliedvol.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | fn solve(&self, pricer: &mut Pricer, target: f64, min: f64, max: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/solvers/impliedvol.rs:43:33 [INFO] [stdout] | [INFO] [stdout] 43 | fn price_given_vol(pricer: &mut Pricer, vol: f64, id: &str) -> Result { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/solvers/impliedvol.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | fn single_vol_id(pricer: &Pricer) -> Result { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/solvers/mod.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 19 | fn solve(&self, pricer: &mut Pricer, target: f64, min: f64, max: f64) [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Pricer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:34:42 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn instrument_from_json(source: &mut Read, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:47:27 [INFO] [stdout] | [INFO] [stdout] 47 | let mut opt = Dedup::>::new(instr_dedup, instruments_map); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:47:43 [INFO] [stdout] | [INFO] [stdout] 47 | let mut opt = Dedup::>::new(instr_dedup, instruments_map); [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Instrument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:63:40 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn currency_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:75:46 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn pricer_factory_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:86:44 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn fixing_table_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:99:43 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn market_data_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:110:48 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn report_generator_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:122:39 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn reports_from_json(source: &mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:153:69 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn write_results(reports: &[BoxReport], pretty: bool, out: &mut Write) [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/facade/mod.rs:183:62 [INFO] [stdout] | [INFO] [stdout] 183 | fn serialize_output(to_write: &T, pretty: bool, out: &mut Write) -> Result<(), qm::Error> [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/data/volsurface.rs:804:48 [INFO] [stdout] | [INFO] [stdout] 804 | Err(e) => Err(esd::Error::custom(e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/data/volsurface.rs:858:48 [INFO] [stdout] | [INFO] [stdout] 858 | Err(e) => Err(esd::Error::custom(e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/facade/handle.rs:278:45 [INFO] [stdout] | [INFO] [stdout] 278 | Handle::Err(ref err) => err.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/facade/c_interface.rs:358:43 [INFO] [stdout] | [INFO] [stdout] 358 | CString::new(eh::as_error(handle).description()).unwrap()) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/data/volsurface.rs:804:48 [INFO] [stdout] | [INFO] [stdout] 804 | Err(e) => Err(esd::Error::custom(e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/data/volsurface.rs:858:48 [INFO] [stdout] | [INFO] [stdout] 858 | Err(e) => Err(esd::Error::custom(e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/facade/handle.rs:278:45 [INFO] [stdout] | [INFO] [stdout] 278 | Handle::Err(ref err) => err.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/facade/c_interface.rs:358:43 [INFO] [stdout] | [INFO] [stdout] 358 | CString::new(eh::as_error(handle).description()).unwrap()) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 326 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `qm::Error` [INFO] [stdout] --> examples/montecarlo.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | qm::Error, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DateRule` [INFO] [stdout] --> examples/montecarlo.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | rules::{DateRule, RcDateRule, BusinessDays}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VolSurface` [INFO] [stdout] --> examples/montecarlo.rs:18:48 [INFO] [stdout] | [INFO] [stdout] 18 | volsurface::{FlatVolSurface, RcVolSurface, VolSurface}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ForwardStartingEuropean` [INFO] [stdout] --> examples/montecarlo.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | ForwardStartingEuropean, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MonteCarloPricer` [INFO] [stdout] --> examples/montecarlo.rs:48:18 [INFO] [stdout] | [INFO] [stdout] 48 | montecarlo::{MonteCarloPricer, MonteCarloPricerFactory}, //, RcMonteCarloModelFactory}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Priceable` [INFO] [stdout] --> examples/montecarlo.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | Priceable, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 399 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 45.41s [INFO] running `Command { std: "docker" "inspect" "55ebbd3ff207c09d91ff154d87aa08dfbf76e525a2a735a2a55426b8b1c721ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "55ebbd3ff207c09d91ff154d87aa08dfbf76e525a2a735a2a55426b8b1c721ce", kill_on_drop: false }` [INFO] [stdout] 55ebbd3ff207c09d91ff154d87aa08dfbf76e525a2a735a2a55426b8b1c721ce