Open fwgreen opened 2 years ago
Agreed.
Given that we have swift-atomics, this would be technically possible (if a bit painful) to implement right now, although there are some significant API design questions/issues that need to be resolved. (E.g., what constraints would such a type put on its Key/Value types? Do we need to constrain their memory layout in some way? Do they need to conform to AtomicValue
in addition to Sendable
?)
Similar to a weak dictionary (#2, which is in a sense just a narrow special case of the general concurrent dictionary), it is unlikely that a concurrent dictionary would be able to provide value semantics, or to conform to Collection.
Concurrent data structures feel different enough from regular collection types that they may not be a great fit here -- it may make sense to create a new package that is dedicated to them.
This is a major go to in Java and it would be nice to have something similar here. It's safe to assume this would be for the distant future after Swift's concurrency and memory management stories are complete.