[INFO] fetching crate serial2 0.2.36...
[INFO] testing serial2-0.2.36 against 1.95.0 for beta-1.96-2
[INFO] extracting crate serial2 0.2.36 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate serial2 0.2.36
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate serial2 0.2.36
[INFO] tweaked toml for crates.io crate serial2 0.2.36 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate serial2 0.2.36 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate serial2 0.2.36 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded assert2 v0.4.0
[INFO] [stderr]   Downloaded assert2-macros v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ab3fb1e439275d9b81eba51093bca4e05b7c0548ae019e2563754ddc2db3db6d
[INFO] running `Command { std: "docker" "start" "-a" "ab3fb1e439275d9b81eba51093bca4e05b7c0548ae019e2563754ddc2db3db6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ab3fb1e439275d9b81eba51093bca4e05b7c0548ae019e2563754ddc2db3db6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab3fb1e439275d9b81eba51093bca4e05b7c0548ae019e2563754ddc2db3db6d", kill_on_drop: false }`
[INFO] [stdout] ab3fb1e439275d9b81eba51093bca4e05b7c0548ae019e2563754ddc2db3db6d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6128f6c66502a1dcd98bb61f48eda0469182ecd006d5ff6433d295443943ac47
[INFO] running `Command { std: "docker" "start" "-a" "6128f6c66502a1dcd98bb61f48eda0469182ecd006d5ff6433d295443943ac47", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling serial2 v0.2.36 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.92s
[INFO] running `Command { std: "docker" "inspect" "6128f6c66502a1dcd98bb61f48eda0469182ecd006d5ff6433d295443943ac47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6128f6c66502a1dcd98bb61f48eda0469182ecd006d5ff6433d295443943ac47", kill_on_drop: false }`
[INFO] [stdout] 6128f6c66502a1dcd98bb61f48eda0469182ecd006d5ff6433d295443943ac47
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c3e1e1c464f1fc37afdd8357de8b27125329a0275ae08c0516d6f45221b59615
[INFO] running `Command { std: "docker" "start" "-a" "c3e1e1c464f1fc37afdd8357de8b27125329a0275ae08c0516d6f45221b59615", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling assert2-macros v0.4.0
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling assert2 v0.4.0
[INFO] [stderr]    Compiling serial2 v0.2.36 (/opt/rustwide/workdir)
[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 |     assert!(let 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]   --> 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] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the trait bound `CharSize: serde::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:5:44
[INFO] [stdout]      |
[INFO] [stdout]    5 |     assert!(let Ok(x) = serde_json::to_string(&serial2::CharSize::Bits5) && x == "5");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:6:44
[INFO] [stdout]      |
[INFO] [stdout]    6 |     assert!(let Ok(x) = serde_json::to_string(&serial2::CharSize::Bits6) && x == "6");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:7:44
[INFO] [stdout]      |
[INFO] [stdout]    7 |     assert!(let Ok(x) = serde_json::to_string(&serial2::CharSize::Bits7) && x == "7");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:8:44
[INFO] [stdout]      |
[INFO] [stdout]    8 |     assert!(let Ok(x) = serde_json::to_string(&serial2::CharSize::Bits8) && x == "8");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:15:46
[INFO] [stdout]      |
[INFO] [stdout]   15 |     assert!(let Err(e) = serde_json::from_str::<serial2::CharSize>("4"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:18:46
[INFO] [stdout]      |
[INFO] [stdout]   18 |     assert!(let Err(e) = serde_json::from_str::<serial2::CharSize>("9"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:21:46
[INFO] [stdout]      |
[INFO] [stdout]   21 |     assert!(let Err(e) = serde_json::from_str::<serial2::CharSize>("\"5\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:27:44
[INFO] [stdout]      |
[INFO] [stdout]   27 |     assert!(let Ok(x) = serde_json::to_string(&serial2::StopBits::One) && x == "1");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:28:44
[INFO] [stdout]      |
[INFO] [stdout]   28 |     assert!(let Ok(x) = serde_json::to_string(&serial2::StopBits::Two) && x == "2");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:33:46
[INFO] [stdout]      |
[INFO] [stdout]   33 |     assert!(let Err(e) = serde_json::from_str::<serial2::StopBits>("0"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:36:46
[INFO] [stdout]      |
[INFO] [stdout]   36 |     assert!(let Err(e) = serde_json::from_str::<serial2::StopBits>("3"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:39:46
[INFO] [stdout]      |
[INFO] [stdout]   39 |     assert!(let Err(e) = serde_json::from_str::<serial2::StopBits>("\"1\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:45:44
[INFO] [stdout]      |
[INFO] [stdout]   45 |     assert!(let Ok(x) = serde_json::to_string(&serial2::Parity::None) && x == "\"none\"");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:46:44
[INFO] [stdout]      |
[INFO] [stdout]   46 |     assert!(let Ok(x) = serde_json::to_string(&serial2::Parity::Even) && x == "\"even\"");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:47:44
[INFO] [stdout]      |
[INFO] [stdout]   47 |     assert!(let Ok(x) = serde_json::to_string(&serial2::Parity::Odd) && x == "\"odd\"");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:53:46
[INFO] [stdout]      |
[INFO] [stdout]   53 |     assert!(let Err(e) = serde_json::from_str::<serial2::Parity>("\"even-then-odd\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^ the trait `serde_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:59:44
[INFO] [stdout]      |
[INFO] [stdout]   59 |     assert!(let Ok(x) = serde_json::to_string(&serial2::FlowControl::None) && x == "\"none\"");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:60:44
[INFO] [stdout]      |
[INFO] [stdout]   60 |     assert!(let Ok(x) = serde_json::to_string(&serial2::FlowControl::XonXoff) && x == "\"xon/xoff\"");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Serialize` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:61:44
[INFO] [stdout]      |
[INFO] [stdout]   61 |     assert!(let Ok(x) = serde_json::to_string(&serial2::FlowControl::RtsCts) && x == "\"rts/cts\"");
[INFO] [stdout]      |                         --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 128 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.149/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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` 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_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> tests/serde.rs:67:46
[INFO] [stdout]      |
[INFO] [stdout]   67 |     assert!(let Err(e) = serde_json::from_str::<serial2::FlowControl>("\"plug-in/plug-out\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^ the trait `serde_core::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_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 140 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.149/src/de.rs:2701:8
[INFO] [stdout]      |
[INFO] [stdout] 2699 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2700 | where
[INFO] [stdout] 2701 |     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] [stderr] error: could not compile `serial2` (test "serde") due to 32 previous errors
[INFO] running `Command { std: "docker" "inspect" "c3e1e1c464f1fc37afdd8357de8b27125329a0275ae08c0516d6f45221b59615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3e1e1c464f1fc37afdd8357de8b27125329a0275ae08c0516d6f45221b59615", kill_on_drop: false }`
[INFO] [stdout] c3e1e1c464f1fc37afdd8357de8b27125329a0275ae08c0516d6f45221b59615
