Composite objects are reference-counted, so `/a 1 array def a 0 a put` (or two dictionaries naming each other) outlived the import: emptying the standard dictionaries and the stacks doesn't break a cycle, least of all one the program no longer reaches. Up to the interpreter's whole memory budget could stay allocated per imported file. The interpreter now lists the arrays and dictionaries it makes (weakly, swept as they are dropped) and empties the ones still alive when it is done. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||