Skip to content

fix: resolve run output path and propagate main's exit code - #18

Merged
stevanmilic merged 1 commit into
masterfrom
fix/run-output-paths-and-exit-code
Jul 29, 2026
Merged

fix: resolve run output path and propagate main's exit code#18
stevanmilic merged 1 commit into
masterfrom
fix/run-output-paths-and-exit-code

Conversation

@stevanmilic

Copy link
Copy Markdown
Collaborator

No description provided.

- `fuse run` passes the executor an absolute path; a bare program name
  resolved against PATH, not the working directory.
- `main() -> i32` sets the process exit status; other return types are
  wrapped to exit 0.
- `fuse build` emits an extensionless executable; `fuse check` prints to
  stdout.
- Monomorphization synthesizes self-instantiations for receiver-syntax
  recursive methods, which previously called an undefined function.

BREAKING CHANGE: executables lose the `.out` suffix, `fuse check` writes
to stdout, and exit status is now `main`'s return value.
@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 79.78723% with 19 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/main/scala/Fuse.scala 46.42% 15 Missing ⚠️
src/main/scala/core/TermFold.scala 91.66% 2 Missing ⚠️
src/main/scala/code/Grin.scala 95.45% 1 Missing ⚠️
src/main/scala/code/MonoSpecialize.scala 95.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@stevanmilic
stevanmilic merged commit ea29874 into master Jul 29, 2026
3 of 4 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