tisonkun opened a new pull request, #185: URL: https://github.com/apache/datasketches-rust/pull/185
## Summary - replace the public implementable Theta-family sketch traits with concrete borrowed ThetaSketchView and TupleSketchView values - keep shared union, intersection, A-not-B, and Jaccard algorithms internal through SketchMetadata plus concrete iterators - specialize mutable/compact iteration in ThetaSketchIter and TupleSketchIter, following the domain-specific iterator-state pattern used by logforth KeyValues - remove TestEntry and TestSketch white-box implementations whose behavior is already covered through the Theta and Tuple integration suites ## Rationale Theta-family set operations accept a closed set of representations: mutable and compact sketches. A public implementation trait exposed internal metadata and iterator invariants as a downstream contract even though arbitrary external implementations were not a supported extension point. The concrete views have private state and can only be safely constructed from real sketch values. Existing call sites can still pass references directly through From and Into conversions. The shared algorithms receive only the metadata and entry traversal they actually consume, without dynamic dispatch or allocation. This revisits the abstraction discussed in #151. ## Testing - cargo x check - cargo x test - cargo x lint -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
