{"atom":"regression/control-vs-catch-phaser","family":"regression","slug":"control-vs-catch-phaser","header":{"atom":"regression/control-vs-catch-phaser","kind":"whole-program — a minimal repro, not yet reduced to an atom","source":"curated"},"axes":null,"cols":null,"engines":["rakudo-2026.07","rakupp-3.14.0"],"kinds":["ref","pp"],"defFrom":"rakupp:t/regression/control-vs-catch-phaser.raku","counts":{"a":1,"f":0,"d":0,"c":0,"r":0,"n":0},"files":["atoms/regression/control-vs-catch-phaser.grid"],"records":[["0001","","# BROKE: leg 17 — X::Phaser::Multiple (\"only one CATCH per block\") counted\n# CONTROL blocks too, because CONTROL shares Block.isCatch internally;\n# S04-phasers/control.t and S32-exceptions/misc.t died at parse (caught by\n# gate dx6). FIXED: same leg — Block.phaser tags CATCH vs CONTROL and only\n# CATCH counts toward the limit. This locks that the combination PARSES.\nmy $reached = False;\n{\n    CONTROL { default { } }\n    CATCH   { default { } }\n    $reached = True;\n}\ndie 'CONTROL + CATCH in one block broken' unless $reached;\nsay 'PASS';","output PASS","a",["PASS","PASS"],0,[["budget","20s"]]]]}