From 598080005d419b854172eda0168983854ad58b84 Mon Sep 17 00:00:00 2001 From: vms Date: Tue, 22 Sep 2020 18:07:19 +0300 Subject: [PATCH] improve vector deallocation scheme --- Cargo.toml | 6 +++--- crates/macro/Cargo.toml | 4 ++-- crates/macro/src/lib.rs | 2 +- crates/main/Cargo.toml | 4 ++-- crates/main/src/lib.rs | 2 +- crates/wit/Cargo.toml | 2 +- crates/wit/src/lib.rs | 2 +- crates/wit/src/parsed_type/fn_epilog.rs | 2 +- crates/wit/src/parsed_type/foreign_mod_prolog.rs | 2 -- crates/wit/src/parsed_type/vector_utils.rs | 1 + src/lib.rs | 2 +- 11 files changed, 14 insertions(+), 15 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b13b8a8..fdfeac3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fluence" -version = "0.2.6" # remember to update html_root_url +version = "0.2.7" # remember to update html_root_url description = "Fluence backend SDK for developing backend applications for the Fluence network" documentation = "https://docs.rs/fluence/" repository = "https://github.com/fluencelabs/rust-sdk" @@ -18,8 +18,8 @@ all-features = true path = "src/lib.rs" [dependencies] -fluence-sdk-macro = { path = "crates/macro", version = "=0.2.6" } -fluence-sdk-main = { path = "crates/main", version = "=0.2.6" } +fluence-sdk-macro = { path = "crates/macro", version = "=0.2.7" } +fluence-sdk-main = { path = "crates/main", version = "=0.2.7" } [features] # Print some internal logs by log_utf8_string diff --git a/crates/macro/Cargo.toml b/crates/macro/Cargo.toml index 409cf99..0577f29 100644 --- a/crates/macro/Cargo.toml +++ b/crates/macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fluence-sdk-macro" -version = "0.2.6" # remember to update html_root_url +version = "0.2.7" # remember to update html_root_url edition = "2018" description = "Definition of `#[invoke_handler]` attribute" documentation = "https://docs.rs/fluence/fluence-sdk-macro" @@ -17,4 +17,4 @@ all-features = true proc-macro = true [dependencies] -fluence-sdk-wit = { path = "../wit", version = "=0.2.6" } +fluence-sdk-wit = { path = "../wit", version = "=0.2.7" } diff --git a/crates/macro/src/lib.rs b/crates/macro/src/lib.rs index 617949d..cac0821 100644 --- a/crates/macro/src/lib.rs +++ b/crates/macro/src/lib.rs @@ -54,7 +54,7 @@ //! //! ``` -#![doc(html_root_url = "https://docs.rs/fluence-sdk-macro/0.2.6")] +#![doc(html_root_url = "https://docs.rs/fluence-sdk-macro/0.2.7")] #![deny( dead_code, nonstandard_style, diff --git a/crates/main/Cargo.toml b/crates/main/Cargo.toml index 19a06ed..e7f7e75 100644 --- a/crates/main/Cargo.toml +++ b/crates/main/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fluence-sdk-main" -version = "0.2.6" # remember to update html_root_url +version = "0.2.7" # remember to update html_root_url edition = "2018" description = "Rust SDK for applications for the Fluence network" documentation = "https://docs.rs/fluence/fluence-sdk-macro" @@ -19,7 +19,7 @@ crate-type = ["rlib"] [dependencies] log = { version = "0.4.8", features = ["std"] } -fluence-sdk-macro = { path = "../macro", version = "=0.2.6" } +fluence-sdk-macro = { path = "../macro", version = "=0.2.7" } serde = "1.0.115" [dev-dependencies] diff --git a/crates/main/src/lib.rs b/crates/main/src/lib.rs index ab90d27..f21e86b 100644 --- a/crates/main/src/lib.rs +++ b/crates/main/src/lib.rs @@ -19,7 +19,7 @@ #![allow(clippy::missing_safety_doc)] #![allow(clippy::needless_doctest_main)] -#![doc(html_root_url = "https://docs.rs/fluence-sdk-main/0.2.6")] +#![doc(html_root_url = "https://docs.rs/fluence-sdk-main/0.2.7")] #![deny( dead_code, nonstandard_style, diff --git a/crates/wit/Cargo.toml b/crates/wit/Cargo.toml index f9ce2e6..60b93e7 100644 --- a/crates/wit/Cargo.toml +++ b/crates/wit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fluence-sdk-wit" -version = "0.2.6" # remember to update html_root_url +version = "0.2.7" # remember to update html_root_url edition = "2018" description = "Webassembly interface-types generator" documentation = "https://docs.rs/fluence/fluence-sdk-macro" diff --git a/crates/wit/src/lib.rs b/crates/wit/src/lib.rs index d9fbbdb..dfa7484 100644 --- a/crates/wit/src/lib.rs +++ b/crates/wit/src/lib.rs @@ -14,7 +14,7 @@ * limitations under the License. */ -#![doc(html_root_url = "https://docs.rs/wit-support/0.2.6")] +#![doc(html_root_url = "https://docs.rs/wit-support/0.2.7")] #![deny( dead_code, nonstandard_style, diff --git a/crates/wit/src/parsed_type/fn_epilog.rs b/crates/wit/src/parsed_type/fn_epilog.rs index 7b18d94..a79a6fd 100644 --- a/crates/wit/src/parsed_type/fn_epilog.rs +++ b/crates/wit/src/parsed_type/fn_epilog.rs @@ -103,7 +103,7 @@ fn generate_epilog(ty: &Option) -> proc_macro2::TokenStream { std::mem::forget(result); }, Some(ParsedType::Vector(ty)) => { - let generated_serializer_name = format!("__fce_generated_vec_serializer"); + let generated_serializer_name = String::from("__fce_generated_vec_serializer"); let generated_serializer_ident = new_ident!(generated_serializer_name); let vector_serializer = super::vector_utils::generate_vector_serializer(ty, &generated_serializer_name); diff --git a/crates/wit/src/parsed_type/foreign_mod_prolog.rs b/crates/wit/src/parsed_type/foreign_mod_prolog.rs index 970e820..6de6947 100644 --- a/crates/wit/src/parsed_type/foreign_mod_prolog.rs +++ b/crates/wit/src/parsed_type/foreign_mod_prolog.rs @@ -89,11 +89,9 @@ impl ForeignModPrologGlueCodeGenerator for Vec<(String, ParsedType)> { #vector_serializer let #arg_ident = #generated_serializer_ident(#arg_ident); - let mut #arg_ident = std::mem::ManuallyDrop::new(#arg_ident); }; arg_transforms.extend(arg_transform); - arg_drops.extend(quote::quote! { std::mem::ManuallyDrop::drop(&mut #arg_ident); }); } _ => {} } diff --git a/crates/wit/src/parsed_type/vector_utils.rs b/crates/wit/src/parsed_type/vector_utils.rs index 222edaf..895169b 100644 --- a/crates/wit/src/parsed_type/vector_utils.rs +++ b/crates/wit/src/parsed_type/vector_utils.rs @@ -223,6 +223,7 @@ pub(crate) fn generate_vector_deserializer( let mut result = Vec::with_capacity(arg.len()); for value in arg { + println!("value is {}", value); result.push(value as _); } diff --git a/src/lib.rs b/src/lib.rs index 74b0b66..c4eab83 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -55,7 +55,7 @@ //! pub fn curl_get(url: String) -> String; //! } //! ``` -#![doc(html_root_url = "https://docs.rs/fluence/0.2.6")] +#![doc(html_root_url = "https://docs.rs/fluence/0.2.7")] #![deny( dead_code, nonstandard_style,