Це помилка. Що було виправлено за допомогою https://github.com/rakudo/rakudo/commit/f70d95e299 .
Причина, з якої вона діяла інакше, Ratніж для будь-якого іншого типу, полягає в тому, що Ratсправа була оптимізована таким чином, що не потрібно робити жодного примусу, і, таким чином, не потрібно перевіряти результат примусу. У цьому випадку значення було поставлено безпосередньо в новий Durationоб’єкт. Однак це було зроблено без дезактивації, тому Durationоб’єкт насправді буде посилатися на змінну $xз вашого прикладу. Це взагалі добре, але .gistлогіка якось створила нескінченний цикл, який намагався створити уявлення про те, Durationчерез це самонаправлення. Потрібно визнати, я не дуже заглянув, де саме потрапив у цикл.
У будь-якому випадку, переконуючись, що значення стає деконцентризованим всередині Durationоб'єкта, проблема відходить, тому що вона вже не може самостійно посилатися.