# rustc -vV
rustc 1.65.0-nightly (015a824f2 2022-08-22)
binary: rustc
commit-hash: 015a824f2dffe32707fceb59c47effaf7b73486c
commit-date: 2022-08-22
host: x86_64-unknown-linux-gnu
release: 1.65.0-nightly
LLVM version: 15.0.0
root@ubuntu:~/proxy# cargo tree | grep monoio
└── monoio v0.0.6
├── monoio-macros v0.0.3 (proc-macro)
root@ubuntu:~/proxy# cargo +nightly check
Checking futures-sink v0.3.23
Checking futures-io v0.3.23
Checking cfg-if v1.0.0
Checking pin-project-lite v0.2.9
Checking pin-utils v0.1.0
Checking bitflags v1.3.2
Checking byteorder v1.4.3
Checking scoped-tls v1.0.0
Checking bytes v1.2.1
Checking fxhash v0.2.1
Checking libc v0.2.132
Checking futures-core v0.3.23
Checking memchr v2.5.0
Checking futures-task v0.3.23
Checking log v0.4.17
Checking slab v0.4.7
Checking memoffset v0.6.5
Checking io-uring v0.5.3
Checking os_socketaddr v0.2.1
Checking socket2 v0.4.4
Checking futures-channel v0.3.23
Checking mio v0.8.4
Checking nix v0.24.2
Checking futures-util v0.3.23
Checking futures-executor v0.3.23
Checking futures v0.3.23
Checking monoio v0.0.6
error[E0277]: the trait bound `B: IoBufMut` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_read_rent.rs:72:9
|
72 | async move { (Ok(amt), buf) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `IoBufMut` is not implemented for `B`
|
note: required by a bound in `<&[u8] as AsyncReadRent>::read`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_read_rent.rs:64:16
|
64 | fn read<T: IoBufMut>(&mut self, mut buf: T) -> Self::ReadFuture<'_, T> {
| ^^^^^^^^ required by this bound in `<&[u8] as AsyncReadRent>::read`
help: consider further restricting this bound
|
60 | B: 'a + buf::io_buf::IoBufMut, Self: 'a;
| +++++++++++++++++++++++
error[E0277]: the trait bound `B: IoVecBufMut` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_read_rent.rs:76:9
|
76 | / async move {
77 | | let n = match unsafe { RawBuf::new_from_iovec_mut(&mut buf) } {
78 | | Some(raw_buf) => self.read(raw_buf).await.0,
79 | | None => Ok(0),
... |
84 | | (n, buf)
85 | | }
| |_________^ the trait `IoVecBufMut` is not implemented for `B`
|
note: required by a bound in `<&[u8] as AsyncReadRent>::readv`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_read_rent.rs:75:17
|
75 | fn readv<T: IoVecBufMut>(&mut self, mut buf: T) -> Self::ReadvFuture<'_, T> {
| ^^^^^^^^^^^ required by this bound in `<&[u8] as AsyncReadRent>::readv`
help: consider further restricting this bound
|
62 | B: 'a + buf::io_vec_buf::IoVecBufMut, Self: 'a;
| ++++++++++++++++++++++++++++++
error[E0277]: the trait bound `T: IoBufMut` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_read_rent_ext.rs:109:9
|
109 | / async move {
110 | | let ptr = buf.write_ptr();
111 | | let len = buf.bytes_total();
112 | | let mut read = 0;
... |
133 | | (Ok(read), buf)
134 | | }
| |_________^ the trait `IoBufMut` is not implemented for `T`
|
note: required by a bound in `<A as AsyncReadRentExt>::read_exact`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_read_rent_ext.rs:107:22
|
105 | fn read_exact<T>(&mut self, mut buf: T) -> Self::ReadExactFuture<'_, T>
| ---------- required by a bound in this
106 | where
107 | T: 'static + IoBufMut,
| ^^^^^^^^ required by this bound in `<A as AsyncReadRentExt>::read_exact`
help: consider further restricting this bound
|
103 | type ReadExactFuture<'a, T> = impl Future<Output = BufResult<usize, T>> where A: 'a, T: 'a + buf::io_buf::IoBufMut;
| +++++++++++++++++++++++
error[E0277]: the trait bound `T: IoVecBufMut` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_read_rent_ext.rs:149:9
|
149 | / async move {
150 | | while read < len {
151 | | let (res, meta_) = self.readv(meta).await;
152 | | meta = meta_;
... |
168 | | (Ok(read), buf)
169 | | }
| |_________^ the trait `IoVecBufMut` is not implemented for `T`
|
note: required by a bound in `<A as AsyncReadRentExt>::read_vectored_exact`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_read_rent_ext.rs:144:22
|
139 | fn read_vectored_exact<T: 'static>(
| ------------------- required by a bound in this
...
144 | T: 'static + IoVecBufMut,
| ^^^^^^^^^^^ required by this bound in `<A as AsyncReadRentExt>::read_vectored_exact`
help: consider further restricting this bound
|
137 | type ReadVectoredExactFuture<'a, T> = impl Future<Output = BufResult<usize, T>> where A: 'a, T: 'a + buf::io_vec_buf::IoVecBufMut;
| ++++++++++++++++++++++++++++++
error[E0277]: the trait bound `T: IoBuf` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_write_rent_ext.rs:43:9
|
43 | / async move {
44 | | let ptr = buf.read_ptr();
45 | | let len = buf.bytes_init();
46 | | let mut written = 0;
... |
64 | | (Ok(written), buf)
65 | | }
| |_________^ the trait `IoBuf` is not implemented for `T`
|
note: required by a bound in `<A as AsyncWriteRentExt>::write_all`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_write_rent_ext.rs:41:22
|
39 | fn write_all<T>(&mut self, buf: T) -> Self::WriteExactFuture<'_, T>
| --------- required by a bound in this
40 | where
41 | T: 'static + IoBuf,
| ^^^^^ required by this bound in `<A as AsyncWriteRentExt>::write_all`
help: consider further restricting this bound
|
37 | type WriteExactFuture<'a, T> = impl Future<Output = BufResult<usize, T>> where A: 'a, T: 'a + buf::io_buf::IoBuf;
| ++++++++++++++++++++
error[E0277]: the trait bound `T: IoVecBuf` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_write_rent_ext.rs:78:9
|
78 | / async move {
79 | | while written < len {
80 | | let (res, meta_) = self.writev(meta).await;
81 | | meta = meta_;
... |
100 | | (Ok(written), buf)
101 | | }
| |_________^ the trait `IoVecBuf` is not implemented for `T`
|
note: required by a bound in `<A as AsyncWriteRentExt>::write_vectored_all`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/async_write_rent_ext.rs:72:22
|
70 | fn write_vectored_all<T>(&mut self, buf: T) -> Self::WriteVectoredExactFuture<'_, T>
| ------------------ required by a bound in this
71 | where
72 | T: 'static + IoVecBuf,
| ^^^^^^^^ required by this bound in `<A as AsyncWriteRentExt>::write_vectored_all`
help: consider further restricting this bound
|
68 | type WriteVectoredExactFuture<'a, T> = impl Future<Output = BufResult<usize, T>> where A: 'a, T: 'a + buf::io_vec_buf::IoVecBuf;
| +++++++++++++++++++++++++++
error[E0277]: expected a `FnMut<(<T as io::stream::Stream>::Item,)>` closure, found `F`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/stream/stream_ext.rs:34:9
|
34 | / async move {
35 | | while let Some(item) = self.next().await {
36 | | (f)(item).await;
37 | | }
38 | | }
| |_________^ expected an `FnMut<(<T as io::stream::Stream>::Item,)>` closure, found `F`
|
note: required by a bound in `stream_ext::StreamExt::for_each`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/stream/stream_ext.rs:30:12
|
28 | fn for_each<Fut, F>(mut self, mut f: F) -> ForEachFut<Self, Fut, F>
| -------- required by a bound in this
29 | where
30 | F: FnMut(Self::Item) -> Fut,
| ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `stream_ext::StreamExt::for_each`
help: consider restricting type parameter `F`
|
44 | type ForEachFut<T: Stream, Fut, F: std::ops::FnMut<(<T as io::stream::Stream>::Item,)>> = impl Future<Output = ()>;
| +++++++++++++++++++++++++++++++++++++++++++++++++++++
error[E0277]: `Fut` is not a future
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/stream/stream_ext.rs:34:9
|
34 | / async move {
35 | | while let Some(item) = self.next().await {
36 | | (f)(item).await;
37 | | }
38 | | }
| |_________^ `Fut` is not a future
|
= note: Fut must be a future or must implement `IntoFuture` to be awaited
note: required by a bound in `stream_ext::StreamExt::for_each`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/stream/stream_ext.rs:31:14
|
28 | fn for_each<Fut, F>(mut self, mut f: F) -> ForEachFut<Self, Fut, F>
| -------- required by a bound in this
...
31 | Fut: Future<Output = ()>,
| ^^^^^^^^^^^^^^^^^^^ required by this bound in `stream_ext::StreamExt::for_each`
help: consider restricting type parameter `Fut`
|
44 | type ForEachFut<T: Stream, Fut: futures::Future, F> = impl Future<Output = ()>;
| +++++++++++++++++
error[E0277]: the trait bound `T: IoBufMut` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/buf_reader.rs:78:9
|
78 | / async move {
79 | | // If we don't have any buffered data and we're doing a massive read
80 | | // (larger than our internal buffer), bypass our internal buffer
81 | | // entirely.
... |
100 | | (Ok(amt), buf)
101 | | }
| |_________^ the trait `IoBufMut` is not implemented for `T`
|
note: required by a bound in `<buf_reader::BufReader<R> as AsyncReadRent>::read`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/buf_reader.rs:77:16
|
77 | fn read<T: crate::buf::IoBufMut>(&mut self, mut buf: T) -> Self::ReadFuture<'_, T> {
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `<buf_reader::BufReader<R> as AsyncReadRent>::read`
help: consider further restricting this bound
|
72 | T: 'a + buf::io_buf::IoBufMut, R: 'a;
| +++++++++++++++++++++++
error[E0277]: the trait bound `T: IoVecBufMut` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/buf_reader.rs:105:9
|
105 | / async move {
106 | | let n = match unsafe { RawBuf::new_from_iovec_mut(&mut buf) } {
107 | | Some(raw_buf) => self.read(raw_buf).await.0,
108 | | None => Ok(0),
... |
113 | | (n, buf)
114 | | }
| |_________^ the trait `IoVecBufMut` is not implemented for `T`
|
note: required by a bound in `<buf_reader::BufReader<R> as AsyncReadRent>::readv`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/buf_reader.rs:104:17
|
104 | fn readv<T: crate::buf::IoVecBufMut>(&mut self, mut buf: T) -> Self::ReadvFuture<'_, T> {
| ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `<buf_reader::BufReader<R> as AsyncReadRent>::readv`
help: consider further restricting this bound
|
75 | T: 'a + buf::io_vec_buf::IoVecBufMut, R: 'a;
| ++++++++++++++++++++++++++++++
error[E0277]: the trait bound `T: IoBuf` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/buf_writer.rs:100:9
|
100 | / async move {
101 | | let owned_buf = self.buf.as_ref().unwrap();
102 | | let owned_len = owned_buf.len();
103 | | let amt = buf.bytes_init();
... |
134 | | }
135 | | }
| |_________^ the trait `IoBuf` is not implemented for `T`
|
note: required by a bound in `<buf_writer::BufWriter<W> as AsyncWriteRent>::write`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/buf_writer.rs:99:17
|
99 | fn write<T: crate::buf::IoBuf>(&mut self, buf: T) -> Self::WriteFuture<'_, T> {
| ^^^^^^^^^^^^^^^^^ required by this bound in `<buf_writer::BufWriter<W> as AsyncWriteRent>::write`
help: consider further restricting this bound
|
88 | T: 'a + buf::io_buf::IoBuf, W: 'a;
| ++++++++++++++++++++
error[E0277]: the trait bound `T: IoVecBuf` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/buf_writer.rs:140:9
|
140 | / async move {
141 | | let n = match unsafe { RawBuf::new_from_iovec(&buf_vec) } {
142 | | Some(raw_buf) => self.write(raw_buf).await.0,
143 | | None => Ok(0),
144 | | };
145 | | (n, buf_vec)
146 | | }
| |_________^ the trait `IoVecBuf` is not implemented for `T`
|
note: required by a bound in `<buf_writer::BufWriter<W> as AsyncWriteRent>::writev`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/buf_writer.rs:139:18
|
139 | fn writev<T: crate::buf::IoVecBuf>(&mut self, buf_vec: T) -> Self::WritevFuture<'_, T> {
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `<buf_writer::BufWriter<W> as AsyncWriteRent>::writev`
help: consider further restricting this bound
|
91 | T: 'a + buf::io_vec_buf::IoVecBuf, W: 'a;
| +++++++++++++++++++++++++++
error[E0277]: the trait bound `T: IoBufMut` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/prefixed_io.rs:45:9
|
45 | / async move {
46 | | if buf.bytes_total() == 0 {
47 | | return (Ok(0), buf);
48 | | }
... |
68 | | self.io.read(buf).await
69 | | }
| |_________^ the trait `IoBufMut` is not implemented for `T`
|
note: required by a bound in `<PrefixedReadIo<I, P> as AsyncReadRent>::read`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/prefixed_io.rs:44:16
|
44 | fn read<T: crate::buf::IoBufMut>(&mut self, mut buf: T) -> Self::ReadFuture<'_, T> {
| ^^^^^^^^^^^^^^^^^^^^ required by this bound in `<PrefixedReadIo<I, P> as AsyncReadRent>::read`
help: consider further restricting this bound
|
38 | T: 'a + buf::io_buf::IoBufMut, Self: 'a;
| +++++++++++++++++++++++
error[E0277]: the trait bound `T: IoVecBufMut` is not satisfied
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/prefixed_io.rs:73:9
|
73 | / async move {
74 | | let n = match unsafe { RawBuf::new_from_iovec_mut(&mut buf) } {
75 | | Some(raw_buf) => self.read(raw_buf).await.0,
76 | | None => Ok(0),
... |
81 | | (n, buf)
82 | | }
| |_________^ the trait `IoVecBufMut` is not implemented for `T`
|
note: required by a bound in `<PrefixedReadIo<I, P> as AsyncReadRent>::readv`
--> /root/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/monoio-0.0.6/src/io/util/prefixed_io.rs:72:17
|
72 | fn readv<T: crate::buf::IoVecBufMut>(&mut self, mut buf: T) -> Self::ReadvFuture<'_, T> {
| ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `<PrefixedReadIo<I, P> as AsyncReadRent>::readv`
help: consider further restricting this bound
|
42 | T: 'a + buf::io_vec_buf::IoVecBufMut, Self: 'a;
| ++++++++++++++++++++++++++++++
For more information about this error, try `rustc --explain E0277`.
error: could not compile `monoio` due to 14 previous errors