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]

Reply via email to