Skip to content

Commit 5854959

Browse files
authored
Lift Scala Settings from experimental to stabilized (#20199)
Fixes: #19693 This is the tracking list from the issue and the status of migraton. - [x] lift to `-X` - [x] `-Yresolve-term-conflict` - [x] `-YnoGenericSig` - [x] `-Ydumpclasses` - [x] `-YjarCompressionLevel` - [x] `-YkindProjector` - [x] `-YdropComments` - [x] `-YcookComments` - [x] `-YreadComments` - [x] `-YnoDecodeStacktraces` - [x] `-YnoEnrichErrorMessages` - [x] `-YdebugMacros` - [ ] `-YjavaTasty`- deprecate in 3.7.0 - [ ] `-YjavaTastyOutput`- deprecate in 3.7.0 - [ ] `-YallowOutlineFromTasty`- deprecate in 3.7.0 - [x] lift to `-W` - [x] `-Wsafe-init` - [x] to be removed - [x] `--Yforce-inline-while-typing` // Note: this was already removed by 05eb7f7 - [ ] TBD - [ ] `-YfromTastyIgnoreList` // this flag was not decided - [x] `-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. ```scala Deprecation( msg = "message", replacedBy = Some("newMessage"), ) ``` 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: - Scala 2: `-Xlint` is valid flag, - Scala pre 3.4: `-Xlint` was skipped as it was not implemented, - Scala post 3.4 pre flag refactor: `-Xlint` was implemented allowing for `all`, `private-shadow` and `type-parameter-shadow` options. It also bypassed argument verification allowing standalone `-Xlint` to be ignored, not reported as error, - Scala post 3.4 post flag refactor: This flag was then deprecated in favour of `-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.
1 parent 360d473 commit 5854959

File tree

142 files changed

+581
-279
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+581
-279
lines changed
Submodule Equal updated 1 file
Submodule Log updated 1 file
Submodule Lucre updated 1 file
Submodule Model updated 1 file
Submodule Serial updated 1 file
Submodule Span updated 1 file

0 commit comments

Comments
 (0)