@@ -298,7 +298,7 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
298298
299299 object ValDef extends ValDefModule :
300300 def apply (symbol : Symbol , rhs : Option [Term ]): ValDef =
301- tpd.ValDef (symbol.asTerm, xCheckMacroedOwners(xCheckMacroValidExpr(rhs), symbol).getOrElse(tpd.EmptyTree ))
301+ withDefaultPos( tpd.ValDef (symbol.asTerm, xCheckMacroedOwners(xCheckMacroValidExpr(rhs), symbol).getOrElse(tpd.EmptyTree ) ))
302302 def copy (original : Tree )(name : String , tpt : TypeTree , rhs : Option [Term ]): ValDef =
303303 tpd.cpy.ValDef (original)(name.toTermName, tpt, xCheckMacroedOwners(xCheckMacroValidExpr(rhs), original.symbol).getOrElse(tpd.EmptyTree ))
304304 def unapply (vdef : ValDef ): (String , TypeTree , Option [Term ]) =
@@ -1474,7 +1474,7 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
14741474
14751475 object Bind extends BindModule :
14761476 def apply (sym : Symbol , pattern : Tree ): Bind =
1477- tpd.Bind (sym, pattern)
1477+ withDefaultPos( tpd.Bind (sym, pattern) )
14781478 def copy (original : Tree )(name : String , pattern : Tree ): Bind =
14791479 withDefaultPos(tpd.cpy.Bind (original)(name.toTermName, pattern))
14801480 def unapply (pattern : Bind ): (String , Tree ) =
@@ -2395,7 +2395,10 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
23952395
23962396 object Implicits extends ImplicitsModule :
23972397 def search (tpe : TypeRepr ): ImplicitSearchResult =
2398- ctx.typer.inferImplicitArg(tpe, Position .ofMacroExpansion.span)
2398+ val implicitTree = ctx.typer.inferImplicitArg(tpe, Position .ofMacroExpansion.span)
2399+ import tpd .TreeOps
2400+ implicitTree.foreachSubTree(tree => dotc.typer.Inferencing .fullyDefinedType(tree.tpe, " " , tree))
2401+ implicitTree
23992402 end Implicits
24002403
24012404 type ImplicitSearchResult = Tree
0 commit comments