You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A refused binary import leaves its stub directory in the temp dir #3485
ae build (and ae run) of a program with a binary import writes the import stubs to $TMPDIR/ae-binimport-<pid>-<n> (tools/ae.c, around ae-binimport-%d-%d). When the import is refused, for example by ae_refuse_split_ownership or ae_lib_check_compat, the refusal calls exit(1) and the directory stays behind.
To see it on Windows: build a static-runtime library whose export passes a struct holding a string, import it from a program, and run ae build. The build is refused, as it should be, and %TEMP%\ae-binimport-<pid>-0 is left with the stub in it. Every refused build leaves one more.
Expected: a refused import removes its stub directory, as a build that succeeds does.
Scale on one Windows dev machine: 1,168 ae-binimport-<pid>-0 folders under C:\msys64\tmp (MSYS2's /tmp), dating back to 2026-10-06. Today's came from tests whose imports are refused by design: abi_policy (fake.ae), binary_import_ownership (rec.ae, frees.ae), binary_import_structs (engine.ae), abi_matrix (mlib.ae). So every local run of those tests adds a few, and CI runners do too.
Activity
nicolas-maman commentedon Oct 30, 2026
Scale on one Windows dev machine: 1,168
ae-binimport-<pid>-0folders underC:\msys64\tmp(MSYS2's /tmp), dating back to 2026-10-06. Today's came from tests whose imports are refused by design: abi_policy (fake.ae), binary_import_ownership (rec.ae,frees.ae), binary_import_structs (engine.ae), abi_matrix (mlib.ae). So every local run of those tests adds a few, and CI runners do too.fix: a refused binary import removes its stub directory (#3485)
Merge pull request #3508 from aether-lang-dev/test/abi-policy-stubdir
test: abi_policy's catalog imports leave no stub directory (aether-la…