[INFO] fetching crate serial2 0.2.33...
[INFO] testing serial2-0.2.33 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate serial2 0.2.33 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate serial2 0.2.33
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate serial2 0.2.33
[INFO] tweaked toml for crates.io crate serial2 0.2.33 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate serial2 0.2.33 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate serial2 0.2.33 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b55fdbedc225d90ed867a97027861450a1e672e720600bebc4059bda9c941926
[INFO] running `Command { std: "docker" "start" "-a" "b55fdbedc225d90ed867a97027861450a1e672e720600bebc4059bda9c941926", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b55fdbedc225d90ed867a97027861450a1e672e720600bebc4059bda9c941926", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b55fdbedc225d90ed867a97027861450a1e672e720600bebc4059bda9c941926", kill_on_drop: false }`
[INFO] [stdout] b55fdbedc225d90ed867a97027861450a1e672e720600bebc4059bda9c941926
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4afc5fd39d1e7cdcbf1f4183ef68323404211f378be7ad57b442508fc6e31af
[INFO] running `Command { std: "docker" "start" "-a" "e4afc5fd39d1e7cdcbf1f4183ef68323404211f378be7ad57b442508fc6e31af", kill_on_drop: false }`
[INFO] [stderr]    Compiling serial2 v0.2.33 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.92s
[INFO] running `Command { std: "docker" "inspect" "e4afc5fd39d1e7cdcbf1f4183ef68323404211f378be7ad57b442508fc6e31af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4afc5fd39d1e7cdcbf1f4183ef68323404211f378be7ad57b442508fc6e31af", kill_on_drop: false }`
[INFO] [stdout] e4afc5fd39d1e7cdcbf1f4183ef68323404211f378be7ad57b442508fc6e31af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 638b141f51e37b2ad5ab28f163facd0caed246f83399357b4b38f87883109d37
[INFO] running `Command { std: "docker" "start" "-a" "638b141f51e37b2ad5ab28f163facd0caed246f83399357b4b38f87883109d37", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling assert2-macros v0.3.16
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling assert2 v0.3.16
[INFO] [stderr]    Compiling serial2 v0.2.33 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:5:46
[INFO] [stdout]      |
[INFO] [stdout]    5 |     assert!(let Ok("5") = serde_json::to_string(&serial2::CharSize::Bits5).as_deref());
[INFO] [stdout]      |                           --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `CharSize`
[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 `CharSize` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:6:46
[INFO] [stdout]      |
[INFO] [stdout]    6 |     assert!(let Ok("6") = serde_json::to_string(&serial2::CharSize::Bits6).as_deref());
[INFO] [stdout]      |                           --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `CharSize`
[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 `CharSize` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:7:46
[INFO] [stdout]      |
[INFO] [stdout]    7 |     assert!(let Ok("7") = serde_json::to_string(&serial2::CharSize::Bits7).as_deref());
[INFO] [stdout]      |                           --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `CharSize`
[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 `CharSize` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:8:46
[INFO] [stdout]      |
[INFO] [stdout]    8 |     assert!(let Ok("8") = serde_json::to_string(&serial2::CharSize::Bits8).as_deref());
[INFO] [stdout]      |                           --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `CharSize`
[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 `CharSize` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:10:68
[INFO] [stdout]      |
[INFO] [stdout]   10 |     assert!(let Ok(serial2::CharSize::Bits5) = serde_json::from_str::<serial2::CharSize>("5"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `CharSize`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `CharSize` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:11:68
[INFO] [stdout]      |
[INFO] [stdout]   11 |     assert!(let Ok(serial2::CharSize::Bits6) = serde_json::from_str::<serial2::CharSize>("6"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `CharSize`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `CharSize` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:12:68
[INFO] [stdout]      |
[INFO] [stdout]   12 |     assert!(let Ok(serial2::CharSize::Bits7) = serde_json::from_str::<serial2::CharSize>("7"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `CharSize`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `CharSize` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:13:68
[INFO] [stdout]      |
[INFO] [stdout]   13 |     assert!(let Ok(serial2::CharSize::Bits8) = serde_json::from_str::<serial2::CharSize>("8"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `CharSize`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `CharSize` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:15:46
[INFO] [stdout]      |
[INFO] [stdout]   15 |     let_assert!(Err(e) = serde_json::from_str::<serial2::CharSize>("4"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `CharSize`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `CharSize` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:18:46
[INFO] [stdout]      |
[INFO] [stdout]   18 |     let_assert!(Err(e) = serde_json::from_str::<serial2::CharSize>("9"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `CharSize`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `CharSize` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:21:46
[INFO] [stdout]      |
[INFO] [stdout]   21 |     let_assert!(Err(e) = serde_json::from_str::<serial2::CharSize>("\"5\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `CharSize`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `CharSize` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `StopBits: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:27:46
[INFO] [stdout]      |
[INFO] [stdout]   27 |     assert!(let Ok("1") = serde_json::to_string(&serial2::StopBits::One).as_deref());
[INFO] [stdout]      |                           --------------------- ^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `StopBits`
[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 `StopBits` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `StopBits: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:28:46
[INFO] [stdout]      |
[INFO] [stdout]   28 |     assert!(let Ok("2") = serde_json::to_string(&serial2::StopBits::Two).as_deref());
[INFO] [stdout]      |                           --------------------- ^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `StopBits`
[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 `StopBits` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `StopBits: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:30:66
[INFO] [stdout]      |
[INFO] [stdout]   30 |     assert!(let Ok(serial2::StopBits::One) = serde_json::from_str::<serial2::StopBits>("1"));
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `StopBits`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `StopBits` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `StopBits: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:31:66
[INFO] [stdout]      |
[INFO] [stdout]   31 |     assert!(let Ok(serial2::StopBits::Two) = serde_json::from_str::<serial2::StopBits>("2"));
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `StopBits`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `StopBits` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `StopBits: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:33:46
[INFO] [stdout]      |
[INFO] [stdout]   33 |     let_assert!(Err(e) = serde_json::from_str::<serial2::StopBits>("0"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `StopBits`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `StopBits` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `StopBits: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:36:46
[INFO] [stdout]      |
[INFO] [stdout]   36 |     let_assert!(Err(e) = serde_json::from_str::<serial2::StopBits>("3"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `StopBits`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `StopBits` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `StopBits: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:39:46
[INFO] [stdout]      |
[INFO] [stdout]   39 |     let_assert!(Err(e) = serde_json::from_str::<serial2::StopBits>("\"1\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `StopBits`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `StopBits` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `Parity: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:45:53
[INFO] [stdout]      |
[INFO] [stdout]   45 |     assert!(let Ok("\"none\"") = serde_json::to_string(&serial2::Parity::None).as_deref());
[INFO] [stdout]      |                                  --------------------- ^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Parity`
[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 `Parity` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `Parity: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:46:53
[INFO] [stdout]      |
[INFO] [stdout]   46 |     assert!(let Ok("\"even\"") = serde_json::to_string(&serial2::Parity::Even).as_deref());
[INFO] [stdout]      |                                  --------------------- ^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Parity`
[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 `Parity` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `Parity: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:47:52
[INFO] [stdout]      |
[INFO] [stdout]   47 |     assert!(let Ok("\"odd\"") = serde_json::to_string(&serial2::Parity::Odd).as_deref());
[INFO] [stdout]      |                                 --------------------- ^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Parity`
[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 `Parity` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `Parity: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:49:65
[INFO] [stdout]      |
[INFO] [stdout]   49 |     assert!(let Ok(serial2::Parity::None) = serde_json::from_str::<serial2::Parity>("\"none\""));
[INFO] [stdout]      |                                                                    ^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `Parity`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `Parity` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `Parity: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:50:65
[INFO] [stdout]      |
[INFO] [stdout]   50 |     assert!(let Ok(serial2::Parity::Even) = serde_json::from_str::<serial2::Parity>("\"even\""));
[INFO] [stdout]      |                                                                    ^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `Parity`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `Parity` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `Parity: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:51:64
[INFO] [stdout]      |
[INFO] [stdout]   51 |     assert!(let Ok(serial2::Parity::Odd) = serde_json::from_str::<serial2::Parity>("\"odd\""));
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `Parity`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `Parity` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `Parity: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:53:46
[INFO] [stdout]      |
[INFO] [stdout]   53 |     let_assert!(Err(e) = serde_json::from_str::<serial2::Parity>("\"even-then-odd\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `Parity`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `Parity` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `FlowControl: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:59:53
[INFO] [stdout]      |
[INFO] [stdout]   59 |     assert!(let Ok("\"none\"") = serde_json::to_string(&serial2::FlowControl::None).as_deref());
[INFO] [stdout]      |                                  --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `FlowControl`
[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 `FlowControl` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `FlowControl: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:60:57
[INFO] [stdout]      |
[INFO] [stdout]   60 |     assert!(let Ok("\"xon/xoff\"") = serde_json::to_string(&serial2::FlowControl::XonXoff).as_deref());
[INFO] [stdout]      |                                      --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `FlowControl`
[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 `FlowControl` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `FlowControl: serde::ser::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:61:56
[INFO] [stdout]      |
[INFO] [stdout]   61 |     assert!(let Ok("\"rts/cts\"") = serde_json::to_string(&serial2::FlowControl::RtsCts).as_deref());
[INFO] [stdout]      |                                     --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `FlowControl`
[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 `FlowControl` 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::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 131 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `FlowControl: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:63:70
[INFO] [stdout]      |
[INFO] [stdout]   63 |     assert!(let Ok(serial2::FlowControl::None) = serde_json::from_str::<serial2::FlowControl>("\"none\""));
[INFO] [stdout]      |                                                                         ^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `FlowControl`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `FlowControl` 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::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 142 others
[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.141/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] 
[INFO] [stderr] error: could not compile `serial2` (test "serde") due to 32 previous errors
[INFO] [stdout] error[E0277]: the trait bound `FlowControl: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:64:73
[INFO] [stdout]      |
[INFO] [stdout]   64 |     assert!(let Ok(serial2::FlowControl::XonXoff) = serde_json::from_str::<serial2::FlowControl>("\"xon/xoff\""));
[INFO] [stdout]      |                                                                            ^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `FlowControl`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `FlowControl` 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::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 142 others
[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.141/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] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the trait bound `FlowControl: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:65:72
[INFO] [stdout]      |
[INFO] [stdout]   65 |     assert!(let Ok(serial2::FlowControl::RtsCts) = serde_json::from_str::<serial2::FlowControl>("\"rts/cts\""));
[INFO] [stdout]      |                                                                           ^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `FlowControl`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `FlowControl` 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::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 142 others
[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.141/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] 
[INFO] [stdout] error[E0277]: the trait bound `FlowControl: serde::de::Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:67:46
[INFO] [stdout]      |
[INFO] [stdout]   67 |     let_assert!(Err(e) = serde_json::from_str::<serial2::FlowControl>("\"plug-in/plug-out\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `FlowControl`
[INFO] [stdout]      |
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `FlowControl` 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::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 142 others
[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.141/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] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `pair` found for struct `SerialPort` in the current scope
[INFO] [stdout]   --> tests/pair.rs:8:39
[INFO] [stdout]    |
[INFO] [stdout]  8 |     let_assert!(Ok((a, b)) = SerialPort::pair());
[INFO] [stdout]    |                                          ^^^^ function or associated item not found in `SerialPort`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `SerialPort`, consider using `SerialPort::open` which returns `Result<SerialPort, std::io::Error>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/serial_port.rs:53:2
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn open(name: impl AsRef<Path>, settings: impl IntoSettings) -> std::io::Result<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `serial2` (test "pair") due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "638b141f51e37b2ad5ab28f163facd0caed246f83399357b4b38f87883109d37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "638b141f51e37b2ad5ab28f163facd0caed246f83399357b4b38f87883109d37", kill_on_drop: false }`
[INFO] [stdout] 638b141f51e37b2ad5ab28f163facd0caed246f83399357b4b38f87883109d37
