improve vector deallocation scheme

This commit is contained in:
vms 2020-09-22 18:07:19 +03:00
parent 5c993493f9
commit 598080005d
11 changed files with 14 additions and 15 deletions

View File

@ -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

View File

@ -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" }

View File

@ -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,

View File

@ -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]

View File

@ -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,

View File

@ -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"

View File

@ -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,

View File

@ -103,7 +103,7 @@ fn generate_epilog(ty: &Option<ParsedType>) -> 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);

View File

@ -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); });
}
_ => {}
}

View File

@ -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 _);
}

View File

@ -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,