@@ -1694,7 +1694,7 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
16941694 end SimpleSelectorTypeTest
16951695
16961696 object SimpleSelector extends SimpleSelectorModule :
1697- def apply (name : String ): SimpleSelector =
1697+ def apply (name : String ): SimpleSelector =
16981698 withDefaultPos(untpd.ImportSelector (untpd.Ident (name.toTermName)))
16991699 def unapply (x : SimpleSelector ): Some [String ] = Some (x.name.toString)
17001700 end SimpleSelector
@@ -1837,11 +1837,14 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
18371837 def termSymbol : Symbol = self.termSymbol
18381838 def isSingleton : Boolean = self.isSingleton
18391839 def memberType (member : Symbol ): TypeRepr =
1840- // we use thisType to avoid resolving otherwise unstable prefixes into Nothing
1841- val classSymbol = self.classSymbol
1842- member.info
1843- .asSeenFrom(classSymbol.thisType, member.owner)
1844- .substThis(classSymbol.asClass, self) // and we remove the previously added This(_) for compatibility
1840+ // we replace thisTypes here to avoid resolving otherwise unstable prefixes into Nothing
1841+ val memberInfo =
1842+ if self.typeSymbol.isClassDef then
1843+ member.info.substThis(self.classSymbol.asClass, self)
1844+ else
1845+ member.info
1846+ memberInfo
1847+ .asSeenFrom(self, member.owner)
18451848
18461849 def baseClasses : List [Symbol ] = self.baseClasses
18471850 def baseType (cls : Symbol ): TypeRepr = self.baseType(cls)
0 commit comments