diff --git a/compiler/src/dotty/tools/dotc/typer/QuotesAndSplices.scala b/compiler/src/dotty/tools/dotc/typer/QuotesAndSplices.scala index 4a9102df211d..31f73852c211 100644 --- a/compiler/src/dotty/tools/dotc/typer/QuotesAndSplices.scala +++ b/compiler/src/dotty/tools/dotc/typer/QuotesAndSplices.scala @@ -192,7 +192,7 @@ trait QuotesAndSplices { assignType(tree, tpt) private def checkSpliceOutsideQuote(tree: untpd.Tree)(using Context): Unit = - if (level == 0 && !ctx.owner.ownersIterator.exists(_.is(Inline))) + if (level == 0 && !ctx.owner.ownersIterator.exists(_.isInlineMethod)) report.error("Splice ${...} outside quotes '{...} or inline method", tree.srcPos) else if (level < 0) report.error( diff --git a/tests/neg-macros/i14679.scala b/tests/neg-macros/i14679.scala new file mode 100644 index 000000000000..c6799a8f2f94 --- /dev/null +++ b/tests/neg-macros/i14679.scala @@ -0,0 +1,7 @@ +import scala.quoted.* + +object A { + inline val a = ${b} // error + + def b(using Quotes): Expr[Unit] = '{ () } +}