The GitHub Actions job "Pull Requests" on 
pekko.git/java-dsl-wildcard-bounds-stream-typed has failed.
Run started by GitHub user pjfanning (triggered by pjfanning).

Head commit for run:
d4b249472ceb907162b902cb0d907180792c86bd / Claude <[email protected]>
Widen stream-typed Java DSL function parameters with wildcard bounds

Motivation:
Java generics are invariant, so the stream-typed javadsl factories reject
pre-typed function values a Java user would reasonably pass, such as a
Function<Object, String> as the failure function of ActorSink.actorRef, or
a Function2<Object, ActorRef<Reply>, Asking> for ActorFlow.ask.

Modification:
- ActorFlow.ask, askWithStatus, askWithContext and askWithStatusAndContext:
  makeMessage takes Function2[? >: I, ? >: ActorRef[..], ? <: Q].
- ActorSink.actorRef and actorRefWithBackpressure: onFailureMessage takes
  Function[? >: Throwable, ? <: T/M]; messageAdapter and onInitMessage are
  widened the same way.
- ActorSource.actorRef and actorRefWithBackpressure: the matchers take
  Predicate[? >: T] and Function[? >: T, ? <: Optional[? <: ..]].
- Add MiMa excludes for the generic signature changes.

Result:
Java callers can pass these values without casts or re-typing. Erasure is
unchanged for every method, so this is binary compatible; only
IncompatibleSignatureProblem excludes are needed.

Tests:
- New Java compile tests in ActorSourceSinkCompileTest and
  ActorFlowCompileTest that pass values the old signatures rejected.
- Not run - the cloud workspace used to prepare this change cannot reach
  Maven Central, so sbt compile, tests, mimaReportBinaryIssues, scalafmt
  and javafmt were not run locally. Relying on CI.

References:
Refs #3712. Follows #3713 and #3714.

Report URL: https://github.com/apache/pekko/actions/runs/40543044483

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to