Sherlock-Holo / fuse3

an async version fuse library for rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is the status of fuse3?

happybeing opened this issue · comments

I'm looking at Rust fuse libs for a distributed FS and wonder what is the status of fuse3?

cargo build in ./examples succeeds (with a handful of warnings) but am not sure how to run them?

cargo build in ./ fails with an error:

error[E0277]: the trait bound `(): std::future::Future` is not satisfied
  --> src/spawn.rs:16:38
   |
16 | pub fn spawn_blocking<F, T>(f: F) -> impl Future<Output = T>
   |                                      ^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::future::Future` is not implemented for `()`
   |
   = note: the return type of a function must have a statically known size

error: aborting due to previous error; 35 warnings emitted

For more information about this error, try `rustc --explain E0277`.
error: could not compile `fuse3`.

I'm still new to Rust so maybe missing something obvious. Thanks.

this is a rust lib with some features, if you want to use it, you must enable the feature tokio-runtime or async-std-runtime.

in examples it enables feature async-std-runtime by default so cargo build will succeed

Thanks. How do I run the examples?

sorry for the late reply @happybeing .
cd into the example directory and run cargo run

Hi @Sherlock-Holo

I tried to compile examples today and found an issue about RawFd:

the trait `std::os::unix::io::AsRawFd` is not implemented for `i32`

It's because I was using rust stable 1.47 version which lacks the fix of RawFd implementation: rust-lang/rust#76969. And after upgrade to 1.50, it can be compiled.

So I suggest you add a requirement of the rust toolchain version to avoid this pitfall.

And thank you for this great project I have been looking forward for a long time!

@jason-ni i always use the nightly version toolchains so never found this problem, thanks for your advice

the minimum rust version is added into the README @jason-ni

Thank you!
Sorry for the late response. I saw that change days ago but missed the notification however.

Thank you!
Sorry for the late response. I saw that change days ago but missed the notification however.

I push some beta version for the new version, you can have a try for this and give me some advise if you found some api can be better