diff --git a/compiler/src/dotty/tools/dotc/ast/Desugar.scala b/compiler/src/dotty/tools/dotc/ast/Desugar.scala index c515ca94c93c..9d4c0d66e2e4 100644 --- a/compiler/src/dotty/tools/dotc/ast/Desugar.scala +++ b/compiler/src/dotty/tools/dotc/ast/Desugar.scala @@ -298,7 +298,7 @@ object desugar { rhs = vparam.rhs ) .withMods(Modifiers( - meth.mods.flags & (AccessFlags | Synthetic), + meth.mods.flags & (AccessFlags | Synthetic) | (vparam.mods.flags & Inline), meth.mods.privateWithin)) val rest = defaultGetters(vparams :: paramss1, n + 1) if vparam.rhs.isEmpty then rest else defaultGetter :: rest diff --git a/tests/pos-macros/i11835/X.scala b/tests/pos-macros/i11835/X.scala new file mode 100644 index 000000000000..ccc05e9e57c3 --- /dev/null +++ b/tests/pos-macros/i11835/X.scala @@ -0,0 +1,12 @@ +import scala.quoted.* + +object X: + inline def blah(inline b: Boolean = true): Unit = + ${ _blah('b) } + + private def _blah(b: Expr[Boolean])(using Quotes): Expr[Unit] = + import quotes.reflect.* + println("="*120) + println(b.asTerm) + println(b.valueOrError) + '{()} diff --git a/tests/pos-macros/i11835/Y.scala b/tests/pos-macros/i11835/Y.scala new file mode 100644 index 000000000000..6ad25ea0faec --- /dev/null +++ b/tests/pos-macros/i11835/Y.scala @@ -0,0 +1,3 @@ +object Y: + X.blah(true) // ok + X.blah() // error