Skip to content

Preserve parameterized bounds and resolve generated Rust module symbols - #232

Open
linouxis9 wants to merge 1 commit into
librasn:mainfrom
linouxis9:oxirush/ap-parameter-and-module-resolution
Open

linouxis9 wants to merge 1 commit into
librasn:mainfrom
linouxis9:oxirush/ap-parameter-and-module-resolution

Conversation

@linouxis9

@linouxis9 linouxis9 commented Sep 30, 2026 •

Copy link
Copy Markdown

Parameterized types can lose forwarded bounds/type arguments or omit COMPONENTS OF members during instantiation. Generated imports can name nonexistent Rust items, and colliding ASN.1 names can produce inconsistent declarations and references.

Defer template linking until instantiation, substitute forwarded formal TYPE references and resolve direct VALUE actuals before callee bindings, and restore deferred structural linking. Collect imports after linking, exclude templates/classes, and preserve qualified TYPE references. Assign deterministic top-level names consistently across declarations, references and default helpers, with aliases for explicit-import conflicts.

Generated suffixes, import aliases and named wrappers may change. Existing inline-TYPE/qualified-VALUE capture, remaining COMPONENTS OF paths, anonymous-helper collisions and wildcard ambiguity are outside this fix.

Related: librasn/rasn#503, #162 and #174; the name mapping extends #174 to references and imports.

@linouxis9
linouxis9 marked this pull request as ready for review September 30, 2026 01:05
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