-
Notifications
You must be signed in to change notification settings - Fork 56
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
Merging ScalarStore and LightStore into ZStore #351 #364
Conversation
…rs into jcb/scalar_store_refactor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the main issues left to deal with are:
- the tests in
z-data-{exprs, store}.rs
which are at the moment 100% commented out, - issues to open, notably one for cycle detection in store fetches,
Otherwise, this LGTM! (colossal amount of work, kudos everyone!)
|
||
#[derive(Debug)] | ||
/// `CacheMap` is an adaptation of `FrozenMap`: | ||
/// `<https://docs.rs/elsa/latest/elsa/map/struct.FrozenMap.html>` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would also be nice to have a line on what’s different from FrozenMap (the hasher).
test(&mut s, "0xa/", "0xa"); | ||
} | ||
} | ||
//#[cfg(test)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ping
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM! thanks for bringing this one home, folks!
Since argumentcomputer#364, the store relies on Rc<Refcell<_>> to ensure unique access to the store. This is a runtime check that would lead to a panic should some other piece of code retain a reference to the store in a call to `get_expr`. This PR eliminates the need for this unnecessary construct, and re-established the use of the borrow checker to ensure static memory safety.
Since argumentcomputer#364, the store relies on Rc<Refcell<_>> to ensure unique access to the store. This is a runtime check that would lead to a panic should some other piece of code retain a reference to the store in a call to `get_expr`. This PR eliminates the need for this unnecessary construct, and re-established the use of the borrow checker to ensure static memory safety.
Since argumentcomputer#364, the store relies on Rc<Refcell<_>> to ensure unique access to the store. This is a runtime check that would lead to a panic should some other piece of code retain a reference to the store in a call to `get_expr`. This PR eliminates the need for this unnecessary construct, and re-established the use of the borrow checker to ensure static memory safety.
Since #364, the store relies on Rc<Refcell<_>> to ensure unique access to the store. This is a runtime check that would lead to a panic should some other piece of code retain a reference to the store in a call to `get_expr`. This PR eliminates the need for this unnecessary construct, and re-established the use of the borrow checker to ensure static memory safety.
Merge LightStore and ScalarStore
(See #352 #353 )