Hi Patrick,

This looks good. To resolve the ambiguity of when results are undefined I 
suggest we tweak the docs at the various locations, see below. No need for 
another round of review.

I can understand the desire to place the primitive functional interfaces in 
j.u.functions, but for reasons previously stated they are fine in the current 
location.

Paul.



      * accepts replacing elements. The mapping function operates on the 
consumer,
      * zero or more times, for acceptance of replacing elements.
      *
-     * <p>The results of this method are undefined if the {@link Consumer}
-     * argument is called outside the scope of the mapper function.
-     *
      * <p>This is an <a href="package-summary.html#StreamOps">intermediate
      * operation</a>.
+     * The results of this intermediate operation are undefined if the
+     * {@code consumer} argument is operated on outside the scope of
+     * its application to the mapping function.
      *
      * @implSpec
      * The default implementation accumulates accepted elements into an 
internal

> On Aug 11, 2020, at 11:11 AM, Patrick Concannon 
> <patrick.concan...@oracle.com> wrote:
> 
> Hi,
> 
> Please find the next iteration of mapMulti in the new webrev below. 
> 
> In this iteration the following changes have been made:
> The API note for mapMulti has been updated.
> Sub-interfaces for {Int, Double, Long}Stream have been refactored to be more 
> specific to mapMulti.
> The examples have been changed, and now include a reference to how an 
> explicit type parameter can be used in conjunction with mapMulti.
> 
> The CSR and specdiff have also been updated to reflect these changes.
> 
> webrev: http://cr.openjdk.java.net/~pconcannon/8238286/webrevs/webrev.05/
> specdiff: http://cr.openjdk.java.net/~pconcannon/8238286/specdiff/specout.02/
> CSR: https://bugs.openjdk.java.net/browse/JDK-8248166
> 
> Kind regards,
> Patrick

Reply via email to