-
Notifications
You must be signed in to change notification settings - Fork 320
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
Add 3.5.0 announcement #1676
Add 3.5.0 announcement #1676
Conversation
I wanted to request a review from:
|
assert(0B_1000_0010 == 0x82) | ||
``` | ||
|
||
## Work on a better scheme for given prioritization |
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.
This section may seem longer than necessary, but we really want people to test the new given prioritization scheme.
|
||
Scala 3.5.0 supports pipelined compilation. It can be enabled by setting `ThisBuild/usePipelining := true` in sbt build definition. This can result in significant speedups in compilation time for multi-module projects. | ||
|
||
You can learn more about how the pipelined compilation works and what benefits you can expect from [the talk by Jamie Thompson](https://www.youtube.com/watch?v=1uuFxEAiPuQ&t=1473s). |
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.
Is there also something in textual form people can look at...?
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.
there are only various PR comments and commit messages -and forum post on Scala Contributors - Someone™️ should bring together this information
There are "What's new?" section, but there isn't any information about what other changes are included Perhaps this was conscious, but it's usual to brag about all the bugfixing going on ("37 thousand PRs merged!", that kind of thing, perhaps with a link to a list on GitHub). Maybe at least some bullets (with PR links) for the most significant changes that don't require entire sections to describe...? Also, do I recall correctly that 3.5.0 warns on a lot more kinds of outmoded code than 3.4 did...? That could be worth calling attention to. |
We have conducted experiments that showed that the proposed scheme will result in a more intuitive and predictable given resolution. The negative impact on the existing projects is very small. We have tested 1500 open-source libraries, and new rules are causing problems for less than a dozen of them. We have already submitted PRs with changes that will make them work the same way under both the current and proposed rules. | ||
|
||
Our current plan is to introduce the new scheme in Scala 3.7. Starting from Scala 3.6, code whose behavior can differ between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the old rules will still be applied. 3.5 gives you a chance to detect if those changes affect your codebase. Running the compiler with `-source 3.6` will give you warnings; with `-source 3.7` or `-source future` you will get the new scheme. | ||
|
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.
TODO: link to the blog post once it's available (#1675)
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.
another possibility would be to greatly shorten this section and let the blog post do most of the work
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 recently heard from @bracevac that the post will be closer to 3.6. This is why I needed to include the information about the planned changes right now.
However, I agree that it will be better to slightly change the post and release it now. Then we can shorten this section considerably.
IIRC after the discussion, we're still making it mandatory to qualify explicitly passed implicit parameters with |
Co-authored-by: Seth Tisue <seth@tisue.net>
- add contributors list - add named tuples section - shorten the given prioritazation section
860a8f0
to
c1c7170
Compare
As I mentioned during the last SIP meeting, I propose noting the new experimental features in 3.5 and encouragement to try them out and provide feedback:
|
this isn't in 3.5 |
As @soronpo said the new experimental givens syntax is worth a "deep dive" as that is quite important for people to test |
@bishabosha @soronpo I've added a paragraph with a glimpse of the new syntax. There are too many changes to the given syntax, so we cannot show examples to all of them. Instead, let's direct to the 2 broad blogposts explaining the change. |
Thanks. It was never the intent to include more than that. Just notifying about this experimental change to encourage testing. |
TODO LIST: