diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-01-16 11:57:32 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-01-16 11:57:32 -0800 |
commit | 0b718ef09336570ca0a88794317037234c51d891 (patch) | |
tree | b2a6931d7c6640ca3107561e38038be7d8538a34 | |
parent | 681308a3aa737be1dae0f702fddadce88c70f90e (diff) | |
parent | 973c7066b8e0ab3529ce42989091f31d410a32ab (diff) | |
download | scala-0b718ef09336570ca0a88794317037234c51d891.tar.gz scala-0b718ef09336570ca0a88794317037234c51d891.tar.bz2 scala-0b718ef09336570ca0a88794317037234c51d891.zip |
Merge pull request #3372 from densh/si/8148
fix anonymous functions with placeholders in quasiquotes
-rw-r--r-- | src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala | 4 | ||||
-rw-r--r-- | test/files/scalacheck/quasiquotes/TermConstructionProps.scala | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala b/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala index 6e6b617e5c..1bd9323752 100644 --- a/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala +++ b/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala @@ -55,7 +55,7 @@ trait Parsers { self: Quasiquotes => def isHole(name: Name): Boolean = holeMap.contains(name) - override implicit def fresh: FreshNameCreator = new FreshNameCreator(nme.QUASIQUOTE_PREFIX) + override implicit lazy val fresh: FreshNameCreator = new FreshNameCreator(nme.QUASIQUOTE_PREFIX) override val treeBuilder = new ParserTreeBuilder { override implicit def fresh: FreshNameCreator = parser.fresh @@ -193,4 +193,4 @@ trait Parsers { self: Quasiquotes => } object FreshName extends FreshNameExtractor(nme.QUASIQUOTE_PREFIX) -}
\ No newline at end of file +} diff --git a/test/files/scalacheck/quasiquotes/TermConstructionProps.scala b/test/files/scalacheck/quasiquotes/TermConstructionProps.scala index 6fb05ff9a4..38fbfa9f7f 100644 --- a/test/files/scalacheck/quasiquotes/TermConstructionProps.scala +++ b/test/files/scalacheck/quasiquotes/TermConstructionProps.scala @@ -224,4 +224,9 @@ object TermConstructionProps extends QuasiquoteProperties("term construction") { property("SI-8009") = test { q"`foo`".asInstanceOf[reflect.internal.SymbolTable#Ident].isBackquoted } + + property("SI-8148") = test { + val q"($a, $b) => $_" = q"_ + _" + assert(a.name != b.name) + } } |