Files
sx/examples/comptime/0638-comptime-domain-fn-not-emitted.sx
agra 66bdc70bf1 test: group examples into per-category folders
Move examples/*.sx and their expected/ snapshots into per-category
subfolders (examples/<category>/...). Folder = leading filename token,
with ffi-objc/ffi-jni kept whole; filenames are unchanged. The corpus
runner and LSP sweep now discover each category's expected/ dir, while
issues/ stays flat. Example 1058's repo-root-relative companion import
is made file-relative. Path strings embedded in 164 snapshots were
regenerated (path-only changes). Test-layout docs in CLAUDE.md updated.
2026-06-21 14:41:34 +03:00

17 lines
605 B
Plaintext

// A BODIED `abi(.compiler)` function is a compiler-domain function: the comptime
// evaluator runs its sx body, but it is NEVER lowered into the shipped binary
// (emit_llvm skips it, like an extern). Here `double` folds the `#run` const at
// compile time; `main` only ever sees the folded constant, and no `double` symbol
// exists in the binary. (Regression for the S3 step of the abi(.compiler) work —
// see current/PLAN-COMPILER-VM.md.)
#import "modules/std.sx";
double :: (x: i64) -> i64 abi(.compiler) { x * 2 }
answer :: #run double(42);
main :: () {
print("answer = {}\n", answer);
}