-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Scala3 style imports #4677
base: main
Are you sure you want to change the base?
Scala3 style imports #4677
Conversation
Looks like it is failing because in #4478 the "-Xsource:3" option was disabled for
🤔 |
Hi @armanbilge, |
Huh, that surprises me. I do have a vague recollection of the issue, I believe it related to some methods that were lacking an explicit type, and under If CI is happy, it's probably okay now (?) but it would be really good to understand why ... |
Yes, it is puzzling quite a bit.. I'm going to convert this Draft to a complete PR and let it stay that way for a while. |
@danicheg @armanbilge does it make sense to proceed with this, wdyt? I personally feel, yes, it does, since it could be yet another step towards Scala3 syntax migration, but I wouldn't like to run ahead of the train anyway. Just to keep things connected: there's another PR (yet draft) in the same direction: #4673 by @xuwei-k, which I'd really love to have merged once it's ready. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this requires an accepted tactic among the team. Currently, we have a coherent Scala 2 codebase with few provisos. Personally, I'm in favour of keeping that order of things as long as possible. Cats is a Scala 2 project cross-compiling to Scala 3. I don't think braiding the syntaxes of these two languages would make sense. But that's an interesting approach, indeed. What if they invented a strategy to turn Scala 2 syntax into Scala 3 one day?
Hmm.. I don't know. For now it looks like Scala3 is moving in the opposite direction – it keeps gradually deprecating Scala2 style syntaxes from version to version. My point is that if Cats already has |
I think this is the right direction. It seems to me that a lot of the syntax changes from 2->3 are addressing various "warts" (see also #4673). I think it's great that these improvements are being backported to Scala 2. My only hesitation with this PR is trying to understand what was breaking bincompat previously, and why it no longer is, see #4677 (comment). I guess it shouldn't be a blocker, I would just feel better knowing why 😅 |
Could be about different type inference when overriding a method from the superclass |
a7e12e0
to
56c3147
Compare
56c3147
to
79ecda4
Compare
Removes
runner.dialectOverride.allowStarWildcardImport = false
from .scalafmt.conf then applies scalafmtAll.UPD.: also re-enables "-Xsource:3" for
algebraCore
andalgebraLaws
.