Adds about one billion (+- a few hundred million) missing derives for all sorts of types.
The biggest change in this PR is, how structs holding a property Shared<T> types implement PartialEq. In previous versions of this crate, if a Shared<T> was part of a struct, this or these properties would be ignored in == comparisons. This is because Shared<T> is defined as Arc<RwLock<T>> - meaning you'd have to lock the RwLock to make a comparison. From now on, instead of ignoring these properties or locking the inner RwLock, the pointer values of the Arc<T>'s get compared. This is a cheap and exact way of ensuring Eq for types, which have an inner Shared<T>.
Adds about one billion (+- a few hundred million) missing derives for all sorts of types.
The biggest change in this PR is, how structs holding a property
Shared<T>
types implementPartialEq
. In previous versions of this crate, if aShared<T>
was part of a struct, this or these properties would be ignored in == comparisons. This is becauseShared<T>
is defined asArc<RwLock<T>>
- meaning you'd have to lock theRwLock
to make a comparison. From now on, instead of ignoring these properties or locking the innerRwLock
, the pointer values of theArc<T>
's get compared. This is a cheap and exact way of ensuringEq
for types, which have an innerShared<T>
.