summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/reflect/internal/Symbols.scala8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/compiler/scala/reflect/internal/Symbols.scala b/src/compiler/scala/reflect/internal/Symbols.scala
index 42265d6969..533a343589 100644
--- a/src/compiler/scala/reflect/internal/Symbols.scala
+++ b/src/compiler/scala/reflect/internal/Symbols.scala
@@ -2322,11 +2322,13 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
}
override def sourceModule = module
private var implicitMembersCacheValue: List[Symbol] = List()
- private var implicitMembersCacheKey: Type = NoType
+ private var implicitMembersCacheKey1: Type = NoType
+ private var implicitMembersCacheKey2: ScopeEntry = null
def implicitMembers: List[Symbol] = {
val tp = info
- if (implicitMembersCacheKey ne tp) {
- implicitMembersCacheKey = tp
+ if ((implicitMembersCacheKey1 ne tp) || (implicitMembersCacheKey2 ne tp.decls.elems)) {
+ implicitMembersCacheKey1 = tp
+ implicitMembersCacheKey2 = tp.decls.elems
implicitMembersCacheValue = tp.implicitMembers
}
implicitMembersCacheValue