The number of open searches.
A map that records for each class symbol of a type
that's currently searched for the complexity of the
type that is searched for (wrt typeSize
). The map
is populated only once searchDepth
is greater than
the threshold given in the XminImplicitSearchDepth
setting.
Check for possible divergence.
Check for possible divergence. If one is detected return the current search history
(this will be used as a criterion to abandon the implicit search in rankImplicits).
If no divergence is detected, produce a new search history nested in the current one
which records that we are now also looking for type proto
.
As long as searchDepth
is lower than the XminImplicitSearchDepth
value
in settings, a new history is always produced, so the implicit search is always
undertaken. If searchDepth
matches or exceeds the XminImplicitSearchDepth
value,
we test that the new search is for a class that is either not yet in the set of
seen
classes, or the complexity of the type proto
being searched for is strictly
lower than the complexity of the type that was previously encountered and that had
the same class symbol as proto
. A possible divergence is detected if that test fails.
The number of open searches.
A map that records for each class symbol of a type
that's currently searched for the complexity of the
type that is searched for (wrt typeSize
).
A map that records for each class symbol of a type
that's currently searched for the complexity of the
type that is searched for (wrt typeSize
). The map
is populated only once searchDepth
is greater than
the threshold given in the XminImplicitSearchDepth
setting.
Records the history of currently open implicit searches