Skip to content

Commit 4798f1d

Browse files
Merge pull request #11840 from dotty-staging/fix-11835
Fix #11835: respect inline flag for default values of inline parameters
2 parents 3d70c6c + 5f3de54 commit 4798f1d

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

compiler/src/dotty/tools/dotc/ast/Desugar.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ object desugar {
298298
rhs = vparam.rhs
299299
)
300300
.withMods(Modifiers(
301-
meth.mods.flags & (AccessFlags | Synthetic),
301+
meth.mods.flags & (AccessFlags | Synthetic) | (vparam.mods.flags & Inline),
302302
meth.mods.privateWithin))
303303
val rest = defaultGetters(vparams :: paramss1, n + 1)
304304
if vparam.rhs.isEmpty then rest else defaultGetter :: rest

tests/pos-macros/i11835/X.scala

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import scala.quoted.*
2+
3+
object X:
4+
inline def blah(inline b: Boolean = true): Unit =
5+
${ _blah('b) }
6+
7+
private def _blah(b: Expr[Boolean])(using Quotes): Expr[Unit] =
8+
import quotes.reflect.*
9+
println("="*120)
10+
println(b.asTerm)
11+
println(b.valueOrError)
12+
'{()}

tests/pos-macros/i11835/Y.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
object Y:
2+
X.blah(true) // ok
3+
X.blah() // error

0 commit comments

Comments
 (0)