Skip to content

Rework core to be ABI-safe #221

Rework core to be ABI-safe

Rework core to be ABI-safe #221

Triggered via push April 24, 2025 22:39
Status Success
Total duration 10m 9s
Artifacts

build.yml

on: push
Matrix: build-base
Matrix: build-cross-aarch64
Matrix: build-nightly
Fit to window
Zoom out
Zoom in

Annotations

911 warnings
build-base (ubuntu-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
the borrowed expression implements the required traits: mfio/benches/main.rs#L309
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:309:21 | 309 | / &format!( 310 | | "read {}", 311 | | std::any::type_name::<T>().split("::").last().unwrap() 312 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 309 ~ format!( 310 + "read {}", 311 + std::any::type_name::<T>().split("::").last().unwrap() 312 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L243
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:243:21 | 243 | / &format!( 244 | | "read {}", 245 | | std::any::type_name::<T>().split("::").last().unwrap() 246 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 243 ~ format!( 244 + "read {}", 245 + std::any::type_name::<T>().split("::").last().unwrap() 246 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L175
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:175:21 | 175 | / &format!( 176 | | "read {}", 177 | | std::any::type_name::<T>().split("::").last().unwrap() 178 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 175 ~ format!( 176 + "read {}", 177 + std::any::type_name::<T>().split("::").last().unwrap() 178 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L107
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:107:21 | 107 | / &format!( 108 | | "read {}", 109 | | std::any::type_name::<T>().split("::").last().unwrap() 110 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default help: change this to | 107 ~ format!( 108 + "read {}", 109 + std::any::type_name::<T>().split("::").last().unwrap() 110 ~ ), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
build-base (macos-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L119
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:119:14 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:119:23 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncRead` has the bound `IoRead` = note: ...because `IoRead` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<'a, Io: stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L119
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:119:6 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'_, Io> |
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
the borrowed expression implements the required traits: mfio/benches/main.rs#L309
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:309:21 | 309 | / &format!( 310 | | "read {}", 311 | | std::any::type_name::<T>().split("::").last().unwrap() 312 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 309 ~ format!( 310 + "read {}", 311 + std::any::type_name::<T>().split("::").last().unwrap() 312 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L243
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:243:21 | 243 | / &format!( 244 | | "read {}", 245 | | std::any::type_name::<T>().split("::").last().unwrap() 246 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 243 ~ format!( 244 + "read {}", 245 + std::any::type_name::<T>().split("::").last().unwrap() 246 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L175
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:175:21 | 175 | / &format!( 176 | | "read {}", 177 | | std::any::type_name::<T>().split("::").last().unwrap() 178 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 175 ~ format!( 176 + "read {}", 177 + std::any::type_name::<T>().split("::").last().unwrap() 178 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L107
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:107:21 | 107 | / &format!( 108 | | "read {}", 109 | | std::any::type_name::<T>().split("::").last().unwrap() 110 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default help: change this to | 107 ~ format!( 108 + "read {}", 109 + std::any::type_name::<T>().split("::").last().unwrap() 110 ~ ), |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
build-base (ubuntu-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
build-base (ubuntu-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
build-base (ubuntu-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L119
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:119:14 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:119:23 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncRead` has the bound `IoRead` = note: ...because `IoRead` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<'a, Io: stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L119
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:119:6 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the borrowed expression implements the required traits: mfio/benches/main.rs#L309
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:309:21 | 309 | / &format!( 310 | | "read {}", 311 | | std::any::type_name::<T>().split("::").last().unwrap() 312 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 309 ~ format!( 310 + "read {}", 311 + std::any::type_name::<T>().split("::").last().unwrap() 312 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L243
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:243:21 | 243 | / &format!( 244 | | "read {}", 245 | | std::any::type_name::<T>().split("::").last().unwrap() 246 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 243 ~ format!( 244 + "read {}", 245 + std::any::type_name::<T>().split("::").last().unwrap() 246 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L175
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:175:21 | 175 | / &format!( 176 | | "read {}", 177 | | std::any::type_name::<T>().split("::").last().unwrap() 178 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 175 ~ format!( 176 + "read {}", 177 + std::any::type_name::<T>().split("::").last().unwrap() 178 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L107
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:107:21 | 107 | / &format!( 108 | | "read {}", 109 | | std::any::type_name::<T>().split("::").last().unwrap() 110 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default help: change this to | 107 ~ format!( 108 + "read {}", 109 + std::any::type_name::<T>().split("::").last().unwrap() 110 ~ ), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/io_uring/mod.rs#L197
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/io_uring/mod.rs:197:6 | 197 | impl<'a> IoUringPushHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 197 - impl<'a> IoUringPushHandle<'a> { 197 + impl IoUringPushHandle<'_> { |
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
manually reimplementing `div_ceil`: mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L143
warning: manually reimplementing `div_ceil` --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:143:52 | 143 | let target_height = core::cmp::min((queue.len() + *IOV_MAX - 1) / *IOV_MAX, 2); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `queue.len().div_ceil(*IOV_MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil = note: `#[warn(clippy::manual_div_ceil)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:71 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^ help: try: `{ *IOV_MAX }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:49 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^^^^ help: try: `queue.len()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^
field `1` is never read: mfio-rt/src/native/impls/io_uring/mod.rs#L46
warning: field `1` is never read --> mfio-rt/src/native/impls/io_uring/mod.rs:46:45 | 46 | FileWrite(AllocedOrTransferred<RdPerm>, RawBox), | --------- field in this variant ^^^^^^ | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 46 - FileWrite(AllocedOrTransferred<RdPerm>, RawBox), 46 + FileWrite(AllocedOrTransferred<RdPerm>, ()), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::State>` ... 274 | / ienum! { 275 | | /// Describes the state of the error subject. 276 | | /// 277 | | /// State allows to specify what caused the [`Subject`] to fail. ... | 313 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Subject>` ... 231 | / ienum! { 232 | | /// Describes the error subject. 233 | | /// 234 | | /// While [`Location`] points to a module where the error originated from, Subject attempts to ... | 272 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
the borrowed expression implements the required traits: mfio/benches/main.rs#L309
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:309:21 | 309 | / &format!( 310 | | "read {}", 311 | | std::any::type_name::<T>().split("::").last().unwrap() 312 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 309 ~ format!( 310 + "read {}", 311 + std::any::type_name::<T>().split("::").last().unwrap() 312 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L175
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:175:21 | 175 | / &format!( 176 | | "read {}", 177 | | std::any::type_name::<T>().split("::").last().unwrap() 178 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 175 ~ format!( 176 + "read {}", 177 + std::any::type_name::<T>().split("::").last().unwrap() 178 ~ ), |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/io_uring/mod.rs#L197
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/io_uring/mod.rs:197:6 | 197 | impl<'a> IoUringPushHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 197 - impl<'a> IoUringPushHandle<'a> { 197 + impl IoUringPushHandle<'_> { |
manually reimplementing `div_ceil`: mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L143
warning: manually reimplementing `div_ceil` --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:143:52 | 143 | let target_height = core::cmp::min((queue.len() + *IOV_MAX - 1) / *IOV_MAX, 2); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `queue.len().div_ceil(*IOV_MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil = note: `#[warn(clippy::manual_div_ceil)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:71 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^ help: try: `{ *IOV_MAX }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:49 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^^^^ help: try: `queue.len()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^
field `1` is never read: mfio-rt/src/native/impls/io_uring/mod.rs#L46
warning: field `1` is never read --> mfio-rt/src/native/impls/io_uring/mod.rs:46:45 | 46 | FileWrite(AllocedOrTransferred<RdPerm>, RawBox), | --------- field in this variant ^^^^^^ | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 46 - FileWrite(AllocedOrTransferred<RdPerm>, RawBox), 46 + FileWrite(AllocedOrTransferred<RdPerm>, ()), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::State>` ... 274 | / ienum! { 275 | | /// Describes the state of the error subject. 276 | | /// 277 | | /// State allows to specify what caused the [`Subject`] to fail. ... | 313 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Subject>` ... 231 | / ienum! { 232 | | /// Describes the error subject. 233 | | /// 234 | | /// While [`Location`] points to a module where the error originated from, Subject attempts to ... | 272 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
build-base (macos-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/io_uring/mod.rs#L197
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/io_uring/mod.rs:197:6 | 197 | impl<'a> IoUringPushHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 197 - impl<'a> IoUringPushHandle<'a> { 197 + impl IoUringPushHandle<'_> { |
manually reimplementing `div_ceil`: mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L143
warning: manually reimplementing `div_ceil` --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:143:52 | 143 | let target_height = core::cmp::min((queue.len() + *IOV_MAX - 1) / *IOV_MAX, 2); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `queue.len().div_ceil(*IOV_MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil = note: `#[warn(clippy::manual_div_ceil)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:71 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^ help: try: `{ *IOV_MAX }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:49 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^^^^ help: try: `queue.len()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^
field `1` is never read: mfio-rt/src/native/impls/io_uring/mod.rs#L46
warning: field `1` is never read --> mfio-rt/src/native/impls/io_uring/mod.rs:46:45 | 46 | FileWrite(AllocedOrTransferred<RdPerm>, RawBox), | --------- field in this variant ^^^^^^ | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 46 - FileWrite(AllocedOrTransferred<RdPerm>, RawBox), 46 + FileWrite(AllocedOrTransferred<RdPerm>, ()), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L119
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:119:14 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:119:23 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncRead` has the bound `IoRead` = note: ...because `IoRead` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<'a, Io: stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L119
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:119:6 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::State>` ... 274 | / ienum! { 275 | | /// Describes the state of the error subject. 276 | | /// 277 | | /// State allows to specify what caused the [`Subject`] to fail. ... | 313 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Subject>` ... 231 | / ienum! { 232 | | /// Describes the error subject. 233 | | /// 234 | | /// While [`Location`] points to a module where the error originated from, Subject attempts to ... | 272 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
the borrowed expression implements the required traits: mfio/benches/main.rs#L309
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:309:21 | 309 | / &format!( 310 | | "read {}", 311 | | std::any::type_name::<T>().split("::").last().unwrap() 312 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 309 ~ format!( 310 + "read {}", 311 + std::any::type_name::<T>().split("::").last().unwrap() 312 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L243
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:243:21 | 243 | / &format!( 244 | | "read {}", 245 | | std::any::type_name::<T>().split("::").last().unwrap() 246 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 243 ~ format!( 244 + "read {}", 245 + std::any::type_name::<T>().split("::").last().unwrap() 246 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L175
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:175:21 | 175 | / &format!( 176 | | "read {}", 177 | | std::any::type_name::<T>().split("::").last().unwrap() 178 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 175 ~ format!( 176 + "read {}", 177 + std::any::type_name::<T>().split("::").last().unwrap() 178 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L107
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:107:21 | 107 | / &format!( 108 | | "read {}", 109 | | std::any::type_name::<T>().split("::").last().unwrap() 110 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default help: change this to | 107 ~ format!( 108 + "read {}", 109 + std::any::type_name::<T>().split("::").last().unwrap() 110 ~ ), |
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/io_uring/mod.rs#L197
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/io_uring/mod.rs:197:6 | 197 | impl<'a> IoUringPushHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 197 - impl<'a> IoUringPushHandle<'a> { 197 + impl IoUringPushHandle<'_> { |
manually reimplementing `div_ceil`: mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L143
warning: manually reimplementing `div_ceil` --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:143:52 | 143 | let target_height = core::cmp::min((queue.len() + *IOV_MAX - 1) / *IOV_MAX, 2); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `queue.len().div_ceil(*IOV_MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil = note: `#[warn(clippy::manual_div_ceil)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:71 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^ help: try: `{ *IOV_MAX }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:49 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^^^^ help: try: `queue.len()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^
field `1` is never read: mfio-rt/src/native/impls/io_uring/mod.rs#L46
warning: field `1` is never read --> mfio-rt/src/native/impls/io_uring/mod.rs:46:45 | 46 | FileWrite(AllocedOrTransferred<RdPerm>, RawBox), | --------- field in this variant ^^^^^^ | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 46 - FileWrite(AllocedOrTransferred<RdPerm>, RawBox), 46 + FileWrite(AllocedOrTransferred<RdPerm>, ()), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L119
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:119:14 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:119:23 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncRead` has the bound `IoRead` = note: ...because `IoRead` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<'a, Io: stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L119
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:119:6 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::State>` ... 274 | / ienum! { 275 | | /// Describes the state of the error subject. 276 | | /// 277 | | /// State allows to specify what caused the [`Subject`] to fail. ... | 313 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Subject>` ... 231 | / ienum! { 232 | | /// Describes the error subject. 233 | | /// 234 | | /// While [`Location`] points to a module where the error originated from, Subject attempts to ... | 272 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/io_uring/mod.rs#L197
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/io_uring/mod.rs:197:6 | 197 | impl<'a> IoUringPushHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 197 - impl<'a> IoUringPushHandle<'a> { 197 + impl IoUringPushHandle<'_> { |
manually reimplementing `div_ceil`: mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L143
warning: manually reimplementing `div_ceil` --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:143:52 | 143 | let target_height = core::cmp::min((queue.len() + *IOV_MAX - 1) / *IOV_MAX, 2); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `queue.len().div_ceil(*IOV_MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil = note: `#[warn(clippy::manual_div_ceil)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:71 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^ help: try: `{ *IOV_MAX }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:49 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^^^^ help: try: `queue.len()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^
field `1` is never read: mfio-rt/src/native/impls/io_uring/mod.rs#L46
warning: field `1` is never read --> mfio-rt/src/native/impls/io_uring/mod.rs:46:45 | 46 | FileWrite(AllocedOrTransferred<RdPerm>, RawBox), | --------- field in this variant ^^^^^^ | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 46 - FileWrite(AllocedOrTransferred<RdPerm>, RawBox), 46 + FileWrite(AllocedOrTransferred<RdPerm>, ()), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::State>` ... 274 | / ienum! { 275 | | /// Describes the state of the error subject. 276 | | /// 277 | | /// State allows to specify what caused the [`Subject`] to fail. ... | 313 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Subject>` ... 231 | / ienum! { 232 | | /// Describes the error subject. 233 | | /// 234 | | /// While [`Location`] points to a module where the error originated from, Subject attempts to ... | 272 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
the borrowed expression implements the required traits: mfio/benches/main.rs#L309
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:309:21 | 309 | / &format!( 310 | | "read {}", 311 | | std::any::type_name::<T>().split("::").last().unwrap() 312 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 309 ~ format!( 310 + "read {}", 311 + std::any::type_name::<T>().split("::").last().unwrap() 312 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L243
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:243:21 | 243 | / &format!( 244 | | "read {}", 245 | | std::any::type_name::<T>().split("::").last().unwrap() 246 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 243 ~ format!( 244 + "read {}", 245 + std::any::type_name::<T>().split("::").last().unwrap() 246 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L175
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:175:21 | 175 | / &format!( 176 | | "read {}", 177 | | std::any::type_name::<T>().split("::").last().unwrap() 178 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 175 ~ format!( 176 + "read {}", 177 + std::any::type_name::<T>().split("::").last().unwrap() 178 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L107
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:107:21 | 107 | / &format!( 108 | | "read {}", 109 | | std::any::type_name::<T>().split("::").last().unwrap() 110 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default help: change this to | 107 ~ format!( 108 + "read {}", 109 + std::any::type_name::<T>().split("::").last().unwrap() 110 ~ ), |
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/io_uring/mod.rs#L197
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/io_uring/mod.rs:197:6 | 197 | impl<'a> IoUringPushHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 197 - impl<'a> IoUringPushHandle<'a> { 197 + impl IoUringPushHandle<'_> { |
manually reimplementing `div_ceil`: mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L143
warning: manually reimplementing `div_ceil` --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:143:52 | 143 | let target_height = core::cmp::min((queue.len() + *IOV_MAX - 1) / *IOV_MAX, 2); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `queue.len().div_ceil(*IOV_MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil = note: `#[warn(clippy::manual_div_ceil)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:71 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^ help: try: `{ *IOV_MAX }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:49 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^^^^ help: try: `queue.len()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^
field `1` is never read: mfio-rt/src/native/impls/io_uring/mod.rs#L46
warning: field `1` is never read --> mfio-rt/src/native/impls/io_uring/mod.rs:46:45 | 46 | FileWrite(AllocedOrTransferred<RdPerm>, RawBox), | --------- field in this variant ^^^^^^ | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 46 - FileWrite(AllocedOrTransferred<RdPerm>, RawBox), 46 + FileWrite(AllocedOrTransferred<RdPerm>, ()), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::State>` ... 274 | / ienum! { 275 | | /// Describes the state of the error subject. 276 | | /// 277 | | /// State allows to specify what caused the [`Subject`] to fail. ... | 313 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Subject>` ... 231 | / ienum! { 232 | | /// Describes the error subject. 233 | | /// 234 | | /// While [`Location`] points to a module where the error originated from, Subject attempts to ... | 272 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
build-cross-aarch64 (stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/io_uring/mod.rs#L197
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/io_uring/mod.rs:197:6 | 197 | impl<'a> IoUringPushHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 197 - impl<'a> IoUringPushHandle<'a> { 197 + impl IoUringPushHandle<'_> { |
manually reimplementing `div_ceil`: mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L143
warning: manually reimplementing `div_ceil` --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:143:52 | 143 | let target_height = core::cmp::min((queue.len() + *IOV_MAX - 1) / *IOV_MAX, 2); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `queue.len().div_ceil(*IOV_MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil = note: `#[warn(clippy::manual_div_ceil)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:71 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^ help: try: `{ *IOV_MAX }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:49 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^^^^ help: try: `queue.len()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^
field `1` is never read: mfio-rt/src/native/impls/io_uring/mod.rs#L46
warning: field `1` is never read --> mfio-rt/src/native/impls/io_uring/mod.rs:46:45 | 46 | FileWrite(AllocedOrTransferred<RdPerm>, RawBox), | --------- field in this variant ^^^^^^ | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 46 - FileWrite(AllocedOrTransferred<RdPerm>, RawBox), 46 + FileWrite(AllocedOrTransferred<RdPerm>, ()), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
build-cross-aarch64 (1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
build-cross-aarch64 (1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
build-cross-aarch64 (1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L119
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:119:14 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:119:23 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncRead` has the bound `IoRead` = note: ...because `IoRead` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<'a, Io: stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L119
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:119:6 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::State>` ... 274 | / ienum! { 275 | | /// Describes the state of the error subject. 276 | | /// 277 | | /// State allows to specify what caused the [`Subject`] to fail. ... | 313 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Subject>` ... 231 | / ienum! { 232 | | /// Describes the error subject. 233 | | /// 234 | | /// While [`Location`] points to a module where the error originated from, Subject attempts to ... | 272 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the borrowed expression implements the required traits: mfio/benches/main.rs#L175
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:175:21 | 175 | / &format!( 176 | | "read {}", 177 | | std::any::type_name::<T>().split("::").last().unwrap() 178 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 175 ~ format!( 176 + "read {}", 177 + std::any::type_name::<T>().split("::").last().unwrap() 178 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L107
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:107:21 | 107 | / &format!( 108 | | "read {}", 109 | | std::any::type_name::<T>().split("::").last().unwrap() 110 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default help: change this to | 107 ~ format!( 108 + "read {}", 109 + std::any::type_name::<T>().split("::").last().unwrap() 110 ~ ), |
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/io_uring/mod.rs#L197
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/io_uring/mod.rs:197:6 | 197 | impl<'a> IoUringPushHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 197 - impl<'a> IoUringPushHandle<'a> { 197 + impl IoUringPushHandle<'_> { |
manually reimplementing `div_ceil`: mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L143
warning: manually reimplementing `div_ceil` --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:143:52 | 143 | let target_height = core::cmp::min((queue.len() + *IOV_MAX - 1) / *IOV_MAX, 2); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `queue.len().div_ceil(*IOV_MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil = note: `#[warn(clippy::manual_div_ceil)]` on by default
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:71 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^ help: try: `{ *IOV_MAX }` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`usize` -> `usize`): mfio-rt/src/native/impls/io_uring/tcp_stream.rs#L116
warning: casting to the same type is unnecessary (`usize` -> `usize`) --> mfio-rt/src/native/impls/io_uring/tcp_stream.rs:116:49 | 116 | msg.msg_iovlen = core::cmp::min(queue.len() as usize, *IOV_MAX as usize) as _; | ^^^^^^^^^^^^^^^^^^^^ help: try: `queue.len()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^
field `1` is never read: mfio-rt/src/native/impls/io_uring/mod.rs#L46
warning: field `1` is never read --> mfio-rt/src/native/impls/io_uring/mod.rs:46:45 | 46 | FileWrite(AllocedOrTransferred<RdPerm>, RawBox), | --------- field in this variant ^^^^^^ | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 46 - FileWrite(AllocedOrTransferred<RdPerm>, RawBox), 46 + FileWrite(AllocedOrTransferred<RdPerm>, ()), |
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L119
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:119:14 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:119:23 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncRead` has the bound `IoRead` = note: ...because `IoRead` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<'a, Io: stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L119
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:119:6 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::State>` ... 274 | / ienum! { 275 | | /// Describes the state of the error subject. 276 | | /// 277 | | /// State allows to specify what caused the [`Subject`] to fail. ... | 313 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Subject>` ... 231 | / ienum! { 232 | | /// Describes the error subject. 233 | | /// 234 | | /// While [`Location`] points to a module where the error originated from, Subject attempts to ... | 272 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
build-cross-aarch64 (1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-cross-aarch64 (1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L119
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:119:14 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:119:23 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncRead` has the bound `IoRead` = note: ...because `IoRead` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<'a, Io: stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L119
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:119:6 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
the borrowed expression implements the required traits: mfio/benches/main.rs#L309
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:309:21 | 309 | / &format!( 310 | | "read {}", 311 | | std::any::type_name::<T>().split("::").last().unwrap() 312 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 309 ~ format!( 310 + "read {}", 311 + std::any::type_name::<T>().split("::").last().unwrap() 312 ~ ), |
the borrowed expression implements the required traits: mfio/benches/main.rs#L243
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:243:21 | 243 | / &format!( 244 | | "read {}", 245 | | std::any::type_name::<T>().split("::").last().unwrap() 246 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 243 ~ format!( 244 + "read {}", 245 + std::any::type_name::<T>().split("::").last().unwrap() 246 ~ ), |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
the borrowed expression implements the required traits: mfio/benches/main.rs#L175
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:175:21 | 175 | / &format!( 176 | | "read {}", 177 | | std::any::type_name::<T>().split("::").last().unwrap() 178 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 175 ~ format!( 176 + "read {}", 177 + std::any::type_name::<T>().split("::").last().unwrap() 178 ~ ), |
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the borrowed expression implements the required traits: mfio/benches/main.rs#L107
warning: the borrowed expression implements the required traits --> mfio/benches/main.rs:107:21 | 107 | / &format!( 108 | | "read {}", 109 | | std::any::type_name::<T>().split("::").last().unwrap() 110 | | ), | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default help: change this to | 107 ~ format!( 108 + "read {}", 109 + std::any::type_name::<T>().split("::").last().unwrap() 110 ~ ), |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio-netfs/src/net/client.rs#L775
warning: the following explicit lifetimes could be elided: 'a --> mfio-netfs/src/net/client.rs:775:6 | 775 | impl<'a> Stream for ReadDir<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 775 - impl<'a> Stream for ReadDir<'a> { 775 + impl Stream for ReadDir<'_> { |
omit braces around single expression condition: mfio-netfs/src/net/client.rs#L262
warning: omit braces around single expression condition --> mfio-netfs/src/net/client.rs:262:42 | 262 | let resp = match { | __________________________________________^ 263 | | IoRead::read::<Response>(read_end, NoPos::new()) 264 | | .instrument(tracing::span!( 265 | | tracing::Level::TRACE, ... | 268 | | .await 269 | | } { | |_________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions = note: `#[warn(clippy::blocks_in_conditions)]` on by default help: try | 262 ~ let resp = match IoRead::read::<Response>(read_end, NoPos::new()) 263 + .instrument(tracing::span!( 264 + tracing::Level::TRACE, 265 + "response header" 266 + )) 267 ~ .await { |
you should consider adding a `Default` implementation for `OpenOptions`: mfio-rt/src/lib.rs#L88
warning: you should consider adding a `Default` implementation for `OpenOptions` --> mfio-rt/src/lib.rs:88:5 | 88 | / pub const fn new() -> Self { 89 | | Self { 90 | | read: false, 91 | | write: false, ... | 96 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 87 + impl Default for OpenOptions { 88 + fn default() -> Self { 89 + Self::new() 90 + } 91 + } |
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/mod.rs#L701
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/mod.rs:701:6 | 701 | impl<'a> Future for OpenFileFuture<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 701 - impl<'a> Future for OpenFileFuture<'a> { 701 + impl Future for OpenFileFuture<'_> { |
transmute used without annotations: mfio-rt/src/native/impls/mio/file.rs#L320
warning: transmute used without annotations --> mfio-rt/src/native/impls/mio/file.rs:320:53 | 320 | let new_trans = unsafe { core::mem::transmute(new_trans) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<std::vec::Vec<std::mem::MaybeUninit<u8>>, std::vec::Vec<u8>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
the following explicit lifetimes could be elided: 'a: mfio-rt/src/native/impls/thread.rs#L551
warning: the following explicit lifetimes could be elided: 'a --> mfio-rt/src/native/impls/thread.rs:551:6 | 551 | impl<'a, A> Future for TcpConnectFuture<'a, A> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 551 - impl<'a, A> Future for TcpConnectFuture<'a, A> { 551 + impl<A> Future for TcpConnectFuture<'_, A> { |
associated function `static_conv_ref` is never used: mfio-rt/src/util/stream.rs#L22
warning: associated function `static_conv_ref` is never used --> mfio-rt/src/util/stream.rs:22:15 | 19 | trait StaticConv { | ---------- associated function in this trait ... 22 | unsafe fn static_conv_ref<'a, 'b>(inp: &'b Self::This<'static>) -> &'b Self::This<'a> { | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
irrefutable `if let` pattern: mfio-rt/src/native/mod.rs#L152
warning: irrefutable `if let` pattern --> mfio-rt/src/native/mod.rs:152:24 | 152 | if let Ok(v) = impls::$mod::Runtime::try_new() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 327 | / fs_dispatch! { 328 | | #[cfg(all(not(miri), target_os = "linux", feature = "io-uring"))] 329 | | IoUring => io_uring, 330 | | #[cfg(all(not(miri), target_os = "windows", feature = "iocp"))] ... | 334 | | Default => thread, 335 | | } | |_- in this macro invocation | = note: this pattern will always match, so the `if let` is useless = help: consider replacing the `if let` with a `let` = note: `#[warn(irrefutable_let_patterns)]` on by default = note: this warning originates in the macro `fs_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: mfio/src/stdeq.rs#L191
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/stdeq.rs:191:6 | 191 | impl<'a, Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future | ^^ 192 | for StdReadToEndFut<'a, Io, Param> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 191 ~ impl<Io: PacketIo<Write, Param>, Param: PosShift<Io>> Future 192 ~ for StdReadToEndFut<'_, Io, Param> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L378
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:378:37 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:378:12 | 378 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 378 - T: PacketIo<Perms, Param> + ?Sized, 378 + T: PacketIo<Perms, Param>, |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/io/mod.rs#L315
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/io/mod.rs:315:37 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^ | note: `T` cannot be unsized because of the bound --> mfio/src/io/mod.rs:315:12 | 315 | T: PacketIo<Perms, Param> + ?Sized, | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 315 - T: PacketIo<Perms, Param> + ?Sized, 315 + T: PacketIo<Perms, Param>, |
you should consider adding a `Default` implementation for `NoPos`: mfio/src/io/mod.rs#L297
warning: you should consider adding a `Default` implementation for `NoPos` --> mfio/src/io/mod.rs:297:5 | 297 | / pub const fn new() -> Self { 298 | | Self(core::marker::PhantomData) 299 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default help: try adding this | 296 + impl Default for NoPos { 297 + fn default() -> Self { 298 + Self::new() 299 + } 300 + } |
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/mod.rs#L1038
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/mod.rs:1038:13 | 1038 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 1038 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<Packet<Perms>> { 1038 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<Packet<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/io/packet/mod.rs#L694
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/io/packet/mod.rs:694:6 | 694 | impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 694 - impl<'a, Perms: PacketPerms> Future for &'a Packet<Perms> { 694 + impl<Perms: PacketPerms> Future for &Packet<Perms> { |
transmute used without annotations: mfio/src/io/packet/view.rs#L310
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:310:48 | 310 | view: ManuallyDrop::new(core::mem::transmute(self)), | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::view::PacketView<'_, Perms>, io::packet::view::PacketView<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/io/packet/view.rs#L304
warning: transmute used without annotations --> mfio/src/io/packet/view.rs:304:48 | 304 | (true, MaybeUninit::new(core::mem::transmute(output))) | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<io::packet::output::OutputRef<'_, Perms>, io::packet::output::OutputRef<'_, Perms>>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
the following explicit lifetimes could be elided: 'c: mfio/src/io/packet/output.rs#L478
warning: the following explicit lifetimes could be elided: 'c --> mfio/src/io/packet/output.rs:478:13 | 478 | unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 478 - unsafe impl<'c, Perms: PacketPerms> OpaqueStore for &'c BaseArc<PacketOutput<Perms>> { 478 + unsafe impl<Perms: PacketPerms> OpaqueStore for &BaseArc<PacketOutput<Perms>> { |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L189
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:189:6 | 189 | impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 189 - impl<'a, Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'a, Io> { 189 + impl<Io: ?Sized + stdeq::StreamPos<u64>> AsyncSeek for Compat<'_, Io> { |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L151
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:151:14 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:151:23 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncWrite` has the bound `IoWrite` = note: ...because `IoWrite` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized help: change the bounds that require `Sized`, or remove the `?Sized` bound | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<'a, Io: stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L151
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:151:6 | 151 | impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 151 - impl<'a, Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'a, Io> 151 + impl<Io: ?Sized + stdeq::AsyncWrite<u64>> AsyncWrite for Compat<'_, Io> |
`?Sized` bound is ignored because of a `Sized` requirement: mfio/src/futures_compat.rs#L119
warning: `?Sized` bound is ignored because of a `Sized` requirement --> mfio/src/futures_compat.rs:119:14 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^ | note: `Io` cannot be unsized because of the bound --> mfio/src/futures_compat.rs:119:23 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^^^^^^^^^^^^^^^^^^^^ = note: ...because `AsyncRead` has the bound `IoRead` = note: ...because `IoRead` has the bound `PacketIo` = note: ...because `PacketIo` has the bound `Sized` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized = note: `#[warn(clippy::needless_maybe_sized)]` on by default help: change the bounds that require `Sized`, or remove the `?Sized` bound | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<'a, Io: stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> |
the following explicit lifetimes could be elided: 'a: mfio/src/futures_compat.rs#L119
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/futures_compat.rs:119:6 | 119 | impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 119 - impl<'a, Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'a, Io> 119 + impl<Io: ?Sized + stdeq::AsyncRead<u64>> AsyncRead for Compat<'_, Io> |
transmute used without annotations: mfio/src/error.rs#L194
warning: transmute used without annotations --> mfio/src/error.rs:194:41 | 194 | unsafe { core::mem::transmute(val) } | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<u8, error::Location>` ... 315 | / ienum! { 316 | | /// Describes the error origin. 317 | | /// 318 | | /// The Origin specifies general location where the error originates from - be it a module, ... | 336 | | } | |_- in this macro invocation | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: this warning originates in the macro `ienum` (in Nightly builds, run with -Z macro-backtrace for more info)
doc list item without indentation: mfio/src/error.rs#L103
warning: doc list item without indentation --> mfio/src/error.rs:103:5 | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 103 | /// falls back to `INTERNAL_ERROR`, representing HTTP code 500. | ++
`NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context: mfio/src/error.rs#L31
warning: `NonZeroU8::new()` and `Option::unwrap()` can be safely used in a `const` context --> mfio/src/error.rs:31:10 | 31 | Code(unsafe { NonZeroU8::new_unchecked((500 - HTTP_SHIFT) as u8) }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use instead: `NonZeroU8::new((500 - HTTP_SHIFT) as u8).unwrap()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_nonzero_new_unchecked = note: `#[warn(clippy::useless_nonzero_new_unchecked)]` on by default
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L511
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:511:6 | 511 | impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 511 - impl<'a, T: IoBackend + ?Sized> LinksIoBackend for RefLink<'a, T> { 511 + impl<T: IoBackend + ?Sized> LinksIoBackend for RefLink<'_, T> { |
transmute used without annotations: mfio/src/backend/mod.rs#L384
warning: transmute used without annotations --> mfio/src/backend/mod.rs:384:45 | 384 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
transmute used without annotations: mfio/src/backend/mod.rs#L372
warning: transmute used without annotations --> mfio/src/backend/mod.rs:372:45 | 372 | let mut flags = unsafe { core::mem::transmute(self) }; | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<backend::PollingFlags, u8>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations = note: `#[warn(clippy::missing_transmute_annotations)]` on by default
you should consider adding a `Default` implementation for `PollingFlags`: mfio/src/backend/mod.rs#L355
warning: you should consider adding a `Default` implementation for `PollingFlags` --> mfio/src/backend/mod.rs:355:5 | 355 | / pub const fn new() -> Self { 356 | | Self { 357 | | flags: AtomicU8::new(0), 358 | | } 359 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 347 + impl Default for PollingFlags { 348 + fn default() -> Self { 349 + Self::new() 350 + } 351 + } |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:265:6 | 265 | impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fut: Future + ?Sized> Future for WithBackend<'a, Fut> { 265 + impl<Fut: Future + ?Sized> Future for WithBackend<'_, Fut> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L247
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:247:6 | 247 | impl<'a> core::ops::DerefMut for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 247 - impl<'a> core::ops::DerefMut for BackendHandle<'a> { 247 + impl core::ops::DerefMut for BackendHandle<'_> { |
the following explicit lifetimes could be elided: 'a: mfio/src/backend/mod.rs#L223
warning: the following explicit lifetimes could be elided: 'a --> mfio/src/backend/mod.rs:223:6 | 223 | impl<'a> Drop for BackendHandle<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 223 - impl<'a> Drop for BackendHandle<'a> { 223 + impl Drop for BackendHandle<'_> { |
method `add_pos` is never used: mfio/src/util.rs#L43
warning: method `add_pos` is never used --> mfio/src/util.rs:43:8 | 42 | pub(crate) trait PosShift<Io>: CopyPos + UsizeMath { | -------- method in this trait 43 | fn add_pos(&mut self, out: usize, io: &Io); | ^^^^^^^
method `add_assign` is never used: mfio/src/util.rs#L4
warning: method `add_assign` is never used --> mfio/src/util.rs:4:8 | 3 | pub(crate) trait UsizeMath { | --------- method in this trait 4 | fn add_assign(&mut self, val: usize); | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
elided lifetime has a name: mfio/src/io/mod.rs#L245
warning: elided lifetime has a name --> mfio/src/io/mod.rs:245:57 | 240 | fn io_to_stream<'a, T: PacketStore<'a, Perms> + 'a, O: PushPop<Output<'a, Perms>> + 'a>( | -- lifetime `'a` declared here ... 245 | ) -> IoToFut<'a, Self, Perms, Param, T, PacketStream<O, Perms>> { | ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused macro definition: `remap_abi`: mfio/src/io/packet/mod.rs#L1694
warning: unused macro definition: `remap_abi` --> mfio/src/io/packet/mod.rs:1694:14 | 1694 | macro_rules! remap_abi { | ^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L482
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:482:7 | 482 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L464
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:464:7 | 464 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/io/packet/mod.rs#L446
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/io/packet/mod.rs:446:7 | 446 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L104
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:104:23 | 104 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L28
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:28:15 | 28 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L117
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:117:11 | 117 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/futures_compat.rs#L9
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/futures_compat.rs:9:11 | 9 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unused import: `AtomicBool`: mfio/src/backend/mod.rs#L18
warning: unused import: `AtomicBool` --> mfio/src/backend/mod.rs:18:26 | 18 | use core::sync::atomic::{AtomicBool, AtomicU8, Ordering}; | ^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L230
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:230:7 | 230 | #[cfg(mfio_assume_linear_types)] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
unexpected `cfg` condition name: `mfio_assume_linear_types`: mfio/src/lib.rs#L217
warning: unexpected `cfg` condition name: `mfio_assume_linear_types` --> mfio/src/lib.rs:217:11 | 217 | #[cfg(not(mfio_assume_linear_types))] | ^^^^^^^^^^^^^^^^^^^^^^^^ | = help: expected names are: `docsrs`, `feature`, and `test` and 31 more = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(mfio_assume_linear_types)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(mfio_assume_linear_types)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
build-nightly (macos-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (ubuntu-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (windows-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_unst...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_unst...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_unst...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_unst...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_unsta...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_unsta...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_unsta...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_unsta...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-base (macos-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_uns...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_uns...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_uns...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, nightly-2024-11-22, --cfg mfio_assume_linear_types --cfg tokio_uns...
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (windows-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (macos-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, stable, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, 1.84, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, 1.84, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, nightly-2024-11-22, --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
build-nightly (ubuntu-latest, stable, --cfg mfio_assume_linear_types --cfg tokio_unstable)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/