Skip to content

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.

@djc djc mentioned this pull request Apr 14, 2025
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