[INFO] fetching crate netem-trace 0.4.4...
[INFO] testing netem-trace-0.4.4 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate netem-trace 0.4.4 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate netem-trace 0.4.4
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate netem-trace 0.4.4
[INFO] tweaked toml for crates.io crate netem-trace 0.4.4 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate netem-trace 0.4.4 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate netem-trace 0.4.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded humantime-serde v1.1.1
[INFO] [stderr]   Downloaded typetag v0.2.21
[INFO] [stderr]   Downloaded typetag-impl v0.2.21
[INFO] [stderr]   Downloaded bandwidth v0.3.0
[INFO] [stderr]   Downloaded human-bandwidth v0.1.4
[INFO] [stderr]   Downloaded statrs v0.18.0
[INFO] [stderr]   Downloaded nalgebra v0.33.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 172feef5012b7cb1d68b227b9b541a1f5eb047b9a3530d7049103132dfb3b97c
[INFO] running `Command { std: "docker" "start" "-a" "172feef5012b7cb1d68b227b9b541a1f5eb047b9a3530d7049103132dfb3b97c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "172feef5012b7cb1d68b227b9b541a1f5eb047b9a3530d7049103132dfb3b97c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "172feef5012b7cb1d68b227b9b541a1f5eb047b9a3530d7049103132dfb3b97c", kill_on_drop: false }`
[INFO] [stdout] 172feef5012b7cb1d68b227b9b541a1f5eb047b9a3530d7049103132dfb3b97c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ad2e98deaa5aeb6116f181626235ed4c3e8684468914520a5ff6621d511b482
[INFO] running `Command { std: "docker" "start" "-a" "0ad2e98deaa5aeb6116f181626235ed4c3e8684468914520a5ff6621d511b482", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling bandwidth v0.3.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling netem-trace v0.4.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.94s
[INFO] running `Command { std: "docker" "inspect" "0ad2e98deaa5aeb6116f181626235ed4c3e8684468914520a5ff6621d511b482", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ad2e98deaa5aeb6116f181626235ed4c3e8684468914520a5ff6621d511b482", kill_on_drop: false }`
[INFO] [stdout] 0ad2e98deaa5aeb6116f181626235ed4c3e8684468914520a5ff6621d511b482
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 91b2cdb658053fdfca14a940bdf2a1b4a1da6cc7d572cff83c0c1e2ef40f3ae0
[INFO] running `Command { std: "docker" "start" "-a" "91b2cdb658053fdfca14a940bdf2a1b4a1da6cc7d572cff83c0c1e2ef40f3ae0", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling netem-trace v0.4.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.54s
[INFO] running `Command { std: "docker" "inspect" "91b2cdb658053fdfca14a940bdf2a1b4a1da6cc7d572cff83c0c1e2ef40f3ae0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91b2cdb658053fdfca14a940bdf2a1b4a1da6cc7d572cff83c0c1e2ef40f3ae0", kill_on_drop: false }`
[INFO] [stdout] 91b2cdb658053fdfca14a940bdf2a1b4a1da6cc7d572cff83c0c1e2ef40f3ae0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 81be1812b131afe60a0ccf4217f3d8684c0e07a0696aab9957676f8022969d96
[INFO] running `Command { std: "docker" "start" "-a" "81be1812b131afe60a0ccf4217f3d8684c0e07a0696aab9957676f8022969d96", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/netem_trace-73fe60966f56f055)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test model::delay::test::test_static_delay_model ... ok
[INFO] [stdout] test model::delay_per_packet::test::test_static_delay_model ... ok
[INFO] [stdout] test model::loss::test::test_static_loss_model ... ok
[INFO] [stdout] test model::duplicate::test::test_static_loss_model ... ok
[INFO] [stdout] test test::test_forever ... ok
[INFO] [stdout] test test::test_normalized_bw_model ... ok
[INFO] [stdout] test test::test_sawtooth_bw_model ... ok
[INFO] [stdout] test test::test_trace_bw ... ok
[INFO] [stdout] test test::test_static_bw_model ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests netem_trace
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test src/model/bw.rs - model::bw::TraceBw (line 494) ... FAILED
[INFO] [stdout] test src/model/bw.rs - model::bw (line 29) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 25) ... FAILED
[INFO] [stdout] test src/model/bw.rs - model::bw::RepeatedBwPattern (line 445) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 12) ... ok
[INFO] [stdout] test src/lib.rs - (line 59) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet (line 29) ... FAILED
[INFO] [stdout] test src/model/bw.rs - model::bw::SawtoothBw (line 290) ... ok
[INFO] [stdout] test src/model/bw.rs - model::bw::NormalizedBw (line 148) ... ok
[INFO] [stdout] test src/model/bw.rs - model::bw::NormalizedBw (line 132) ... ok
[INFO] [stdout] test src/model/bw.rs - model::bw::RepeatedBwPattern (line 413) ... FAILED
[INFO] [stdout] test src/model/bw.rs - model::bw::SawtoothBw (line 239) ... ok
[INFO] [stdout] test src/model/delay.rs - model::delay::StaticDelay (line 79) ... ok
[INFO] [stdout] test src/model/bw.rs - model::bw::NormalizedBwConfig::build_with_rng (line 1012) ... ok
[INFO] [stdout] test src/model/delay.rs - model::delay::RepeatedDelayPattern (line 127) ... FAILED
[INFO] [stdout] test src/model/delay.rs - model::delay (line 27) ... FAILED
[INFO] [stdout] test src/model/delay.rs - model::delay::RepeatedDelayPattern (line 159) ... FAILED
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::RepeatedDelayPerPacketPattern (line 137) ... FAILED
[INFO] [stdout] test src/model/bw.rs - model::bw (line 16) ... ok
[INFO] [stdout] test src/model/bw.rs - model::bw::StaticBw (line 88) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::RepeatedDelayPerPacketPattern (line 169) ... FAILED
[INFO] [stdout] test src/model/bw.rs - model::bw::SawtoothBwConfig::build_with_rng (line 1251) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::NormalizedDelayPerPacket (line 239) ... ok
[INFO] [stdout] test src/model/duplicate.rs - model::duplicate (line 27) ... FAILED
[INFO] [stdout] test src/model/delay.rs - model::delay (line 14) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet (line 15) ... ok
[INFO] [stdout] test src/model/duplicate.rs - model::duplicate::RepeatedDuplicatePattern (line 123) ... FAILED
[INFO] [stdout] test src/model/duplicate.rs - model::duplicate (line 14) ... ok
[INFO] [stdout] test src/model/loss.rs - model::loss::RepeatedLossPattern (line 155) ... FAILED
[INFO] [stdout] test src/model/duplicate.rs - model::duplicate::RepeatedDuplicatePattern (line 155) ... FAILED
[INFO] [stdout] test src/model/loss.rs - model::loss::RepeatedLossPattern (line 123) ... FAILED
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::NormalizedDelayPerPacket (line 223) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::LogNormalizedDelayPerPacket (line 316) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::NormalizedDelayPerPacketConfig::build_with_rng (line 612) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::LogNormalizedDelayPerPacket (line 332) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::StaticDelayPerPacket (line 92) ... ok
[INFO] [stdout] test src/model/delay_per_packet.rs - model::delay_per_packet::LogNormalizedDelayPerPacketConfig::build_with_rng (line 823) ... ok
[INFO] [stdout] test src/model/loss.rs - model::loss (line 27) ... FAILED
[INFO] [stdout] test src/model/loss.rs - model::loss (line 14) ... ok
[INFO] [stdout] test src/model/duplicate.rs - model::duplicate::StaticDuplicate (line 79) ... ok
[INFO] [stdout] test src/model/loss.rs - model::loss::StaticLoss (line 79) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/model/bw.rs - model::bw::TraceBw (line 494) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn BwTraceConfig: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/model/bw.rs:537:37
[INFO] [stdout]      |
[INFO] [stdout]  537 | let ser_str = serde_json::to_string(&ser).unwrap();
[INFO] [stdout]      |               --------------------- ^^^^ the trait `serde_core::ser::Serialize` is not implemented for `dyn BwTraceConfig`
[INFO] [stdout]      |               |
[INFO] [stdout]      |               required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `dyn BwTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 129 others
[INFO] [stdout]      = note: required for `Box<dyn BwTraceConfig>` to implement `serde_core::ser::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `dyn BwTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/bw.rs:547:35
[INFO] [stdout]      |
[INFO] [stdout]  547 | let des: Box<dyn BwTraceConfig> = serde_json::from_str(json_str).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn BwTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn BwTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn BwTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/bw.rs - model::bw (line 29) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn BwTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/bw.rs:39:35
[INFO] [stdout]      |
[INFO] [stdout]   39 | let des: Box<dyn BwTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn BwTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn BwTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn BwTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 25) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn BwTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/lib.rs:35:35
[INFO] [stdout]      |
[INFO] [stdout]   35 | let des: Box<dyn BwTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn BwTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn BwTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn BwTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/bw.rs - model::bw::RepeatedBwPattern (line 445) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn BwTraceConfig: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/model/bw.rs:462:37
[INFO] [stdout]      |
[INFO] [stdout]  462 | let ser_str = serde_json::to_string(&ser).unwrap();
[INFO] [stdout]      |               --------------------- ^^^^ the trait `serde_core::ser::Serialize` is not implemented for `dyn BwTraceConfig`
[INFO] [stdout]      |               |
[INFO] [stdout]      |               required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `dyn BwTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 129 others
[INFO] [stdout]      = note: required for `Box<dyn BwTraceConfig>` to implement `serde_core::ser::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/delay_per_packet.rs - model::delay_per_packet (line 29) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DelayPerPacketTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/delay_per_packet.rs:39:47
[INFO] [stdout]      |
[INFO] [stdout]   39 | let des: Box<dyn DelayPerPacketTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn DelayPerPacketTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn DelayPerPacketTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn DelayPerPacketTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/bw.rs - model::bw::RepeatedBwPattern (line 413) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn BwTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/bw.rs:423:35
[INFO] [stdout]      |
[INFO] [stdout]  423 | let des: Box<dyn BwTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn BwTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn BwTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn BwTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/delay.rs - model::delay::RepeatedDelayPattern (line 127) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DelayTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/delay.rs:137:38
[INFO] [stdout]      |
[INFO] [stdout]  137 | let des: Box<dyn DelayTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn DelayTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn DelayTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn DelayTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/delay.rs - model::delay (line 27) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DelayTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/delay.rs:37:38
[INFO] [stdout]      |
[INFO] [stdout]   37 | let des: Box<dyn DelayTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn DelayTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn DelayTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn DelayTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/delay.rs - model::delay::RepeatedDelayPattern (line 159) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DelayTraceConfig: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/model/delay.rs:176:37
[INFO] [stdout]      |
[INFO] [stdout]  176 | let ser_str = serde_json::to_string(&ser).unwrap();
[INFO] [stdout]      |               --------------------- ^^^^ the trait `serde_core::ser::Serialize` is not implemented for `dyn DelayTraceConfig`
[INFO] [stdout]      |               |
[INFO] [stdout]      |               required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `dyn DelayTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 129 others
[INFO] [stdout]      = note: required for `Box<dyn DelayTraceConfig>` to implement `serde_core::ser::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/delay_per_packet.rs - model::delay_per_packet::RepeatedDelayPerPacketPattern (line 137) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DelayPerPacketTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/delay_per_packet.rs:147:47
[INFO] [stdout]      |
[INFO] [stdout]  147 | let des: Box<dyn DelayPerPacketTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn DelayPerPacketTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn DelayPerPacketTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn DelayPerPacketTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/delay_per_packet.rs - model::delay_per_packet::RepeatedDelayPerPacketPattern (line 169) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DelayPerPacketTraceConfig: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/model/delay_per_packet.rs:186:37
[INFO] [stdout]      |
[INFO] [stdout]  186 | let ser_str = serde_json::to_string(&ser).unwrap();
[INFO] [stdout]      |               --------------------- ^^^^ the trait `serde_core::ser::Serialize` is not implemented for `dyn DelayPerPacketTraceConfig`
[INFO] [stdout]      |               |
[INFO] [stdout]      |               required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `dyn DelayPerPacketTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 129 others
[INFO] [stdout]      = note: required for `Box<dyn DelayPerPacketTraceConfig>` to implement `serde_core::ser::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/duplicate.rs - model::duplicate (line 27) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DuplicateTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/duplicate.rs:37:42
[INFO] [stdout]      |
[INFO] [stdout]   37 | let des: Box<dyn DuplicateTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn DuplicateTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn DuplicateTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn DuplicateTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/duplicate.rs - model::duplicate::RepeatedDuplicatePattern (line 123) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DuplicateTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/duplicate.rs:133:42
[INFO] [stdout]      |
[INFO] [stdout]  133 | let des: Box<dyn DuplicateTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn DuplicateTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn DuplicateTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn DuplicateTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/loss.rs - model::loss::RepeatedLossPattern (line 155) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn LossTraceConfig: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/model/loss.rs:172:37
[INFO] [stdout]      |
[INFO] [stdout]  172 | let ser_str = serde_json::to_string(&ser).unwrap();
[INFO] [stdout]      |               --------------------- ^^^^ the trait `serde_core::ser::Serialize` is not implemented for `dyn LossTraceConfig`
[INFO] [stdout]      |               |
[INFO] [stdout]      |               required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `dyn LossTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 129 others
[INFO] [stdout]      = note: required for `Box<dyn LossTraceConfig>` to implement `serde_core::ser::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/duplicate.rs - model::duplicate::RepeatedDuplicatePattern (line 155) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn DuplicateTraceConfig: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/model/duplicate.rs:172:37
[INFO] [stdout]      |
[INFO] [stdout]  172 | let ser_str = serde_json::to_string(&ser).unwrap();
[INFO] [stdout]      |               --------------------- ^^^^ the trait `serde_core::ser::Serialize` is not implemented for `dyn DuplicateTraceConfig`
[INFO] [stdout]      |               |
[INFO] [stdout]      |               required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `dyn DuplicateTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::ser::Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 129 others
[INFO] [stdout]      = note: required for `Box<dyn DuplicateTraceConfig>` to implement `serde_core::ser::Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/loss.rs - model::loss::RepeatedLossPattern (line 123) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn LossTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/loss.rs:133:37
[INFO] [stdout]      |
[INFO] [stdout]  133 | let des: Box<dyn LossTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn LossTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn LossTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn LossTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/loss.rs - model::loss (line 27) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `dyn LossTraceConfig: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/model/loss.rs:37:37
[INFO] [stdout]      |
[INFO] [stdout]   37 | let des: Box<dyn LossTraceConfig> = serde_json::from_str(config_file_content).unwrap();
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `dyn LossTraceConfig`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `dyn LossTraceConfig` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `serde_core::de::Deserialize<'de>`:
[INFO] [stdout]                &'a Path
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 141 others
[INFO] [stdout]      = note: required for `Box<dyn LossTraceConfig>` to implement `serde_core::de::Deserialize<'_>`
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 25)
[INFO] [stdout]     src/model/bw.rs - model::bw (line 29)
[INFO] [stdout]     src/model/bw.rs - model::bw::RepeatedBwPattern (line 413)
[INFO] [stdout]     src/model/bw.rs - model::bw::RepeatedBwPattern (line 445)
[INFO] [stdout]     src/model/bw.rs - model::bw::TraceBw (line 494)
[INFO] [stdout]     src/model/delay.rs - model::delay (line 27)
[INFO] [stdout]     src/model/delay.rs - model::delay::RepeatedDelayPattern (line 127)
[INFO] [stdout]     src/model/delay.rs - model::delay::RepeatedDelayPattern (line 159)
[INFO] [stdout]     src/model/delay_per_packet.rs - model::delay_per_packet (line 29)
[INFO] [stdout]     src/model/delay_per_packet.rs - model::delay_per_packet::RepeatedDelayPerPacketPattern (line 137)
[INFO] [stdout]     src/model/delay_per_packet.rs - model::delay_per_packet::RepeatedDelayPerPacketPattern (line 169)
[INFO] [stdout]     src/model/duplicate.rs - model::duplicate (line 27)
[INFO] [stdout]     src/model/duplicate.rs - model::duplicate::RepeatedDuplicatePattern (line 123)
[INFO] [stdout]     src/model/duplicate.rs - model::duplicate::RepeatedDuplicatePattern (line 155)
[INFO] [stdout]     src/model/loss.rs - model::loss (line 27)
[INFO] [stdout]     src/model/loss.rs - model::loss::RepeatedLossPattern (line 123)
[INFO] [stdout]     src/model/loss.rs - model::loss::RepeatedLossPattern (line 155)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 24 passed; 17 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.67s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "81be1812b131afe60a0ccf4217f3d8684c0e07a0696aab9957676f8022969d96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81be1812b131afe60a0ccf4217f3d8684c0e07a0696aab9957676f8022969d96", kill_on_drop: false }`
[INFO] [stdout] 81be1812b131afe60a0ccf4217f3d8684c0e07a0696aab9957676f8022969d96
