[INFO] fetching crate serial2 0.2.38...
[INFO] testing serial2-0.2.38 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate serial2 0.2.38 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate serial2 0.2.38
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate serial2 0.2.38
[INFO] tweaked toml for crates.io crate serial2 0.2.38 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate serial2 0.2.38 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate serial2 0.2.38 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065
[INFO] running `Command { std: "docker" "start" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling serial2 v0.2.38 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.82s
[INFO] running `Command { std: "docker" "inspect" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling assert2-macros v0.4.0
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling assert2 v0.4.0
[INFO] [stderr]    Compiling serial2 v0.2.38 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0599]: no associated function or constant 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]    |                                          ^^^^ associated function or constant 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] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> tests/serde.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout] help: to make use of source file tests/serde.rs, use `mod serde` in this file to declare the module
[INFO] [stdout]   |
[INFO] [stdout] 1 + mod serde;
[INFO] [stdout]   |
[INFO] [stdout] 
[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:11:44
[INFO] [stdout]      |
[INFO] [stdout]   11 |     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 134 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] 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:12:44
[INFO] [stdout]      |
[INFO] [stdout]   12 |     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 134 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] 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:13:44
[INFO] [stdout]      |
[INFO] [stdout]   13 |     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 134 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] 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:14:44
[INFO] [stdout]      |
[INFO] [stdout]   14 |     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 134 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] 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 `TeCharSize: serde::Serialize` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     assert!(let Ok(x) = toml::to_string(&TeCharSize { cs: serial2::CharSize::Bits5 }) && x == "cs = 5\n");
[INFO] [stdout]    |                         --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `TeCharSize` 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 134 others
[INFO] [stdout] note: required by a bound in `toml::to_string`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/ser/mod.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn to_string<T>(value: &T) -> Result<String, Error>
[INFO] [stdout] 66 | where
[INFO] [stdout] 67 |     T: serde_core::ser::Serialize + ?Sized,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TeCharSize: serde::Serialize` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:17:38
[INFO] [stdout]    |
[INFO] [stdout] 17 |     assert!(let Ok(x) = toml::to_string(&TeCharSize { cs: serial2::CharSize::Bits6 }) && x == "cs = 6\n");
[INFO] [stdout]    |                         --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `TeCharSize` 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 134 others
[INFO] [stdout] note: required by a bound in `toml::to_string`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/ser/mod.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn to_string<T>(value: &T) -> Result<String, Error>
[INFO] [stdout] 66 | where
[INFO] [stdout] 67 |     T: serde_core::ser::Serialize + ?Sized,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TeCharSize: serde::Serialize` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:18:38
[INFO] [stdout]    |
[INFO] [stdout] 18 |     assert!(let Ok(x) = toml::to_string(&TeCharSize { cs: serial2::CharSize::Bits7 }) && x == "cs = 7\n");
[INFO] [stdout]    |                         --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `TeCharSize` 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 134 others
[INFO] [stdout] note: required by a bound in `toml::to_string`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/ser/mod.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn to_string<T>(value: &T) -> Result<String, Error>
[INFO] [stdout] 66 | where
[INFO] [stdout] 67 |     T: serde_core::ser::Serialize + ?Sized,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TeCharSize: serde::Serialize` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 |     assert!(let Ok(x) = toml::to_string(&TeCharSize { cs: serial2::CharSize::Bits8 }) && x == "cs = 8\n");
[INFO] [stdout]    |                         --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `TeCharSize` 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 134 others
[INFO] [stdout] note: required by a bound in `toml::to_string`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/ser/mod.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn to_string<T>(value: &T) -> Result<String, Error>
[INFO] [stdout] 66 | where
[INFO] [stdout] 67 |     T: serde_core::ser::Serialize + ?Sized,
[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:21:68
[INFO] [stdout]      |
[INFO] [stdout]   21 |     assert!(let Ok(serial2::CharSize::Bits5) = serde_json::from_str::<serial2::CharSize>("5"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:22:68
[INFO] [stdout]      |
[INFO] [stdout]   22 |     assert!(let Ok(serial2::CharSize::Bits5) = serde_json::from_str::<serial2::CharSize>("5"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:23:68
[INFO] [stdout]      |
[INFO] [stdout]   23 |     assert!(let Ok(serial2::CharSize::Bits6) = serde_json::from_str::<serial2::CharSize>("6"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:24:68
[INFO] [stdout]      |
[INFO] [stdout]   24 |     assert!(let Ok(serial2::CharSize::Bits7) = serde_json::from_str::<serial2::CharSize>("7"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:25:68
[INFO] [stdout]      |
[INFO] [stdout]   25 |     assert!(let Ok(serial2::CharSize::Bits8) = serde_json::from_str::<serial2::CharSize>("8"));
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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 `TeCharSize: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:27:39
[INFO] [stdout]    |
[INFO] [stdout] 27 |     assert!(let Ok(x) = toml::from_str::<TeCharSize>("cs = 5\n") && x.cs == serial2::CharSize::Bits5);
[INFO] [stdout]    |                                          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeCharSize` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TeCharSize: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:28:39
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assert!(let Ok(x) = toml::from_str::<TeCharSize>("cs = 6") && x.cs == serial2::CharSize::Bits6);
[INFO] [stdout]    |                                          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeCharSize` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TeCharSize: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:29:39
[INFO] [stdout]    |
[INFO] [stdout] 29 |     assert!(let Ok(x) = toml::from_str::<TeCharSize>("cs = 7") && x.cs == serial2::CharSize::Bits7);
[INFO] [stdout]    |                                          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeCharSize` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TeCharSize: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:30:39
[INFO] [stdout]    |
[INFO] [stdout] 30 |     assert!(let Ok(x) = toml::from_str::<TeCharSize>("cs = 8") && x.cs == serial2::CharSize::Bits8);
[INFO] [stdout]    |                                          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeCharSize` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[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:32:46
[INFO] [stdout]      |
[INFO] [stdout]   32 |     assert!(let Err(e) = serde_json::from_str::<serial2::CharSize>("4"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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 `TeCharSize: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:35:40
[INFO] [stdout]    |
[INFO] [stdout] 35 |     assert!(let Err(e) = toml::from_str::<TeCharSize>("cs = 4"));
[INFO] [stdout]    |                                           ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeCharSize` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[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:38:46
[INFO] [stdout]      |
[INFO] [stdout]   38 |     assert!(let Err(e) = serde_json::from_str::<serial2::CharSize>("9"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:41:46
[INFO] [stdout]      |
[INFO] [stdout]   41 |     assert!(let Err(e) = serde_json::from_str::<serial2::CharSize>("\"5\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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 `TeCharSize: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:44:40
[INFO] [stdout]    |
[INFO] [stdout] 44 |     assert!(let Err(e) = toml::from_str::<TeCharSize>("cs = \"5\""));
[INFO] [stdout]    |                                           ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeCharSize`
[INFO] [stdout]   --> tests/serde.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct TeCharSize {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeCharSize` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[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:55:44
[INFO] [stdout]      |
[INFO] [stdout]   55 |     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 134 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] 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:56:44
[INFO] [stdout]      |
[INFO] [stdout]   56 |     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 134 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] 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 `TeStopBits: serde::Serialize` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:58:38
[INFO] [stdout]    |
[INFO] [stdout] 58 |     assert!(let Ok(x) = toml::to_string(&TeStopBits { sb: serial2::StopBits::One }) && x == "sb = 1\n");
[INFO] [stdout]    |                         --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `TeStopBits`
[INFO] [stdout]   --> tests/serde.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct TeStopBits {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `TeStopBits` 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 134 others
[INFO] [stdout] note: required by a bound in `toml::to_string`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/ser/mod.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn to_string<T>(value: &T) -> Result<String, Error>
[INFO] [stdout] 66 | where
[INFO] [stdout] 67 |     T: serde_core::ser::Serialize + ?Sized,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TeStopBits: serde::Serialize` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:59:38
[INFO] [stdout]    |
[INFO] [stdout] 59 |     assert!(let Ok(x) = toml::to_string(&TeStopBits { sb: serial2::StopBits::Two }) && x == "sb = 2\n");
[INFO] [stdout]    |                         --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `serde_core::ser::Serialize` is not implemented for `TeStopBits`
[INFO] [stdout]   --> tests/serde.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct TeStopBits {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Serialize)]` to your `TeStopBits` 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 134 others
[INFO] [stdout] note: required by a bound in `toml::to_string`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/ser/mod.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn to_string<T>(value: &T) -> Result<String, Error>
[INFO] [stdout] 66 | where
[INFO] [stdout] 67 |     T: serde_core::ser::Serialize + ?Sized,
[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:61:66
[INFO] [stdout]      |
[INFO] [stdout]   61 |     assert!(let Ok(serial2::StopBits::One) = serde_json::from_str::<serial2::StopBits>("1"));
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:62:66
[INFO] [stdout]      |
[INFO] [stdout]   62 |     assert!(let Ok(serial2::StopBits::Two) = serde_json::from_str::<serial2::StopBits>("2"));
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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 `TeStopBits: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:64:39
[INFO] [stdout]    |
[INFO] [stdout] 64 |     assert!(let Ok(x) = toml::from_str::<TeStopBits>("sb = 1\n") && x.sb == serial2::StopBits::One);
[INFO] [stdout]    |                                          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeStopBits`
[INFO] [stdout]   --> tests/serde.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct TeStopBits {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeStopBits` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TeStopBits: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:65:39
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert!(let Ok(x) = toml::from_str::<TeStopBits>("sb = 2") && x.sb == serial2::StopBits::Two);
[INFO] [stdout]    |                                          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeStopBits`
[INFO] [stdout]   --> tests/serde.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct TeStopBits {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeStopBits` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[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:67:46
[INFO] [stdout]      |
[INFO] [stdout]   67 |     assert!(let Err(e) = serde_json::from_str::<serial2::StopBits>("0"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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 `TeStopBits: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]   --> tests/serde.rs:70:40
[INFO] [stdout]    |
[INFO] [stdout] 70 |     assert!(let Err(e) = toml::from_str::<TeStopBits>("sb = 0"));
[INFO] [stdout]    |                                           ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `toml::macros::Deserialize<'_>` is not implemented for `TeStopBits`
[INFO] [stdout]   --> tests/serde.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct TeStopBits {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TeStopBits` 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 `toml::macros::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 146 others
[INFO] [stdout] note: required by a bound in `toml::from_str`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-1.1.4+spec-1.1.0/src/de/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn from_str<'de, T>(s: &'de str) -> Result<T, Error>
[INFO] [stdout] 73 | where
[INFO] [stdout] 74 |     T: serde_core::de::Deserialize<'de>,
[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:73:46
[INFO] [stdout]      |
[INFO] [stdout]   73 |     assert!(let Err(e) = serde_json::from_str::<serial2::StopBits>("3"));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:76:46
[INFO] [stdout]      |
[INFO] [stdout]   76 |     assert!(let Err(e) = serde_json::from_str::<serial2::StopBits>("\"1\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:82:44
[INFO] [stdout]      |
[INFO] [stdout]   82 |     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 134 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] 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:83:44
[INFO] [stdout]      |
[INFO] [stdout]   83 |     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 134 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] 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:84:44
[INFO] [stdout]      |
[INFO] [stdout]   84 |     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 134 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] 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:86:65
[INFO] [stdout]      |
[INFO] [stdout]   86 |     assert!(let Ok(serial2::Parity::None) = serde_json::from_str::<serial2::Parity>("\"none\""));
[INFO] [stdout]      |                                                                    ^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:87:65
[INFO] [stdout]      |
[INFO] [stdout]   87 |     assert!(let Ok(serial2::Parity::Even) = serde_json::from_str::<serial2::Parity>("\"even\""));
[INFO] [stdout]      |                                                                    ^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:88:64
[INFO] [stdout]      |
[INFO] [stdout]   88 |     assert!(let Ok(serial2::Parity::Odd) = serde_json::from_str::<serial2::Parity>("\"odd\""));
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:90:46
[INFO] [stdout]      |
[INFO] [stdout]   90 |     assert!(let Err(e) = serde_json::from_str::<serial2::Parity>("\"even-then-odd\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:96:44
[INFO] [stdout]      |
[INFO] [stdout]   96 |     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 134 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] 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:97:44
[INFO] [stdout]      |
[INFO] [stdout]   97 |     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 134 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] 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:98:44
[INFO] [stdout]      |
[INFO] [stdout]   98 |     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 134 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] 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:100:70
[INFO] [stdout]      |
[INFO] [stdout]  100 |     assert!(let Ok(serial2::FlowControl::None) = serde_json::from_str::<serial2::FlowControl>("\"none\""));
[INFO] [stdout]      |                                                                         ^^^^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:101:73
[INFO] [stdout]      |
[INFO] [stdout]  101 |     assert!(let Ok(serial2::FlowControl::XonXoff) = serde_json::from_str::<serial2::FlowControl>("\"xon/xoff\""));
[INFO] [stdout]      |                                                                            ^^^^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:102:72
[INFO] [stdout]      |
[INFO] [stdout]  102 |     assert!(let Ok(serial2::FlowControl::RtsCts) = serde_json::from_str::<serial2::FlowControl>("\"rts/cts\""));
[INFO] [stdout]      |                                                                           ^^^^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 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:104:46
[INFO] [stdout]      |
[INFO] [stdout]  104 |     assert!(let Err(e) = serde_json::from_str::<serial2::FlowControl>("\"plug-in/plug-out\""));
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^ the trait `toml::macros::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 `toml::macros::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 146 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] 2700 | where
[INFO] [stdout] 2701 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `serial2` (test "serde") due to 49 previous errors
[INFO] running `Command { std: "docker" "inspect" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065", kill_on_drop: false }`
[INFO] [stdout] 1090c490ea29e570e620069e70b7b4c2f0328e0c3555c1dc71f3116dffe72065
