mirror of
https://github.com/fluencelabs/marine-rs-sdk
synced 2025-03-15 14:30:48 +00:00
improve vector deallocation scheme
This commit is contained in:
parent
5c993493f9
commit
598080005d
@ -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
|
||||
|
@ -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" }
|
||||
|
@ -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,
|
||||
|
@ -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]
|
||||
|
@ -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,
|
||||
|
@ -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"
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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); });
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
@ -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 _);
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user