You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
opendal intends to empower everyone to painlessly and efficiently access different storage services.
We have stargle a lot with tokio-fs's poor performance for our fs service, so we are evaluating the use of monoio as our fs backend. We only want to use local file IO (read, write, seek, statx and so no). No networking, no socket, no stream, no sink...
However, monoio is nightly only and can't meet opendal build requirements. So I'm thinking can we make monoio usable on stable rust?
With hiding net, io under a specified feature, we have no depends on GAT, and monoio can be built on stable rust!
Describe the solution you'd like
Hiding net, io from public API with the specified feature so that monoio is usable on stable rust. And users can enable them with features like nightly if they do want to use monoio on nightly rust.
Describe alternatives you've considered
Add a new feature to hide net and io.
This way can prevent breaking the existing build.
Additional context
Apart from generic_associated_types and type_alias_impl_trait, we should also rewrite some of the code to remove the dependencies on features like box_into_inner. Or hide under feature too.
Local file io is still io, and will use our AsyncReadRent and AsyncWriteRent trait, which are beasd on GAT.
After generic_associated_types and type_alias_impl_trait stablized, maybe we should consider remove other feature dependencies to make it available on stable rust.
(However, you can consider using tokio-uring directly, which can be used on stable rust)
Is your feature request related to a problem? Please describe.
opendal intends to empower everyone to painlessly and efficiently access different storage services.
We have stargle a lot with
tokio-fs
's poor performance for ourfs
service, so we are evaluating the use ofmonoio
as our fs backend. We only want to use local file IO (read, write, seek, statx and so no). No networking, no socket, no stream, no sink...However,
monoio
isnightly
only and can't meetopendal
build requirements. So I'm thinking can we makemonoio
usable on stable rust?monoio
is using the following unstable features:With hiding
net
,io
under a specified feature, we have no depends onGAT
, andmonoio
can be built on stable rust!Describe the solution you'd like
Hiding
net
,io
from public API with the specified feature so that monoio is usable on stable rust. And users can enable them with features likenightly
if they do want to usemonoio
on nightly rust.Describe alternatives you've considered
Add a new feature to hide
net
andio
.This way can prevent breaking the existing build.
Additional context
Apart from
generic_associated_types
andtype_alias_impl_trait
, we should also rewrite some of the code to remove the dependencies on features likebox_into_inner
. Or hide under feature too.A possible demo: #96
The text was updated successfully, but these errors were encountered: