Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Storable for Vec<T> where T: Storable #155

Open
ielashi opened this issue Nov 3, 2023 · 2 comments
Open

Implement Storable for Vec<T> where T: Storable #155

ielashi opened this issue Nov 3, 2023 · 2 comments

Comments

@ielashi
Copy link
Contributor

ielashi commented Nov 3, 2023

Currently we only implement Storable for Vec<u8>. Ideally, we would have a generic implementation that allows developers to put anything that implements Storable in a Vec.

We can't introduce this implementation at this point because:

  • Vec<u8> is special, in the sense that we don’t need to do any serializing/deserializing for the data - which makes its Storable implementation fast.
  • For all other types, we’d need to serialize/deserialize the elements in the Vec.

We'd need to wait for generic specializations in Rust to encode the logic above. The Vec<u8> special-case is quite important as it’s very often used.

@aliscie
Copy link

aliscie commented Nov 3, 2024

No answer for this, how to store vectors please? any examples

@dsarlis
Copy link
Member

dsarlis commented Nov 14, 2024

You can store vectors already. However, you would need to implement storable by hand for them. This issue is about implementing Storable for a Vec<T> where T implements Storable so you don't have to provide one for the vector yourself. As noted already we need to wait for a Rust feature (still open) to be able to implement this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants