-
-
Notifications
You must be signed in to change notification settings - Fork 51
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
Fix most issues related to dependency update, except hashbrown version #349
Conversation
I think the issue is related to the change of the default hashing algorithm of |
We can downgrade for now, but let's make an issue for this as I don't want us to be restricted in what hashing algorithm we use, anything that depends on that should be changed or removed. |
The issue seems to be that new hashing algorithm is not deterministic anymore. Is deterministic too strict requirement? Only |
I'm not sure what you mean, why would it be required? A regular |
|
I'm still not sure how that isn't solved by the following: impl<T, S> PartialEq for HashSet<T, S>
where
T: Eq + Hash,
S: BuildHasher,
{
fn eq(&self, other: &HashSet<T, S>) -> bool {
if self.len() != other.len() {
return false;
}
self.iter().all(|key| other.contains(key))
}
} |
It doesn't note the variance between duplicate items.. but if we add that maybe it could work. |
Actually, the issue remains as the key is a hash value and if the algorithm is not deterministic, key might not be in the other object. |
Fixes most of the issues related to dependency updates.
Could it be possible to do large changes in branch so that main does not end up into bad state?
hashbrown
dependency update seems to break encoding ofBitString
type in BER for some standard tests, I don't know why yet. Should we downgrade that for now?E.g.
cargo test -p rasn-cms --test test_cms test_cms_signed 1> error.log
shows failures on
BitString
types only.error.log