diff --git a/tests/neg/tasty-string-interpolator-position-a.check b/tests/neg/tasty-string-interpolator-position-a.check new file mode 100644 index 000000000000..75feca5bdc45 --- /dev/null +++ b/tests/neg/tasty-string-interpolator-position-a.check @@ -0,0 +1,2 @@ +<46..65> in Test_2.scala +there are no parts diff --git a/tests/neg/tasty-string-interpolator-position-a/Macro_1.scala b/tests/neg/tasty-string-interpolator-position-a/Macro_1.scala new file mode 100644 index 000000000000..769d29069f8a --- /dev/null +++ b/tests/neg/tasty-string-interpolator-position-a/Macro_1.scala @@ -0,0 +1,21 @@ +import scala.quoted._ +import scala.tasty.Reflection +import scala.language.implicitConversions +import scala.quoted.Exprs.LiftedExpr +import scala.quoted.Toolbox.Default._ + +object Macro { + + implicit inline def (strCtx: => StringContext) f2 (args: =>Any*): String = ${FIntepolator.apply('strCtx, 'args)} + +} + +object FIntepolator { + + def apply(strCtxExpr: Expr[StringContext], argsExpr: Expr[Seq[Any]])(implicit reflect: Reflection): Expr[String] = { + import reflect._ + error("there are no parts", strCtxExpr.unseal.underlyingArgument.pos) + '{ ($strCtxExpr).s($argsExpr: _*) } + } + +} diff --git a/tests/neg/tasty-string-interpolator-position-a/Test_2.scala b/tests/neg/tasty-string-interpolator-position-a/Test_2.scala new file mode 100644 index 000000000000..0b335d55c40c --- /dev/null +++ b/tests/neg/tasty-string-interpolator-position-a/Test_2.scala @@ -0,0 +1,8 @@ + +import Macro._ + +object Test extends App { + + new StringContext().f2() // error + +} diff --git a/tests/neg/tasty-string-interpolator-position-b.check b/tests/neg/tasty-string-interpolator-position-b.check new file mode 100644 index 000000000000..c903bfb69b24 --- /dev/null +++ b/tests/neg/tasty-string-interpolator-position-b.check @@ -0,0 +1,2 @@ +<65..65> in Test_2.scala +there are no args diff --git a/tests/neg/tasty-string-interpolator-position-b/Macro_1.scala b/tests/neg/tasty-string-interpolator-position-b/Macro_1.scala new file mode 100644 index 000000000000..d4d2466c5168 --- /dev/null +++ b/tests/neg/tasty-string-interpolator-position-b/Macro_1.scala @@ -0,0 +1,21 @@ +import scala.quoted._ +import scala.tasty.Reflection +import scala.language.implicitConversions +import scala.quoted.Exprs.LiftedExpr +import scala.quoted.Toolbox.Default._ + +object Macro { + + implicit inline def (strCtx: => StringContext) f3 (args: =>Any*): String = ${FIntepolator.apply('strCtx, 'args)} + +} + +object FIntepolator { + + def apply(strCtxExpr: Expr[StringContext], argsExpr: Expr[Seq[Any]])(implicit reflect: Reflection): Expr[String] = { + import reflect._ + error("there are no args", argsExpr.unseal.underlyingArgument.pos) + '{ ($strCtxExpr).s($argsExpr: _*) } + } + +} diff --git a/tests/neg/tasty-string-interpolator-position-b/Test_2.scala b/tests/neg/tasty-string-interpolator-position-b/Test_2.scala new file mode 100644 index 000000000000..2242deada224 --- /dev/null +++ b/tests/neg/tasty-string-interpolator-position-b/Test_2.scala @@ -0,0 +1,8 @@ + +import Macro._ + +object Test extends App { + + new StringContext().f3() // error + +}