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
This fixes problems encountered for #15923 where we got infinite
recursions
caused by infinite streams of new ResultCap instances that were added to
capture sets.
The analysis of the problem showed that there is a cycle of dependencies
involving
both forwards and backwards propagations of ResultCap instances between
BiMapped capture sets linked by SubstBindingMaps. Each propagation would
create a new derived ResultCap instance.
We could try to solve the problem by having SubstBindingMaps remember
their mappings
and have their inverses work backwards. But that could still produce an
infinite stream
if there was a cycle of SubstBindingMaps of length > 2. So we fix the
problem at the
root by allowing only one derived ResultCap instance per original
ResultCap / binder pair.
Fixes#15923
Based on #23184. Only last commit is new.
0 commit comments