Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## v0.5.1235 — renamed colliding classes: static calls + static field get/set resolve `class_renames`

Follow-up to v0.5.1230's capture-snapshot work, fixing its own acceptance test (`same_class_name_across_factories_keeps_snapshots_separate`, red on main — invisible to PR CI per the #5960 blind spot): a body-local `class X` colliding with an outer/prior `class X` registers under a scope-local rename, and bare-ident references + `new X()` already resolve it — but the static-method-call arm (Ident + #private) and the static-field get/set arms looked up the raw name, binding the FIRST same-named registrant. Factory B's `e.who()` dispatched to factory A's static and read A's snapshot. All four arms now resolve the rename before the class lookups; imports keep the raw name. Adds `renamed_class_statics_dispatch_to_renamed_registrant` (statics + construction across two factories); full class/static/capture/5437/w6 e2e sweep green.

## v0.5.1234 — #806: no-own-ctor walk binds the ancestor ctor with caps-absent semantics

The parent walk for a ctor-free subclass forwarded the `new`-site's `caps_absent_from_args` into the ancestor's `CaptureFill`, deriving the user/cap tail-split from the ANCESTOR's cap params. But a bare-ident site appends the LEAF's captures, and a capturing leaf always synthesizes an own ctor — a leaf reaching the walk appended nothing, so trailing user args were eaten into cap slots (the decl-site snapshot silently rescued the cap itself; only the user args were lost). `new WrappedLogged("alpha")` bound the mixin ctor's `seed` to undefined. The ancestor fill is now unconditionally caps-absent.
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

Perry is a native TypeScript compiler written in Rust that compiles TypeScript source code directly to native executables. It uses SWC for TypeScript parsing and LLVM for code generation.

**Current Version:** 0.5.1234
**Current Version:** 0.5.1235


## TypeScript Parity Status
Expand Down
Loading
Loading