diff --git a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/javadsl/Behaviors.scala b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/javadsl/Behaviors.scala index bc3ee7b8a0c..d4425cd4a5e 100644 --- a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/javadsl/Behaviors.scala +++ b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/javadsl/Behaviors.scala @@ -234,8 +234,10 @@ object Behaviors { * @param monitor The messages will also be sent to this `ActorRef` * @param behavior The inner behavior that is decorated */ - def monitor[T](interceptMessageClass: Class[T], monitor: ActorRef[T], behavior: Behavior[T]): Behavior[T] = - scaladsl.Behaviors.monitor(monitor, behavior)(ClassTag(interceptMessageClass)) + def monitor[T](interceptMessageClass: Class[T], monitor: ActorRef[T], behavior: Behavior[T]): Behavior[T] = { + implicit val ct: ClassTag[T] = ClassTag(interceptMessageClass) + scaladsl.Behaviors.monitor(monitor, behavior) + } /** * Behavior decorator that logs all messages to the [[pekko.actor.typed.Behavior]] using the provided @@ -332,8 +334,10 @@ object Behaviors { def transformMessages[Outer, Inner]( interceptMessageClass: Class[Outer], behavior: Behavior[Inner], - selector: JFunction[PFBuilder[Outer, Inner], PFBuilder[Outer, Inner]]): Behavior[Outer] = - BehaviorImpl.transformMessages(behavior, selector.apply(new PFBuilder).build())(ClassTag(interceptMessageClass)) + selector: JFunction[PFBuilder[Outer, Inner], PFBuilder[Outer, Inner]]): Behavior[Outer] = { + implicit val ct: ClassTag[Outer] = ClassTag(interceptMessageClass) + BehaviorImpl.transformMessages(behavior, selector.apply(new PFBuilder).build()) + } /** * Support for scheduled `self` messages in an actor. @@ -413,7 +417,8 @@ object Behaviors { asScalaMap(mdcForMessage.apply(message)) } - WithMdcBehaviorInterceptor[T](asScalaMap(staticMdc), mdcForMessageFun, behavior)(ClassTag(interceptMessageClass)) + implicit val ct: ClassTag[T] = ClassTag(interceptMessageClass) + WithMdcBehaviorInterceptor[T](asScalaMap(staticMdc), mdcForMessageFun, behavior) } } diff --git a/actor/src/main/scala/org/apache/pekko/actor/FSM.scala b/actor/src/main/scala/org/apache/pekko/actor/FSM.scala index fd93a273b7c..6f33d7ca70c 100644 --- a/actor/src/main/scala/org/apache/pekko/actor/FSM.scala +++ b/actor/src/main/scala/org/apache/pekko/actor/FSM.scala @@ -763,7 +763,7 @@ trait FSM[S, D] extends Actor with Listeners with ActorLogging { /* * unhandled event handler */ - private val handleEventDefault: StateFunction = { + private def handleEventDefault: StateFunction = { case Event(value, _) => log.warning("unhandled event " + value + " in state " + stateName) stay() diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/fsm/PersistentFSMBase.scala b/persistence/src/main/scala/org/apache/pekko/persistence/fsm/PersistentFSMBase.scala index 448f00ef52d..89abe7fbb27 100644 --- a/persistence/src/main/scala/org/apache/pekko/persistence/fsm/PersistentFSMBase.scala +++ b/persistence/src/main/scala/org/apache/pekko/persistence/fsm/PersistentFSMBase.scala @@ -466,7 +466,7 @@ trait PersistentFSMBase[S, D, E] extends Actor with Listeners with ActorLogging /* * unhandled event handler */ - private val handleEventDefault: StateFunction = { + private def handleEventDefault: StateFunction = { case Event(value, _) => log.warning("unhandled event " + value + " in state " + stateName) stay() diff --git a/project/PekkoBuild.scala b/project/PekkoBuild.scala index 887a7fda1e7..4abf525c834 100644 --- a/project/PekkoBuild.scala +++ b/project/PekkoBuild.scala @@ -97,8 +97,8 @@ object PekkoBuild { "-feature", "-unchecked", // 'blessed' since 2.13.1 - "-language:higherKinds", - "-Yfuture-lazy-vals") + "-language:higherKinds") ++ + (if (CrossVersion.partialVersion(scalaVersion.value).exists(_._2 < 9)) Seq("-Yfuture-lazy-vals") else Seq.empty) } else { Seq( "-encoding", diff --git a/stream/src/main/scala/org/apache/pekko/stream/impl/fusing/Ops.scala b/stream/src/main/scala/org/apache/pekko/stream/impl/fusing/Ops.scala index 3832ccf2695..50ad7523de3 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/impl/fusing/Ops.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/impl/fusing/Ops.scala @@ -1527,7 +1527,8 @@ private[stream] object Collect { log = logAdapter match { case Some(l) => l case _ => - Logging(materializer.system, materializer)(fromMaterializer) + implicit val ls: LogSource[Materializer] = fromMaterializer + Logging(materializer.system, materializer) } } @@ -1647,7 +1648,8 @@ private[stream] object Collect { log = logAdapter match { case Some(l) => l case _ => - Logging.withMarker(materializer.system, materializer)(fromMaterializer) + implicit val ls: LogSource[Materializer] = fromMaterializer + Logging.withMarker(materializer.system, materializer) } }