fix(0130): #library/#framework collection recurses into nested namespaces

extractLibraries/extractFrameworks walked the merged root plus exactly
one namespace_decl level, so a #library reached through two or more
aliased imports never made it to the AOT link line or the JIT dlopen
list. Both walks now recurse over namespace_decl children.

Regression: examples/1617-modules-library-nested-namespace.sx binds
libpcap (not in the compiler's loaded images, so the JIT cannot mask
the miss via RTLD_DEFAULT) behind two aliased imports.
This commit is contained in:
agra
2026-06-12 15:59:36 +03:00
parent 1d17b0abcf
commit d739c5bf11
8 changed files with 179 additions and 38 deletions

View File

@@ -0,0 +1,10 @@
// Regression (issue 0130): a #library declared in a module reached through
// TWO aliased imports must still be linked (AOT) / dlopened (JIT).
#import "modules/std.sx";
b :: #import "1617-modules-library-nested-namespace/b.sx";
main :: () -> i32 {
v := b.version_via_b();
print("pcap version non-empty: {}\n", v.len > 0);
return 0;
}