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

rkyv-08 feature #1619

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

rkyv-08 feature #1619

wants to merge 2 commits into from

Conversation

Awpteamoose
Copy link
Contributor

Supersedes #1614

Not sure what to do about CI as currently the features are incompatible with rkyv 0.7, but I could use fully qualified paths for rkyv_08::Archive etc and then it should be ok?

Alternatively, could do smth like

// lib.rs
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
pub(crate) use rkyv_07 as rkyv;

#[cfg(any(feature = "rkyv-08", feature = "rkyv-08-16", feature = "rkyv-08-32", feature = "rkyv-08-64"))]
pub(crate) use rkyv_08 as rkyv;

// elsewhere
use crate::rkyv::{Archive, Serialize, Deserialize};

Copy link

codecov bot commented Oct 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 91.11%. Comparing base (05a6ce6) to head (4f21757).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1619      +/-   ##
==========================================
- Coverage   91.12%   91.11%   -0.01%     
==========================================
  Files          37       37              
  Lines       17123    17123              
==========================================
- Hits        15603    15602       -1     
- Misses       1520     1521       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@djc
Copy link
Member

djc commented Oct 10, 2024

Not sure what to do about CI as currently the features are incompatible with rkyv 0.7, but I could use fully qualified paths for rkyv_08::Archive etc and then it should be ok?

How do you propose to handle additivity in the case there both rkyv 0.7 and 0.8 features are enabled?

@Awpteamoose
Copy link
Contributor Author

Awpteamoose commented Oct 11, 2024

How do you propose to handle additivity in the case there both rkyv 0.7 and 0.8 features are enabled?

I've thought about it a bit and I think it's doable - I don't actually need a separate set of pointer size features, but to be properly additive - the rkyv 0.8 ArchivedT types that get generated will have to all be renamed to smth like Archived08T, which doesn't really matter since you'd usually access them as rkyv::Archived<T> anyway. I will also have to use fully-qualified paths for rkyv everywhere.

I'll do this later today if I have time.

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

Successfully merging this pull request may close these issues.

2 participants