RUSTSEC-2020-0128: cache: Cache: Send/Sync impls needs trait bounds on `K`

Description

Affected versions of this crate unconditionally implement Send/Sync for Cache<K>. This allows users to insert K that is not Send or not Sync.

This allows users to create data races by using non-Send types like Arc<Cell<T>> or Rc<T> as K in Cache<K>. It is also possible to create data races by using types like Cell<T> or RefCell<T> (types that are Send but not Sync). Such data races can lead to memory corruption.

More Info

https://github.com/krl/cache/issues/1

Patched Versions