error[E0277]: the trait bound `tokio_serial::Serial: tokio::io::AsyncRead` is not satisfied --> src/main.rs:502:47 | 502 | let (rx_port, tx_port) = tokio::io::split(port); | ---------------- ^^^^ the trait `tokio::io::AsyncRead` is not implemented for `tokio_serial::Serial` | | | required by a bound introduced by this call | = help: the following other types implement trait `tokio::io::AsyncRead`: &[u8] &mut T Box BufStream DuplexStream Pin

std::io::Cursor tokio::fs::File and 16 others = note: required for `&mut tokio_serial::Serial` to implement `tokio::io::AsyncRead` note: required by a bound in `tokio::io::split` --> /home/bcody/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.16.1/src/io/split.rs:36:12 | 36 | T: AsyncRead + AsyncWrite, | ^^^^^^^^^ required by this bound in `split` error[E0277]: the trait bound `tokio_serial::Serial: tokio::io::AsyncWrite` is not satisfied --> src/main.rs:502:47 | 502 | let (rx_port, tx_port) = tokio::io::split(port); | ---------------- ^^^^ the trait `tokio::io::AsyncWrite` is not implemented for `tokio_serial::Serial` | | | required by a bound introduced by this call | = help: the following other types implement trait `tokio::io::AsyncWrite`: &mut T Box BufStream DuplexStream Pin

Vec std::io::Cursor<&mut Vec> std::io::Cursor<&mut [u8]> and 16 others = note: required for `&mut tokio_serial::Serial` to implement `tokio::io::AsyncWrite` note: required by a bound in `tokio::io::split` --> /home/bcody/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.16.1/src/io/split.rs:36:24 | 36 | T: AsyncRead + AsyncWrite, | ^^^^^^^^^^ required by this bound in `split` error[E0277]: the trait bound `tokio::io::ReadHalf<&mut tokio_serial::Serial>: tokio::io::async_read::AsyncRead` is not satisfied --> src/main.rs:504:64 | 504 | let mut serial_reader = tokio_util::codec::FramedRead::new(rx_port, StringDecoder::new()); | ---------------------------------- ^^^^^^^ the trait `tokio::io::async_read::AsyncRead` is not implemented for `tokio::io::ReadHalf<&mut tokio_serial::Serial>` | | | required by a bound introduced by this call | = help: the following other types implement trait `tokio::io::async_read::AsyncRead`: &[u8] &mut T Box Pin

std::io::Cursor tokio::io::poll_evented::PollEvented tokio_serial::Serial note: required by a bound in `FramedRead::::new` --> /home/bcody/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-util-0.3.1/src/codec/framed_read.rs:41:8 | 41 | T: AsyncRead, | ^^^^^^^^^ required by this bound in `FramedRead::::new` error[E0277]: the trait bound `tokio::io::WriteHalf<&mut tokio_serial::Serial>: tokio::io::async_write::AsyncWrite` is not satisfied --> src/main.rs:505:59 | 505 | let serial_sink = tokio_util::codec::FramedWrite::new(tx_port, BytesCodec::new()); | ----------------------------------- ^^^^^^^ the trait `tokio::io::async_write::AsyncWrite` is not implemented for `tokio::io::WriteHalf<&mut tokio_serial::Serial>` | | | required by a bound introduced by this call | = help: the following other types implement trait `tokio::io::async_write::AsyncWrite`: &mut T Box Pin

Vec std::io::Cursor<&mut Vec> std::io::Cursor<&mut [u8]> std::io::Cursor> std::io::Cursor> and 2 others note: required by a bound in `FramedWrite::::new` --> /home/bcody/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-util-0.3.1/src/codec/framed_write.rs:44:8 | 44 | T: AsyncWrite, | ^^^^^^^^^^ required by this bound in `FramedWrite::::new` error[E0277]: the trait bound `tokio::io::WriteHalf<&mut tokio_serial::Serial>: tokio::io::async_write::AsyncWrite` is not satisfied --> src/main.rs:510:57 | 510 | let mut poll_send = serial_consumer.map(Ok).forward(serial_sink); | ------- ^^^^^^^^^^^ the trait `tokio::io::async_write::AsyncWrite` is not implemented for `tokio::io::WriteHalf<&mut tokio_serial::Serial>` | | | required by a bound introduced by this call | = help: the following other types implement trait `tokio::io::async_write::AsyncWrite`: &mut T Box Pin

Vec std::io::Cursor<&mut Vec> std::io::Cursor<&mut [u8]> std::io::Cursor> std::io::Cursor> and 2 others = note: required for `FramedWrite, BytesCodec>` to implement `futures::Sink` note: required by a bound in `futures::StreamExt::forward` --> /home/bcody/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-util-0.3.8/src/stream/stream/mod.rs:1292:12 | 1292 | S: Sink, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `StreamExt::forward` error[E0599]: the method `next` exists for struct `FramedRead, StringDecoder>`, but its trait bounds were not satisfied --> src/main.rs:513:46 | 513 | let mut serial_event = serial_reader.next().fuse(); | ^^^^ method cannot be called on `FramedRead, StringDecoder>` due to unsatisfied trait bounds | ::: /home/bcody/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-util-0.3.1/src/codec/framed_read.rs:14:1 | 14 | / pin_project! { 15 | | /// A [`Stream`] of messages decoded from an [`AsyncRead`]. 16 | | /// 17 | | /// [`Stream`]: tokio::stream::Stream ... | 22 | | } 23 | | } | | - | | | | |_doesn't satisfy `_: StreamExt` | doesn't satisfy `_: Stream` | = note: the following trait bounds were not satisfied: `FramedRead, StringDecoder>: Stream` which is required by `FramedRead, StringDecoder>: StreamExt` Some errors have detailed explanations: E0277, E0599. For more information about an error, try `rustc --explain E0277`. error: could not compile `serial-monitor` due to 6 previous errors