File tree Expand file tree Collapse file tree 2 files changed +7
-1
lines changed
compiler/src/dotty/tools/dotc Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -670,6 +670,8 @@ class Definitions {
670
670
@ tu lazy val ClassTagClass : ClassSymbol = requiredClass(" scala.reflect.ClassTag" )
671
671
@ tu lazy val ClassTagModule : Symbol = ClassTagClass .companionModule
672
672
@ tu lazy val ClassTagModule_apply : Symbol = ClassTagModule .requiredMethod(nme.apply)
673
+ @ tu lazy val ReflectPackageClass : Symbol = requiredPackage(" scala.reflect.package" ).moduleClass
674
+
673
675
674
676
@ tu lazy val QuotedExprClass : ClassSymbol = requiredClass(" scala.quoted.Expr" )
675
677
@ tu lazy val QuotedExprModule : Symbol = QuotedExprClass .companionModule
Original file line number Diff line number Diff line change @@ -148,7 +148,11 @@ class PostTyper extends MacroTransform with IdentityDenotTransformer { thisPhase
148
148
checkInferredWellFormed(tree.tpt)
149
149
val sym = tree.symbol
150
150
if sym.isScala2Macro && ! ctx.settings.XignoreScala2Macros .value then
151
- if ! sym.owner.unforcedDecls.exists(p => ! p.isScala2Macro && p.name == sym.name && p.signature == sym.signature) then
151
+ if ! sym.owner.unforcedDecls.exists(p => ! p.isScala2Macro && p.name == sym.name && p.signature == sym.signature)
152
+ // Allow scala.reflect.materializeClassTag to be able to compile scala/reflect/package.scala
153
+ // This should be removed on Scala 3.1
154
+ && sym.owner != defn.ReflectPackageClass
155
+ then
152
156
report.error(" No Scala 3 implementation found for this Scala 2 macro." , tree.sourcePos)
153
157
case _ =>
154
158
processMemberDef(tree)
You can’t perform that action at this time.
0 commit comments