Skip to content

fix: library dependencies cannot be hijacked by same-name maps - #22

Merged
ronaldtse merged 1 commit into
mainfrom
fix/any-imported-string-alias-class
Oct 1, 2026
Merged

ronaldtse merged 1 commit into
mainfrom
fix/any-imported-string-alias-class

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

A library dependency (posix, unicode) contributes aliases through the .iml harvest. When a load path also holds an emitted map of the same name — the Ruby bridge writes generated unicode.isc next to the maps it serves — the map-import branch shadowed the library, and its plain-string aliases rendered as literal sequences instead of classes: alalc-ell's any(greek) guards compiled to the literal 300-character Greek alphabet and γ-nasalization never fired (γκέγκε → gkegke).

Library names now claim their dependency slot when the .iml exists, and an imported alias resolving to a plain string inside any() also compiles as a class. The qualified-404 pins stay literal — bare references are untouched.

Bridge legs re-verified through rspec: alalc-ell-2010 242/0, odni-ara-2004 20/0, odni-ara-2015 20/0. Suite 52 passed / 1 xpassed.

A library dependency (posix, unicode) contributes aliases through
the .iml harvest. When a load path also holds an emitted map of the
same name — the Ruby bridge writes generated unicode.isc next to the
maps it serves — the map-import branch shadowed the library and its
plain-string aliases rendered as literal sequences instead of
classes: alalc-ell's any(greek) guards compiled to the literal
300-character alphabet and gamma nasalization never fired.

Library names now claim their dependency slot when the .iml exists;
an imported alias resolving to a plain string inside any() also
compiles as a class (the qualified 404 pins stay literal — bare
references are untouched).
@ronaldtse
ronaldtse merged commit e91fd7d into main Oct 1, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant