He-Pin opened a new pull request, #1069: URL: https://github.com/apache/pekko-http/pull/1069
## Summary - Fix context bound patterns for Scala 3.8 compatibility: replace explicit passing of `Tuple.yes`, `ev`, `OutIsTuple`, `ClassTag`, `LogSource` with implicit vals in scope - Update build config: move `-Ywarn-dead-code`/`-Xlint` to Scala 2-only, add `-Wconf` suppressions for Scala 3, make `-language:_` conditional, replace `-Xfatal-warnings` with `-Werror` ## Details ### Context bound fixes (routing DSL) - `Directive.scala`: ConjunctionMagnet, or, validatedMap, tmap, tcollect, Directive0Support - `PathMatcher.scala`: provide, apply (context bound `[L: Tuple]` → explicit `implicit ev`) - `PathDirectives.scala`: rawPathPrefix, pathSuffix (tprovide with explicit type param) - `FutureDirectives.scala`: OnSuccessMagnet (Tuple import fix for scala.Tuple shadowing) ### Context bound fixes (core) - `HttpMessage.scala`: getHeaders ClassTag - `RejectionHandler.scala` (javadsl): ClassTag with server.Rejection type annotation - `PoolInterface.scala`, `StageLoggingWithOverride.scala`: LogSource context bounds - `TestRouteResult.scala`, `RouteTest.scala`: ClassTag context bounds ### Test code fixes - `EntityStreamingSpec.scala`: context parameter passing via implicit vals ### Build config fixes - `project/Common.scala`: Scala 2/3 conditional scalacOptions, -Wconf suppressions - `build.sbt`: conditional `-language:_`, `-Werror` in docs - `DontLeakActorsOnFailingConnectionSpecs.scala`, `MultiNodeConfig.scala`: Logging fixes Note: `private[this]` → `private` and `= _` → explicit defaults are in a separate PR (#1068). ## Test plan - [x] `sbt "++ 2.13 Test/compile"` passes - [x] `sbt "++ 3.3 Test/compile"` passes ### Motivation Scala 3.8 introduces breaking changes for context parameter passing. These changes ensure forward compatibility. ### Modification Replace explicit context parameter passing with implicit vals in scope; conditionally configure scalac options per Scala version. ### Result All modules compile cleanly on Scala 2.13.18 and 3.3.8, with source compatibility for Scala 3.8's context parameter changes. ### Tests - `sbt "++ 2.13 Test/compile"` passes - `sbt "++ 3.3 Test/compile"` passes ### References None - Scala 3.8 forward compatibility. Supersedes #1067 (split into #1068 + this PR). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
