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
Revert "Ensure consistent variable binding times (#3217)" (#3278)
This reverts commit 40c4705.
The implementation in #3217 makes some wrong assumptions and merely
hides the underlying bug, it does not fix it. Since this should only
cause missed optimizations at worse, let's revert until we figure out a
proper fix rather than stacking band-aids.
More precisely, the implementation in #3217 assumes that shared prefixes
in environments are created before forking the environment, i.e. that
the history looks like this, with a single definition for each variable:
```
fork <-------------\
| \
define a |
| |
define b +--- join arguments
/ | \ |
/ | \ |
use1 use2 use3 |
^ ^ ^ /
+-----+-----+----------/
```
In practice this does not hold, and variables can be defined multiple
times in distinct environments -- causing them to have multiple binding
times globally.
0 commit comments