riker-rs / riker

Easily build efficient, highly concurrent and resilient applications. An Actor Framework for Rust.
https://riker.rs
MIT License
1.04k stars 69 forks source link

Enable riker to build in wasm #151

Open nothingismagick opened 3 years ago

nothingismagick commented 3 years ago

Trying to get Riker to build in a project using:

cargo build --target=wasm32-unknown-unknown

but it failed with:

error[E0599]: no function or associated item named `new_v4` found for struct `uuid::Uuid` in the current scope
   --> /[redacted]/riker-0.4.2/src/actor/actor_cell.rs:609:24
    |
609 |         let id = Uuid::new_v4();
    |                        ^^^^^^ function or associated item not found in `uuid::Uuid`

I did some quick research and discovered that to enable wasm32 ini uuid, the fix is pretty trivial:

uuid = { version = "0.8.1", features = ["v4", "wasm-bindgen"] }

I tested it by locally building riker and also the consuming project. So its a pretty easy win... Thoughts? I can PR if you agree there is no problem with this.

hardliner66 commented 3 years ago

I think it's good be able to compile to wasm. But as I see it, the "wasm-bindgen" feature in the uuid crate would pull in an additional dependency.

Can we make this optional behind our own feature?

nothingismagick commented 3 years ago

I think that would be the way to do it, yes. Will make a PR tomorrow.

hardliner66 commented 3 years ago

Any updates on this?

nothingismagick commented 3 years ago

Ojey, I forgot to do this. Thanks for the reminder!