File tree 1 file changed +10
-10
lines changed
docs/docs/reference/metaprogramming
1 file changed +10
-10
lines changed Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ object Logger {
33
33
The ` Config ` object contains a definition of the ** inline value** ` logging ` .
34
34
This means that ` logging ` is treated as a _ constant value_ , equivalent to its
35
35
right-hand side ` false ` . The right-hand side of such an ` inline val ` must itself
36
- be a [ constant expression] ( https://scala-lang.org/files/archive/spec/2.12 /06-expressions.html#constant-expressions ) .
36
+ be a [ constant expression] ( https://scala-lang.org/files/archive/spec/2.13 /06-expressions.html#constant-expressions ) .
37
37
Used in this way, ` inline ` is equivalent to Java and Scala 2's ` final ` . Note that ` final ` , meaning
38
38
_ inlined constant_ , is still supported in Dotty, but will be phased out.
39
39
@@ -108,16 +108,16 @@ inline def power(x: Double, n: Int): Double = {
108
108
val y = power(x, n / 2 )
109
109
if (n % 2 == 0 ) y * y else y * y * x
110
110
}
111
-
112
- power(expr, 10 )
113
- // translates to
114
- //
115
- // val x = expr
116
- // val y1 = x * x // ^2
117
- // val y2 = y1 * y1 // ^4
118
- // val y3 = y2 * x // ^5
119
- // y3 * y3 // ^10
120
111
}
112
+
113
+ power(expr, 10 )
114
+ // translates to
115
+ //
116
+ // val x = expr
117
+ // val y1 = x * x // ^2
118
+ // val y2 = y1 * y1 // ^4
119
+ // val y3 = y2 * x // ^5
120
+ // y3 * y3 // ^10
121
121
```
122
122
123
123
Parameters of inline methods can have an ` inline ` modifier as well. This means
You can’t perform that action at this time.
0 commit comments