Skip to content

Commit e67b42e

Browse files
authored
Merge pull request #12 from thestarmaker/bugfix/alignment-bugfix
Bugfix/alignment bugfix
2 parents c06c7bc + a9a6a98 commit e67b42e

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

Cargo.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "codee"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
edition = "2021"
55
authors = ["Marc-Stefan Cassola"]
66
categories = ["encoding"]
@@ -16,7 +16,7 @@ base64 = { version = "0.22", optional = true }
1616
js-sys = { version = "0.3", optional = true }
1717
miniserde = { version = "0.1", optional = true }
1818
prost = { version = "0.14", optional = true }
19-
rkyv = { version = "0.8.9", optional = true }
19+
rkyv = { version = "0.8.10", optional = true }
2020
rmp-serde = { version = "1.1", optional = true }
2121
serde = { version = "1", optional = true }
2222
serde_json = { version = "1", optional = true }
@@ -32,6 +32,7 @@ bincode_v1 = { package = "bincode", version = "1", optional = true }
3232
bincode = { package = "bincode", version = "2.0.1", optional = true }
3333

3434
[features]
35+
rkyv = ["dep:rkyv"]
3536
prost = ["dep:prost"]
3637
json_serde = ["dep:serde_json", "dep:serde"]
3738
msgpack_serde = ["dep:rmp-serde", "dep:serde"]
@@ -50,8 +51,6 @@ json_serde_wasm = [
5051
[dev-dependencies]
5152
serde = { version = "1", features = ["derive"] }
5253
serde-lite = { version = "0.5", features = ["derive"] }
53-
leptos = "0.8"
54-
leptos-use = "0.16"
5554

5655
[package.metadata.docs.rs]
5756
all-features = true

src/binary/rkyv.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use rkyv::api::high::{HighSerializer, HighValidator};
33
use rkyv::de::Pool;
44
use rkyv::rancor::Strategy;
55
use rkyv::ser::allocator::ArenaHandle;
6+
pub use rkyv::util::AlignedVec;
67
use rkyv::{bytecheck, rancor, Archive, Deserialize, Serialize};
78
use std::error::Error;
89
use std::sync::Arc;
@@ -35,7 +36,9 @@ where
3536
type Encoded = [u8];
3637

3738
fn decode(val: &Self::Encoded) -> Result<T, Self::Error> {
38-
rkyv::from_bytes::<T, rancor::Error>(val).map_err(|e| Arc::new(e) as Arc<dyn Error>)
39+
let mut aligned = AlignedVec::<16>::with_capacity(val.len());
40+
aligned.extend_from_slice(val);
41+
rkyv::from_bytes::<T, rancor::Error>(&aligned).map_err(|e| Arc::new(e) as Arc<dyn Error>)
3942
}
4043
}
4144

0 commit comments

Comments
 (0)