You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some flags do not fall under the definition of the
flags that are not mutated during completion. However,
in practice, they are almost never mutated on completion
and such an event is easy to predict. An example of such
a flag is `deferred` which is set only when compiling
opaque types – this is part of what makes opaque types work.
It is reasonable, hence, to make sure denotations are counted
as current even though they have some of such flags if
when querying these flags we can predict that they will not
change during completion.
if (myInfo.isInstanceOf[SymbolLoader]) FromStartFlags
207
-
elseAfterLoadFlags)
207
+
elseAfterLoadFlags
208
+
valmutableFlagsBeingQueried= fs &~ immutableFlags
209
+
210
+
mutableFlagsBeingQueried.isEmpty || ( // All flags are immutable wrt completion
211
+
mutableFlagsBeingQueried <=ConditionallyImmutableFlags.flags &&// All the mutable flags being queried are not mutated during completion under certain conditions
212
+
ConditionallyImmutableFlags.flagsAndConditions.forall { case (flag, condition) =>
0 commit comments