diff --git a/akka-stream/src/main/mima-filters/2.6.19.backwards.excludes/detacher.excludes b/akka-stream/src/main/mima-filters/2.6.19.backwards.excludes/detacher.excludes new file mode 100644 index 0000000000..662a6893b9 --- /dev/null +++ b/akka-stream/src/main/mima-filters/2.6.19.backwards.excludes/detacher.excludes @@ -0,0 +1,2 @@ +#Change Detacher from class to object. +ProblemFilters.exclude[MissingClassProblem]("akka.stream.impl.fusing.GraphStages$Detacher") \ No newline at end of file diff --git a/akka-stream/src/main/scala/akka/stream/impl/fusing/GraphStages.scala b/akka-stream/src/main/scala/akka/stream/impl/fusing/GraphStages.scala index 5e6016df1f..1e8d32578f 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/fusing/GraphStages.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/fusing/GraphStages.scala @@ -77,7 +77,7 @@ import akka.stream.stage._ /** * INTERNAL API */ - @InternalApi private[akka] final class Detacher[T] extends SimpleLinearGraphStage[T] { + @InternalApi private[akka] object Detacher extends SimpleLinearGraphStage[Any] { override def initialAttributes = DefaultAttributes.detacher override def createLogic(inheritedAttributes: Attributes): GraphStageLogic = @@ -114,8 +114,7 @@ import akka.stream.stage._ override def toString = "Detacher" } - private val _detacher = new Detacher[Any] - def detacher[T]: GraphStage[FlowShape[T, T]] = _detacher.asInstanceOf[GraphStage[FlowShape[T, T]]] + def detacher[T]: GraphStage[FlowShape[T, T]] = Detacher.asInstanceOf[SimpleLinearGraphStage[T]] private object TerminationWatcher extends GraphStageWithMaterializedValue[FlowShape[Any, Any], Future[Done]] { val in = Inlet[Any]("terminationWatcher.in")