Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RepresentableSuite.scala doesn't compile in Scala 2.13 community build #2355

Closed
SethTisue opened this issue Jul 31, 2018 · 4 comments
Closed

Comments

@SethTisue
Copy link
Member

SethTisue commented Jul 31, 2018

[cats] Running "test" in: testsJVM
[cats] [info] Compiling 88 Scala sources to /Users/tisue/community-builds.213/target-0.9.12/project-builds/cats-f6470f629c8fd47a8d425f3562a7e38f7d16ca33/tests/.jvm/target/scala-2.13.0-pre-ba03b6d/test-classes ...
[cats] [error] /Users/tisue/community-builds.213/target-0.9.12/project-builds/cats-f6470f629c8fd47a8d425f3562a7e38f7d16ca33/tests/src/test/scala/cats/tests/RepresentableSuite.scala:63:58: could not find implicit value for parameter iso: cats.laws.discipline.SemigroupalTests.Isomorphisms[[β$5$]String => β$5$]
[cats] [error]     checkAll("String => ?", MonadTests[String => ?].monad[String, String, String])
[cats] [error]                                                          ^

this is on 2.13.0-pre-ba03b6d

not sure what to make of this; the code compiles on 2.13.0-M4, so I suppose this is due to some post-M4 change in scala/scala

tracking this down could be tricky. 277 PRs (!) have been merged, as of scala/scala@ba03b6d, since M4, and Cats has a bunch of dependencies so it's not easy to build and test everything against 2.13.0-pre-ba03b6d

can someone who knows the cats code explain what might be going wrong here? and then I can ask the Scala team to take a look and see what PRs might explain it?

worst comes to worst, I can use the community build to bisect what Scala PR this regressed in, but doing that would take a long time

@kailuowang
Copy link
Contributor

@SethTisue when you said the code compiles on 2.13.0-M4, did you use master or the 1.2.x. branch?
In several tests like this one right above we had to manually call the implicit method in the companion to provide a local implicit val in scope to help scalac. I am not sure if anyone ever figured out when it's needed and why (maybe @ceedubs ?)
How about we give it a try first? if it ends up fixing the issue we just know that the scalac bug's (not sure if it's identified and reported) behavior changed a bit ( we don't know if any of the existing manual ones are no longer needed because of this change).

@SethTisue
Copy link
Member Author

did you use master or the 1.2.x. branch?

uh, I don't remember, but they both currently compile on 2.13.0-M4.

(as an aside, I had hoped the problem might be reproducible outside dbuild with ; ++2.13.0-pre-329c477! ; set every scalaBinaryVersion := "2.13.0-M4" ; testsJVM/Test/compile but no, we've made binary-incompatible collections changes since M4 so that bombs)

scala/community-builds@scala/community-build@ea62fa4 makes this a bit more convenient to troubleshoot using dbuild

I'll poke at it using your suggestion about altering the test in question

@SethTisue
Copy link
Member Author

PR: #2359

SethTisue added a commit to SethTisue/cats that referenced this issue Aug 3, 2018
@SethTisue
Copy link
Member Author

cats is green in 2.13 community build, has been for a while

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants