Поставил на «посмотреть» GNU Smalltalk.
Пишу в repl:
| dict |
dict := Dictionary new
dict at: 'self' put: dict
Падает с забавными криками:
"Global garbage collection... done, heap compacted"
"Global garbage collection... done, heap grown"
"Global garbage collection... done, heap grown"
"Global garbage collection... done, heap compacted"
"Global garbage collection... done, heap grown"
"Global garbage collection... Segmentation fault
Если передавать (dict copy), то всё в порядке.
Прошу объяснить что происходит в первом варианте, когда оно падает.