Skip to content

Commit 1f148a1

Browse files
Make SIP-62 better-fors a stable feature (#23630)
1 parent d7f3a80 commit 1f148a1

File tree

16 files changed

+68
-140
lines changed

16 files changed

+68
-140
lines changed

compiler/src/dotty/tools/dotc/config/SourceVersion.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ enum SourceVersion:
4343
def enablesClauseInterleaving = isAtLeast(`3.6`)
4444
def enablesNewGivens = isAtLeast(`3.6`)
4545
def enablesNamedTuples = isAtLeast(`3.7`)
46-
def enablesBetterFors(using Context) = isAtLeast(`3.7`) && isPreviewEnabled
46+
def enablesBetterFors = isAtLeast(`3.8`)
4747

4848
def requiresNewSyntax = isAtLeast(future)
4949

compiler/test/dotty/tools/debug/DebugTests.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ class DebugTests:
1919
CompilationTest.aggregateTests(
2020
compileFile("tests/debug-custom-args/eval-explicit-nulls.scala", TestConfiguration.explicitNullsOptions),
2121
compileFilesInDir("tests/debug", TestConfiguration.defaultOptions),
22-
compileFilesInDir("tests/debug-preview", TestConfiguration.defaultOptions.and("-preview"))
2322
).checkDebug()
2423

2524
object DebugTests extends ParallelTesting:

docs/_docs/reference/preview/better-fors.md renamed to docs/_docs/reference/other-new-features/better-fors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "Better fors"
44
nightlyOf: https://docs.scala-lang.org/scala3/reference/preview/better-fors.html
55
---
66

7-
Starting in Scala `3.7` under `-preview` mode, the usability of `for`-comprehensions is improved.
7+
Starting in Scala `3.8` or under `-preview` mode using Scala `3.7`, the usability of `for`-comprehensions has improved.
88

99
The biggest user facing change is the new ability to start `for`-comprehensions with aliases. This means that the following previously invalid code is now valid:
1010

docs/_docs/reference/preview/overview.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,4 @@ This flag enables the use of all preview language feature in the project.
2121

2222
## List of available preview features
2323

24-
* [`better-fors`](./better-fors.md): Enables new for-comprehension behaviour under SIP-62 under `-source:3.7` or later
25-
24+
Currently there are no available preview features.

docs/sidebar.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ subsection:
8989
- page: reference/other-new-features/preview-defs.md
9090
- page: reference/other-new-features/binary-literals.md
9191
- page: reference/other-new-features/toplevel-definitions.md
92+
- page: reference/other-new-features/better-fors.md
9293
- title: Other Changed Features
9394
directory: changed-features
9495
index: reference/changed-features/changed-features.md
@@ -143,8 +144,6 @@ subsection:
143144
- title: Preview Features
144145
directory: preview
145146
index: reference/preview/overview.md
146-
subsection:
147-
- page: reference/preview/better-fors.md
148147
- title: Experimental Features
149148
directory: experimental
150149
index: reference/experimental/overview.md

presentation-compiler/test/dotty/tools/pc/tests/tokens/SemanticTokensSuite.scala

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ import java.nio.file.Path
66
import org.junit.Test
77

88
class SemanticTokensSuite extends BaseSemanticTokensSuite:
9-
// -preview required for `for-comprehension` test
10-
override protected def scalacOptions(classpath: Seq[Path]): Seq[String] =
11-
super.scalacOptions(classpath) ++ Seq("-preview")
129

1310
@Test def `class, object, var, val(readonly), method, type, parameter, String(single-line)` =
1411
check(

tests/debug-preview/eval-in-for-comprehension.check

Lines changed: 0 additions & 27 deletions
This file was deleted.

tests/debug-preview/eval-in-for-comprehension.scala

Lines changed: 0 additions & 14 deletions
This file was deleted.

tests/debug/eval-in-for-comprehension.check

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,9 @@ eval list(0)
88
result 1
99
eval x
1010
result 1
11-
break Test$ 6 // in main$$anonfun$1$$anonfun$adapted$1
1211
break Test$ 7 // in main$$anonfun$1$$anonfun$1
1312
eval x + y
1413
result 2
15-
// TODO this line position does not make any sense
16-
break Test$ 6 // in main$$anonfun$1$$anonfun$1
17-
break Test$ 7 // in main$$anonfun$1$$anonfun$1
18-
break Test$ 6 // in main$$anonfun$1$$anonfun$2
19-
break Test$ 6 // in main$$anonfun$1$$anonfun$2
20-
break Test$ 7 // in main$$anonfun$1$$anonfun$2
2114

2215
break Test$ 11 // in main$$anonfun$2
2316
eval x

tests/pos/better-fors-given.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
//> using options -preview
2-
31
@main def Test: Unit =
42
for
53
x <- Option(23 -> "abc")

0 commit comments

Comments
 (0)