fix vec size passing

This commit is contained in:
vms 2020-09-22 14:33:15 +03:00
parent f247a84f6d
commit 56368c71f3
8 changed files with 32 additions and 20 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "fluence"
version = "0.2.4" # remember to update html_root_url
version = "0.2.5" # 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.4" }
fluence-sdk-main = { path = "crates/main", version = "=0.2.4" }
fluence-sdk-macro = { path = "crates/macro", version = "=0.2.5" }
fluence-sdk-main = { path = "crates/main", version = "=0.2.5" }
[features]
# Print some internal logs by log_utf8_string

View File

@ -1,6 +1,6 @@
[package]
name = "fluence-sdk-macro"
version = "0.2.4" # remember to update html_root_url
version = "0.2.5" # 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.4" }
fluence-sdk-wit = { path = "../wit", version = "=0.2.5" }

View File

@ -1,6 +1,6 @@
[package]
name = "fluence-sdk-main"
version = "0.2.4" # remember to update html_root_url
version = "0.2.5" # 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.4" }
fluence-sdk-macro = { path = "../macro", version = "=0.2.5" }
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.4")]
#![doc(html_root_url = "https://docs.rs/fluence-sdk-main/0.2.5")]
#![deny(
dead_code,
nonstandard_style,

View File

@ -1,6 +1,6 @@
[package]
name = "fluence-sdk-wit"
version = "0.2.4" # remember to update html_root_url
version = "0.2.5" # 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.4")]
#![doc(html_root_url = "https://docs.rs/wit-support/0.2.5")]
#![deny(
dead_code,
nonstandard_style,

View File

@ -27,19 +27,30 @@ pub(crate) fn generate_vector_serializer(
unimplemented!()
}
}
ParsedType::I8
| ParsedType::I16
| ParsedType::I32
| ParsedType::I64
| ParsedType::U8
| ParsedType::U16
| ParsedType::U32
| ParsedType::U64 => {
ParsedType::I8 | ParsedType::U8 => {
quote! {
let arg = std::mem::ManuallyDrop::new(arg);
(arg.as_ptr() as _, arg.len() as _)
}
}
ParsedType::I16 | ParsedType::U16 => {
quote! {
let arg = std::mem::ManuallyDrop::new(arg);
(arg.as_ptr() as _, (2 * arg.len()) as _)
}
}
ParsedType::I32 | ParsedType::U32 => {
quote! {
let arg = std::mem::ManuallyDrop::new(arg);
(arg.as_ptr() as _, (4 * arg.len()) as _)
}
}
ParsedType::I64 | ParsedType::U64 => {
quote! {
let arg = std::mem::ManuallyDrop::new(arg);
(arg.as_ptr() as _, (8 * arg.len()) as _)
}
}
ParsedType::F32 => {
quote! {
let mut result: Vec<u32> = Vec::with_capacity(arg.len());
@ -184,7 +195,7 @@ pub(crate) fn generate_vector_deserializer(
while let Some(offset) = arg.next() {
let size = arg.next().unwrap();
let value = #deserializer_ident(offset, size);
let value = #deserializer_ident(offset as _, size as _);
result.push(value);
}
@ -212,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.4")]
#![doc(html_root_url = "https://docs.rs/fluence/0.2.5")]
#![deny(
dead_code,
nonstandard_style,