Description
Streams API methods that apply transformations to streams are currently invariant in the key and value types, when they should probably be contravariant in those types.
For instance, KStream.filter(Predicate<K, V> predicate) should be KStream.filter(Predicate<? super K, ? super V> predicate) to accept predicates that can act on any supertype of K, or V.
Same thing applies to method that take Aggregator, StreamPartitioner, KeyValueMapper, ValueMapper, ProcessorSupplier, ValueJoiner, etc.
Attachments
Issue Links
- links to
- mentioned in
-
Page Loading...