Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Categories:

Ссылочная непрозрачность 80 уровня

Полдня убил на загадку. Выносишь строчку с AE::Timer в другой модуль, неважно в глобальную секцию или в подпрограмму - перестает работать.
my $t = AE::timer(0, 0.2, sub { warn 'Foo'; });
use AnyEvent;
use Event;
Event::loop();
Это я полдня убил на локализацию проблемы ещё. Но нашёл четкий ответ. Представьте, это не баг, а фича. Интересно, кто-то догадается без подсказок. Порядок строк переставлен по приколу, разгадка не в нём.

Upd: помимо этой проблемы, ещё передавал в тестах вместо массива массив массивов. Ессно когда встроил в систему начал передаваться массив, и всё поломалось. Но т.к. имплисит касты, всё было тихо, и грешил на всякую ерунду. Решил эту ерунду продиагностировать - и напоролся на пример с таймером. Тьфу. Говорила мне бабушка - не используй внучек слабых типов в канун рождества.
Tags: programming, все пидарасы а я
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 15 comments