bytecodealliance / wamr-rust-sdk

Apache License 2.0
35 stars 10 forks source link

Export `wamr_sys`. #48

Closed AlixANNERAUD closed 3 months ago

AlixANNERAUD commented 3 months ago

I think this won't harm anyone.

lum1n0us commented 3 months ago

we don't want people use wamr-sys directly. It will be a nightmare to use "C" logic to programming in Rust.

AlixANNERAUD commented 3 months ago

Maybe, but in the meantime, this crate is incomplete. We need to allow a minimum of freedom for the end user if they need it (which I'm desperately hoping to have). Alternatively, wamr-sys could be separated from wamr-rust-sdk. Allowing the end user to use or not use wamr-sys doesn't harm anyone because the user's choice is explicit (importing the crate + using the unsafe keyword). Many Rust crates have taken the same initiative.

lum1n0us commented 3 months ago

Please let me know your requirement. We shall develop new APIs.

AlixANNERAUD commented 3 months ago

I proposed the addition of the execution environment, which is necessary for address translation, heap allocation in the Wasm app, setting user data, and address validation. However, this was refused since it wasn't safe. In addition, WAMR C API allows for the creation of thread environments for host created thread.

I understand the will to offer a completely safe API for WAMR, but currently, wamr_rust_sdk cannot fully leverage the capabilities of WAMR, which could be frustrating for end users. This is not a criticism but a fact: the two only maintainers of this repository seem to be already quite occupied with WAMR directly (and I prefer that WAMR is refined before wamr_rust_sdk). I completely understand that wamr_rust_sdk is not yet up to par, but please allow us to at least take advantage of the missing features in wamr_rust_sdk through the C API for now.

lum1n0us commented 3 months ago

Fair enough. let's do this.

AlixANNERAUD commented 3 months ago

Thx ☺️