playframework / playframework/play-json

ArrowAssoc warning in Scala 3.10

Open
#1,409 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
375
Forks
140
Avg merge
1d 5h
Merged PRs (30d)
28

Description

Play JSON Version (2.5.x / etc)
  • 3.1.0-M10
  • 3.0.6
API (Scala / Java / Neither / Both)

Scala

Operating System (Ubuntu 15.10 / MacOS 10.10 / Windows 10)

all

JDK (Oracle 1.8.0_72, OpenJDK 1.8.x, Azul Zing)

all

Library Dependencies
Expected Behavior

no warning

Actual Behavior
[warn]   6 |  val f = play.api.libs.json.Json.format[A]
[warn]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[warn]     |method ArrowAssoc in object Predef is deprecated since 3.10.0: Use `->` extension method instead.
[warn]     |---------------------------------------------------------------------------
[warn]     |Inline stack trace
[warn]     |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[warn]     |This location contains code that was inlined from JsMacroImpl.scala:713
[warn]     |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[warn]     |This location contains code that was inlined from JsMacroImpl.scala:713
[warn]      ---------------------------------------------------------------------------
[warn] one warning found
Reproducible Test Case

build.sbt

scalaVersion := "3.10.0-RC1"

libraryDependencies += "org.playframework" %% "play-json" % "3.1.0-M10"

scalacOptions += "-deprecation"

A.scala

package example

case class A(x: Int)

object A {
  val f = play.api.libs.json.Json.format[A]
}
Note

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the warning with the provided build.sbt and A.scala using Scala 3.10.0-RC1 and play-json 3.1.0-M10. Start from the inline trace pointing to JsMacroImpl.scala:713 and compare it with the referenced Scala Predef change. Done means the Json.format[A] example compiles without the ArrowAssoc deprecation warning.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.