-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Lift Scala Settings from experimental to stabilized #20199
Conversation
35a00f5
to
d447989
Compare
This has been decided to be included in the 3.5.0 release. Note: The following flags will have to not print the deprecation warning, despite them being lifted to
The deprecation message will be added in a future minor release (no earlier than 3.7.x), and we will remove the old syntax no later than before the next LTS version (>3.3.x). |
We should consider removing |
d447989
to
9af7daa
Compare
74ca04b
to
afba4bd
Compare
Don't auto merge this, we're still waiting for community build (full community build) to finish 😅 |
65b64c7
to
df8e8ba
Compare
kind-project and other has lifted from experiment to stabilized in: scala/scala3#20199
Fixes: #19693
This is the tracking list from the issue and the status of migraton.
-X
-Yresolve-term-conflict
-YnoGenericSig
-Ydumpclasses
-YjarCompressionLevel
-YkindProjector
-YdropComments
-YcookComments
-YreadComments
-YnoDecodeStacktraces
-YnoEnrichErrorMessages
-YdebugMacros
-YjavaTasty
- deprecate in 3.7.0-YjavaTastyOutput
- deprecate in 3.7.0-YallowOutlineFromTasty
- deprecate in 3.7.0-W
-Wsafe-init
--Yforce-inline-while-typing
// Note: this was already removed by 05eb7f7-YfromTastyIgnoreList
// this flag was not decided-YoutputOnlyTasty
I suppose 2 last flags that have to be decided are maintained by @bishabosha
Do you know their status ?
Other than that, this PR implemented a deprecation mechanism for the future e.g.
EDIT:
As it was decided, options responsible for pipelining will be retained until 3.7.0.
The code is commented and following PR which will deprecate them will be created after merging this one.
EDIT2:
-Xlint
is a very problematic flag. It was added into the compiler in 3.4 bypassing argument verification. Then in the future, when it was deprecated in favour of-Wshadow
we couldn't exactly map them 1-1, and it was deprecated in following way:-Xlint
is valid flag,-Xlint
was skipped as it was not implemented,-Xlint
was implemented allowing forall
,private-shadow
andtype-parameter-shadow
options. It also bypassed argument verification allowing standalone-Xlint
to be ignored, not reported as error,-Wshadow
. We didn't want to commit this mistake again and allow standalone-Wshadow
thus when it was deprecated, we didn't handle it as we should (deprecated option should trigger replacement when possible).That's why I'm retaining the previous behaviour of
-Xlint
. It will be removed in the future versions as it is already deprecated.