TimelyDataflow / differential-dataflow

An implementation of differential dataflow using timely dataflow on Rust.
MIT License
2.51k stars 182 forks source link

Define flat container types in terms of regions #514

Closed antiguru closed 3 weeks ago

antiguru commented 3 weeks ago

Define flat container spines in terms of regions instead of concrete types. Add a FlatKeySpineDefault and similarly a FlatValSpineDefault type definition that defers to the Containerized trait to obtain the region of a type. This change tidies up some trait implementations where they in the past were defined in terms of concrete (owned) types instead of regions. This also allows for greater reuse of the region-based types because someone else can define a different Containerized trait but still use the region-based types.

I'm not too happy about the *Default names because it doesn't convey the meaning, but I haven't thought of a better name.