diff --git a/.circleci/config.yml b/.circleci/config.yml index 32323bd3..ae32cd34 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,32 +11,32 @@ jobs: - checkout - restore_cache: keys: - - fce05-{{ checksum "Cargo.lock" }} + - fce04-{{ checksum "Cargo.lock" }} - run: | - rustup toolchain install nightly-2021-02-27 - rustup default nightly-2021-02-27 - rustup override set nightly-2021-02-27 + rustup toolchain install nightly-2021-03-24 + rustup default nightly-2021-03-24 + rustup override set nightly-2021-03-24 - rustup component add rustfmt --toolchain nightly-2021-02-27 - rustup component add clippy --toolchain nightly-2021-02-27 + rustup component add rustfmt --toolchain nightly-2021-03-24 + rustup component add clippy --toolchain nightly-2021-03-24 rustup target add wasm32-wasi cargo install --path tools/cli cargo fmt --all -- --check --color always - cargo check -v --all-features + cargo check -v --all-features -p fce -p fluence-faas -p fluence-app-service -p aquamarine-vm -p fcli -p frepl (cd ./examples; ./build.sh) (cd ./fluence-faas/tests/wasm_tests; ./build.sh) - cargo test --release -v --all-features - cargo clippy -v + cargo test --release -v --all-features -p fce -p fluence-faas -p fluence-app-service -p aquamarine-vm -p fcli -p frepl + cargo clippy -v -p fce -p fluence-faas -p fluence-app-service -p aquamarine-vm -p fcli -p frepl - save_cache: paths: - ~/.cargo - ~/.rustup - key: fce05-{{ checksum "Cargo.lock" }} + key: fce04-{{ checksum "Cargo.lock" }} workflows: version: 2.1 diff --git a/Cargo.lock b/Cargo.lock index 466cad56..7782ad07 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -730,7 +730,7 @@ dependencies = [ [[package]] name = "fce-timestamp-macro" version = "0.6.0" -source = "git+https://github.com/fluencelabs/rust-sdk#339dd4d58a9e7481ad4cc9e73e19a8ebe96b46fe" +source = "git+https://github.com/fluencelabs/rust-sdk#1755202195c1e2a86c962219ac1420664afe3d49" dependencies = [ "chrono", "quote", @@ -807,7 +807,7 @@ dependencies = [ [[package]] name = "fluence" version = "0.6.0" -source = "git+https://github.com/fluencelabs/rust-sdk#339dd4d58a9e7481ad4cc9e73e19a8ebe96b46fe" +source = "git+https://github.com/fluencelabs/rust-sdk#1755202195c1e2a86c962219ac1420664afe3d49" dependencies = [ "fce-timestamp-macro", "fluence-sdk-macro 0.6.0", @@ -879,7 +879,7 @@ dependencies = [ [[package]] name = "fluence-sdk-macro" version = "0.6.0" -source = "git+https://github.com/fluencelabs/rust-sdk#339dd4d58a9e7481ad4cc9e73e19a8ebe96b46fe" +source = "git+https://github.com/fluencelabs/rust-sdk#1755202195c1e2a86c962219ac1420664afe3d49" dependencies = [ "fluence-sdk-wit 0.6.0", ] @@ -898,7 +898,7 @@ dependencies = [ [[package]] name = "fluence-sdk-main" version = "0.6.0" -source = "git+https://github.com/fluencelabs/rust-sdk#339dd4d58a9e7481ad4cc9e73e19a8ebe96b46fe" +source = "git+https://github.com/fluencelabs/rust-sdk#1755202195c1e2a86c962219ac1420664afe3d49" dependencies = [ "fluence-sdk-macro 0.6.0", "log", @@ -922,7 +922,7 @@ dependencies = [ [[package]] name = "fluence-sdk-wit" version = "0.6.0" -source = "git+https://github.com/fluencelabs/rust-sdk#339dd4d58a9e7481ad4cc9e73e19a8ebe96b46fe" +source = "git+https://github.com/fluencelabs/rust-sdk#1755202195c1e2a86c962219ac1420664afe3d49" dependencies = [ "proc-macro2", "quote", @@ -1351,9 +1351,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" dependencies = [ "matches", "unicode-bidi", @@ -1900,7 +1900,7 @@ dependencies = [ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall 0.2.5", + "redox_syscall 0.2.6", "smallvec", "winapi 0.3.9", ] @@ -2125,9 +2125,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9" +checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041" dependencies = [ "bitflags", ] @@ -2138,7 +2138,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f" dependencies = [ - "redox_syscall 0.2.5", + "redox_syscall 0.2.6", ] [[package]] @@ -2159,7 +2159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" dependencies = [ "getrandom 0.2.2", - "redox_syscall 0.2.5", + "redox_syscall 0.2.6", ] [[package]] @@ -2594,7 +2594,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "rand", - "redox_syscall 0.2.5", + "redox_syscall 0.2.6", "remove_dir_all", "winapi 0.3.9", ] @@ -2627,7 +2627,7 @@ checksum = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e" dependencies = [ "libc", "numtoa", - "redox_syscall 0.2.5", + "redox_syscall 0.2.6", "redox_termios", ] diff --git a/examples/build.sh b/examples/build.sh index b6bf34eb..8cabff1e 100755 --- a/examples/build.sh +++ b/examples/build.sh @@ -11,4 +11,3 @@ for dir in ./*; do (cd "$dir"; ./build.sh) done - diff --git a/examples/call_parameters/artifacts/call_parameters.wasm b/examples/call_parameters/artifacts/call_parameters.wasm index 2ebbff1f..1a4c348a 100755 Binary files a/examples/call_parameters/artifacts/call_parameters.wasm and b/examples/call_parameters/artifacts/call_parameters.wasm differ diff --git a/examples/call_parameters/src/main.rs b/examples/call_parameters/src/main.rs index 31affbff..de2421e3 100644 --- a/examples/call_parameters/src/main.rs +++ b/examples/call_parameters/src/main.rs @@ -16,6 +16,11 @@ #[cfg(target_arch = "wasm32")] use fluence::fce; +#[cfg(target_arch = "wasm32")] +use fluence::module_manifest; + +#[cfg(target_arch = "wasm32")] +module_manifest!(); pub fn main() {} diff --git a/examples/greeting/artifacts/greeting.wasm b/examples/greeting/artifacts/greeting.wasm index 38a0e0ae..78f747b5 100755 Binary files a/examples/greeting/artifacts/greeting.wasm and b/examples/greeting/artifacts/greeting.wasm differ diff --git a/examples/ipfs-node/artifacts/ipfs_effector.wasm b/examples/ipfs-node/artifacts/ipfs_effector.wasm index 780c7ea9..1f3af374 100755 Binary files a/examples/ipfs-node/artifacts/ipfs_effector.wasm and b/examples/ipfs-node/artifacts/ipfs_effector.wasm differ diff --git a/examples/ipfs-node/artifacts/ipfs_pure.wasm b/examples/ipfs-node/artifacts/ipfs_pure.wasm index 6e5b9ea7..2a7cbef0 100755 Binary files a/examples/ipfs-node/artifacts/ipfs_pure.wasm and b/examples/ipfs-node/artifacts/ipfs_pure.wasm differ diff --git a/examples/ipfs-node/effector/src/main.rs b/examples/ipfs-node/effector/src/main.rs index dcea1e46..89a6c5dc 100644 --- a/examples/ipfs-node/effector/src/main.rs +++ b/examples/ipfs-node/effector/src/main.rs @@ -54,7 +54,7 @@ pub fn put(file_path: String) -> String { file_path, ]; - let ipfs_result = unsafe { ipfs(cmd) }; + let ipfs_result = ipfs(cmd); ipfs_result .into_std() .unwrap() @@ -78,7 +78,7 @@ pub fn get(hash: String) -> String { hash, ]; - unsafe { ipfs(cmd) }; + ipfs(cmd); RESULT_FILE_PATH.to_string() } diff --git a/examples/ipfs-node/pure/src/main.rs b/examples/ipfs-node/pure/src/main.rs index 98c0c683..6b6c3ff6 100644 --- a/examples/ipfs-node/pure/src/main.rs +++ b/examples/ipfs-node/pure/src/main.rs @@ -50,14 +50,14 @@ pub fn put(file_content: Vec) -> String { return format!("file can't be written: {}", e); } - unsafe { ipfs_put(rpc_tmp_filepath) } + ipfs_put(rpc_tmp_filepath) } #[fce] pub fn get(hash: String) -> Vec { log::info!("get called with hash: {}", hash); - let file_path = unsafe { ipfs_get(hash) }; + let file_path = ipfs_get(hash); fs::read(file_path).unwrap_or_else(|_| b"error while reading file".to_vec()) } diff --git a/examples/records/artifacts/records_effector.wasm b/examples/records/artifacts/records_effector.wasm index 0815aad3..179e1a72 100755 Binary files a/examples/records/artifacts/records_effector.wasm and b/examples/records/artifacts/records_effector.wasm differ diff --git a/examples/records/artifacts/records_pure.wasm b/examples/records/artifacts/records_pure.wasm index 278158cc..3b0d6991 100755 Binary files a/examples/records/artifacts/records_pure.wasm and b/examples/records/artifacts/records_pure.wasm differ diff --git a/examples/records/pure/src/main.rs b/examples/records/pure/src/main.rs index 2e1f3b67..1ed104ef 100644 --- a/examples/records/pure/src/main.rs +++ b/examples/records/pure/src/main.rs @@ -43,7 +43,7 @@ pub fn invoke() -> TestRecord { field_12: Vec::new(), }; - unsafe { mutate_struct(test_record) } + mutate_struct(test_record) } #[fce] diff --git a/examples/sqlite/artifacts/sqlite_test.wasm b/examples/sqlite/artifacts/sqlite_test.wasm index 92209b43..64cd3820 100755 Binary files a/examples/sqlite/artifacts/sqlite_test.wasm and b/examples/sqlite/artifacts/sqlite_test.wasm differ diff --git a/examples/url-downloader/artifacts/curl_adapter.wasm b/examples/url-downloader/artifacts/curl_adapter.wasm index 809da43a..85715b05 100755 Binary files a/examples/url-downloader/artifacts/curl_adapter.wasm and b/examples/url-downloader/artifacts/curl_adapter.wasm differ diff --git a/examples/url-downloader/artifacts/facade.wasm b/examples/url-downloader/artifacts/facade.wasm index 9ac2dfd1..7b2a2d6a 100755 Binary files a/examples/url-downloader/artifacts/facade.wasm and b/examples/url-downloader/artifacts/facade.wasm differ diff --git a/examples/url-downloader/artifacts/local_storage.wasm b/examples/url-downloader/artifacts/local_storage.wasm index 04e78fb0..5d02a4c5 100755 Binary files a/examples/url-downloader/artifacts/local_storage.wasm and b/examples/url-downloader/artifacts/local_storage.wasm differ diff --git a/examples/url-downloader/curl_adapter/src/main.rs b/examples/url-downloader/curl_adapter/src/main.rs index c3e6acc5..52200c7d 100644 --- a/examples/url-downloader/curl_adapter/src/main.rs +++ b/examples/url-downloader/curl_adapter/src/main.rs @@ -33,7 +33,7 @@ pub fn main() { pub fn download(url: String) -> String { log::info!("get called with url {}", url); - let result = unsafe { curl(vec![url]) }; + let result = curl(vec![url]); String::from_utf8(result.stdout).unwrap() } diff --git a/examples/url-downloader/facade/src/main.rs b/examples/url-downloader/facade/src/main.rs index 8ff919b8..7672470b 100644 --- a/examples/url-downloader/facade/src/main.rs +++ b/examples/url-downloader/facade/src/main.rs @@ -29,8 +29,8 @@ pub fn main() { /// Calls `curl` and stores returned result into a file. #[fce] pub fn get_n_save(url: String, file_name: String) -> String { - let result = unsafe { download(url) }; - unsafe { file_put(file_name, result.into_bytes()) }; + let result = download(url); + file_put(file_name, result.into_bytes()); String::from("Ok") } diff --git a/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_effector.wasm b/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_effector.wasm index 5585b575..dcc35bb5 100755 Binary files a/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_effector.wasm and b/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_effector.wasm differ diff --git a/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_pure.wasm b/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_pure.wasm index 602e8b4b..af494d99 100755 Binary files a/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_pure.wasm and b/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_pure.wasm differ diff --git a/fluence-faas/tests/wasm_tests/arguments_passing/src/pure.rs b/fluence-faas/tests/wasm_tests/arguments_passing/src/pure.rs index 88bd0146..c87a7e0f 100644 --- a/fluence-faas/tests/wasm_tests/arguments_passing/src/pure.rs +++ b/fluence-faas/tests/wasm_tests/arguments_passing/src/pure.rs @@ -35,22 +35,20 @@ pub fn all_types( arg_10: String, arg_11: Vec, ) -> Vec { - let mut result = unsafe { - effector::all_types( - arg_0, - arg_1, - arg_2, - arg_3, - arg_4, - arg_5, - arg_6, - arg_7, - arg_8, - arg_9, - arg_10.clone(), - arg_11.clone(), - ) - }; + let mut result = effector::all_types( + arg_0, + arg_1, + arg_2, + arg_3, + arg_4, + arg_5, + arg_6, + arg_7, + arg_8, + arg_9, + arg_10.clone(), + arg_11.clone(), + ); result.push(arg_0 as u8); result.extend(safe_transmute::transmute_one_to_bytes(&arg_1)); @@ -83,11 +81,9 @@ pub fn all_ref_types( arg_10: &String, arg_11: &Vec, ) -> Vec { - let mut result = unsafe { - effector::all_ref_types( - arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11, - ) - }; + let mut result = effector::all_ref_types( + arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11, + ); result.push(*arg_0 as u8); result.extend(safe_transmute::transmute_one_to_bytes(arg_1)); @@ -107,28 +103,28 @@ pub fn all_ref_types( #[fce] pub fn string_type(arg: String) -> String { - let arg = unsafe { effector::string_type(arg) }; + let arg = effector::string_type(arg); format!("{}_{}", arg, arg) } #[fce] pub fn string_ref_type(arg: &String) -> String { - let arg = unsafe { effector::string_ref_type(arg) }; + let arg = effector::string_ref_type(arg); format!("{}_{}", arg, arg) } #[fce] pub fn str_type(arg: &str) -> String { - let arg = unsafe { effector::str_type(arg) }; + let arg = effector::str_type(arg); format!("{}_{}", arg, arg) } #[fce] pub fn bytearray_type(arg: Vec) -> Vec { - let mut arg = unsafe { effector::bytearray_type(arg) }; + let mut arg = effector::bytearray_type(arg); arg.push(1); arg @@ -136,7 +132,7 @@ pub fn bytearray_type(arg: Vec) -> Vec { #[fce] pub fn bytearray_ref_type(arg: &Vec) -> Vec { - let mut arg = unsafe { effector::bytearray_ref_type(arg) }; + let mut arg = effector::bytearray_ref_type(arg); arg.push(1); arg @@ -144,89 +140,89 @@ pub fn bytearray_ref_type(arg: &Vec) -> Vec { #[fce] pub fn bool_type(arg: bool) -> bool { - unsafe { effector::bool_type(arg) } + effector::bool_type(arg) } #[fce] pub fn bool_ref_type(arg: &bool) -> bool { - unsafe { effector::bool_ref_type(arg) } + effector::bool_ref_type(arg) } #[fce] pub fn f32_type(arg: f32) -> f32 { - let arg = unsafe { effector::f32_type(arg) }; + let arg = effector::f32_type(arg); arg + 1.0 } #[fce] pub fn f32_ref_type(arg: &f32) -> f32 { - let arg = unsafe { effector::f32_ref_type(arg) }; + let arg = effector::f32_ref_type(arg); arg + 1.0 } #[fce] pub fn f64_type(arg: f64) -> f64 { - let arg = unsafe { effector::f64_type(arg) }; + let arg = effector::f64_type(arg); arg + 1.0 } #[fce] pub fn f64_ref_type(arg: &f64) -> f64 { - let arg = unsafe { effector::f64_ref_type(arg) }; + let arg = effector::f64_ref_type(arg); arg + 1.0 } #[fce] pub fn u32_type(arg: u32) -> u32 { - let arg = unsafe { effector::u32_type(arg) }; + let arg = effector::u32_type(arg); arg + 1 } #[fce] pub fn u32_ref_type(arg: &u32) -> u32 { - let arg = unsafe { effector::u32_ref_type(arg) }; + let arg = effector::u32_ref_type(arg); arg + 1 } #[fce] pub fn u64_type(arg: u64) -> u64 { - let arg = unsafe { effector::u64_type(arg) }; + let arg = effector::u64_type(arg); arg + 1 } #[fce] pub fn u64_ref_type(arg: &u64) -> u64 { - let arg = unsafe { effector::u64_ref_type(arg) }; + let arg = effector::u64_ref_type(arg); arg + 1 } #[fce] pub fn i32_type(arg: i32) -> i32 { - let arg = unsafe { effector::i32_type(arg) }; + let arg = effector::i32_type(arg); arg + 1 } #[fce] pub fn i32_ref_type(arg: &i32) -> i32 { - let arg = unsafe { effector::i32_ref_type(arg) }; + let arg = effector::i32_ref_type(arg); arg + 1 } #[fce] pub fn i64_type(arg: i64) -> i64 { - let arg = unsafe { effector::i64_type(arg) }; + let arg = effector::i64_type(arg); arg + 1 } #[fce] pub fn i64_ref_type(arg: &i64) -> i64 { - let arg = unsafe { effector::i64_ref_type(arg) }; + let arg = effector::i64_ref_type(arg); arg + 1 } #[fce] pub fn empty_type() -> String { - unsafe { effector::empty_type() } + effector::empty_type() } mod effector { diff --git a/fluence-faas/tests/wasm_tests/arrays_passing/Cargo.toml b/fluence-faas/tests/wasm_tests/arrays_passing/Cargo.toml index e647c1c9..bd1546e8 100644 --- a/fluence-faas/tests/wasm_tests/arrays_passing/Cargo.toml +++ b/fluence-faas/tests/wasm_tests/arrays_passing/Cargo.toml @@ -14,6 +14,5 @@ name = "arrays_passing_effector" path = "src/effector.rs" [dependencies] -# fluence = { git = "https://github.com/fluencelabs/rust-sdk" } fluence = { git = "https://github.com/fluencelabs/rust-sdk" } safe-transmute = "0.11.0" diff --git a/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_effector.wasm b/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_effector.wasm index 09b8c504..0d0a085b 100755 Binary files a/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_effector.wasm and b/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_effector.wasm differ diff --git a/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_pure.wasm b/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_pure.wasm index 0157c30a..e20ed7f2 100755 Binary files a/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_pure.wasm and b/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_pure.wasm differ diff --git a/fluence-faas/tests/wasm_tests/arrays_passing/src/pure.rs b/fluence-faas/tests/wasm_tests/arrays_passing/src/pure.rs index fbfaf146..ceb6a97b 100644 --- a/fluence-faas/tests/wasm_tests/arrays_passing/src/pure.rs +++ b/fluence-faas/tests/wasm_tests/arrays_passing/src/pure.rs @@ -24,7 +24,7 @@ pub fn main() {} pub fn byte_type(mut arg: Vec) -> Vec { arg.push(0); - let mut arg = unsafe { effector::byte_type(arg) }; + let mut arg = effector::byte_type(arg); arg.push(2); arg @@ -34,7 +34,7 @@ pub fn byte_type(mut arg: Vec) -> Vec { pub fn inner_arrays_1(mut arg: Vec>>>) -> Vec>>> { arg.push(vec![vec![vec![0]]]); - let mut arg = unsafe { effector::inner_arrays_1(arg) }; + let mut arg = effector::inner_arrays_1(arg); arg.push(vec![vec![vec![2]]]); arg @@ -57,7 +57,7 @@ pub fn inner_arrays_2(mut arg: Vec>>>) -> Vec>>>) -> Vec) -> Vec { arg.push(String::from("fce")); - let mut arg = unsafe { effector::string_type(arg) }; + let mut arg = effector::string_type(arg); arg.push(String::from("test")); arg @@ -83,7 +83,7 @@ pub fn string_type(mut arg: Vec) -> Vec { /* #[fce] pub fn bool_type(arg: Vec) -> Vec { - let mut arg = unsafe { effector::bool_type(arg) }; + let mut arg = effector::bool_type(arg); arg.push(false); arg @@ -94,7 +94,7 @@ pub fn bool_type(arg: Vec) -> Vec { pub fn f32_type(mut arg: Vec) -> Vec { arg.push(0.0); - let mut arg = unsafe { effector::f32_type(arg) }; + let mut arg = effector::f32_type(arg); arg.push(1.0); arg @@ -104,7 +104,7 @@ pub fn f32_type(mut arg: Vec) -> Vec { pub fn f64_type(mut arg: Vec) -> Vec { arg.push(0.0); - let mut arg = unsafe { effector::f64_type(arg) }; + let mut arg = effector::f64_type(arg); arg.push(1.0); arg @@ -114,7 +114,7 @@ pub fn f64_type(mut arg: Vec) -> Vec { pub fn u32_type(mut arg: Vec) -> Vec { arg.push(0); - let mut arg = unsafe { effector::u32_type(arg) }; + let mut arg = effector::u32_type(arg); arg.push(2); arg @@ -124,7 +124,7 @@ pub fn u32_type(mut arg: Vec) -> Vec { pub fn u64_type(mut arg: Vec) -> Vec { arg.push(0); - let mut arg = unsafe { effector::u64_type(arg) }; + let mut arg = effector::u64_type(arg); arg.push(2); arg @@ -134,7 +134,7 @@ pub fn u64_type(mut arg: Vec) -> Vec { pub fn i32_type(mut arg: Vec) -> Vec { arg.push(0); - let mut arg = unsafe { effector::i32_type(arg) }; + let mut arg = effector::i32_type(arg); arg.push(2); arg @@ -144,7 +144,7 @@ pub fn i32_type(mut arg: Vec) -> Vec { pub fn i64_type(mut arg: Vec) -> Vec { arg.push(0); - let mut arg = unsafe { effector::i64_type(arg) }; + let mut arg = effector::i64_type(arg); arg.push(1); arg @@ -152,7 +152,7 @@ pub fn i64_type(mut arg: Vec) -> Vec { #[fce] pub fn empty_type() -> Vec { - unsafe { effector::empty_type() } + effector::empty_type() } mod effector { diff --git a/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_effector.wasm b/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_effector.wasm index 56675714..10e5d178 100755 Binary files a/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_effector.wasm and b/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_effector.wasm differ diff --git a/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_pure.wasm b/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_pure.wasm index 52d9b505..34efc287 100755 Binary files a/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_pure.wasm and b/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_pure.wasm differ diff --git a/fluence-faas/tests/wasm_tests/records_passing/src/pure.rs b/fluence-faas/tests/wasm_tests/records_passing/src/pure.rs index ffb938e6..7880d485 100644 --- a/fluence-faas/tests/wasm_tests/records_passing/src/pure.rs +++ b/fluence-faas/tests/wasm_tests/records_passing/src/pure.rs @@ -44,7 +44,7 @@ fn main() {} #[fce] pub fn test_record(test_record: TestRecord2) -> TestRecord2 { - let mut test_record = unsafe { effector::test_record(test_record) }; + let mut test_record = effector::test_record(test_record); test_record.test_record_1 = TestRecord1 { field_0: 1, @@ -58,7 +58,7 @@ pub fn test_record(test_record: TestRecord2) -> TestRecord2 { #[fce] fn test_record_ref(test_record: &TestRecord2) -> TestRecord2 { - let mut test_record = unsafe { effector::test_record_ref(test_record) }; + let mut test_record = effector::test_record_ref(test_record); test_record.test_record_1 = TestRecord1 { field_0: 1,