beacon-biosignals / StableHashTraits.jl

Compute hashes over any Julia object simply and reproducibly
MIT License
9 stars 3 forks source link

Core functionality for version 1.3 #58

Closed haberdashPI closed 4 months ago

haberdashPI commented 6 months ago

Description

This implements and documents the core functionality for hash version 4 (StableHashTraits version 1.3). It leaves out all code necessary to cache hash results. It is an intermediate step towards #55.

Remaining TODO:

haberdashPI commented 6 months ago

@ericphanson is there anything you need from me here? I know this part is still pretty chunky, but I'm not sure how helpful it would be to break up, since the bulk of the changes are in the new implementation of the transformer_traits which sort of need to be added all together I think...

codecov[bot] commented 5 months ago

Codecov Report

Attention: Patch coverage is 89.57055% with 34 lines in your changes missing coverage. Please review.

Project coverage is 93.50%. Comparing base (f4259ea) to head (e57acaa).

Files Patch % Lines
src/main_interface.jl 81.44% 18 Missing :warning:
src/transformer_traits.jl 92.13% 14 Missing :warning:
src/hash_traits.jl 94.11% 2 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #58 +/- ## ========================================== - Coverage 95.66% 93.50% -2.16% ========================================== Files 6 7 +1 Lines 369 662 +293 ========================================== + Hits 353 619 +266 - Misses 16 43 +27 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

haberdashPI commented 4 months ago

Out of curiosity I ran tests on Julia 1.11's RC, and only the latest hash has anything close to all of its tests passing. There's some sort of cursed issue with world age going on in the generated functions in 1.11. So I'm glad we're close to the finish line here. 😅