bug_ref_fn
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| bug_ref_fn [2025/12/14 03:35] – snegovick | bug_ref_fn [2025/12/15 11:29] (текущий) – [Workaround] snegovick | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| Эта страница посвящена поиску бага связанного с вызовом функции init в произвольном модуле из другого модуля, | Эта страница посвящена поиску бага связанного с вызовом функции init в произвольном модуле из другого модуля, | ||
| + | |||
| + | [[https:// | ||
| ====== Описание ====== | ====== Описание ====== | ||
| Строка 81: | Строка 83: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ====== Workaround ====== | ||
| + | |||
| + | Добавление проблемной функции в объявление модуля помогает решить проблему: | ||
| + | |||
| + | < | ||
| + | Sh93: module | ||
| + | { | ||
| + | init: fn(ctxt: ref Draw-> | ||
| + | empty: fn(); | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | Lets check libinterp/ | ||
| + | [ for(l = m->ext; l->name; l++)](https:// | ||
| + | iterates over init and empty. | ||
| + | |||
| + | When you add empty to module definition explicitly, then this loop only makes single iteration with init. | ||
| + | |||
| + | Limbo does not have anonymous functions (lambdas) as far as I know, so this issue just leads to inconvenience of declaration of functions you normally would prefer not to declare. | ||
bug_ref_fn.1765683345.txt.gz · Последнее изменение: — snegovick
