{"atom":"regression/colon-arg-anon-class-has","family":"regression","slug":"colon-arg-anon-class-has","header":{"atom":"regression/colon-arg-anon-class-has","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/colon-arg-anon-class-has.raku","counts":{"a":1,"f":0,"d":0,"c":0,"r":0,"n":0},"files":["atoms/regression/colon-arg-anon-class-has.grid"],"records":[["0001","","# BROKE: leg 18 — the new \"has outside a class\" diagnostic fired inside\n# anonymous-class bodies reached through colon-args (`Seq.new: class :: ...`),\n# which parse their statements via parseStatement, not parseClass: the whole\n# file died at parse (S32-list/tail.t 51/57 -> GONE, caught by gate dg1).\n# FIXED: same leg — the check only fires at true program top level.\n# (The construct's RUNTIME shape is still degenerate in rakupp; what this\n# case locks is that the file PARSES — that is what regressed.)\nsub make-thing {\n    Seq.new: class :: does Iterable {\n        has $!i;\n        method thing { 42 }\n    }.new\n}\nsay 'PASS';","output PASS","a",["PASS","PASS"],0,[["budget","20s"]]]]}