• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

forst-lang / forst / 30218381422
79%

Build:
DEFAULT BRANCH: main
Ran 26 Jul 2026 08:17PM UTC
Jobs 1
Files 412
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Jul 2026 08:09PM UTC coverage: 75.716% (-0.4%) from 76.147%
30218381422

push

github

haveyaseen
feat(typechecker)!: map Go multi-return to Tuple, keep Result exclusive

Go FFI calls bound in single-value context (x := pkg.F()) now always
type as Tuple(T₁…Tₙ), with no trailing-error fold to Result. Result
remains a Forst-native exclusive sum built via return and ensure;
bridge FFI with n, err := …; ensure !err or err; return n.

Add tuple indexed access (t.0, t.1), multi-value return for
Tuple-declared functions, and Unwrap() emission on nominal errors
with a cause field. Extract Go FFI call checking into
typechecker/gointerop with struct-based call descriptors. Add
errors-compat test corpus (stdlib + third-party module) and
task test:errors-compat.

BREAKING CHANGE: strconv.Atoi(s) and similar single-value Go
multi-return bindings now infer Tuple(Int, Error) instead of
Result(Int, Error). Use n-value assignment or the ensure bridge
to obtain Result ergonomics.

245 of 652 new or added lines in 20 files covered. (37.58%)

9 existing lines in 1 file now uncovered.

36169 of 47769 relevant lines covered (75.72%)

1160.36 hits per line

Uncovered Changes

Lines Coverage ∆ File
158
10.73
forst/internal/typechecker/gointerop/calls.go
94
0.0
forst/internal/typechecker/gointerop/fields.go
62
21.52
forst/internal/typechecker/gointerop/mapping.go
26
0.0
forst/internal/typechecker/gointerop/span.go
23
0.0
forst/internal/typechecker/gointerop/load.go
14
22.22
forst/internal/typechecker/gointerop/import.go
7
60.73
-2.87% forst/internal/typechecker/infer_assignment.go
6
68.99
1.02% forst/internal/transformer/go/statement.go
4
78.08
6.17% forst/internal/typechecker/go_interop.go
4
63.38
0.06% forst/internal/typechecker/infer_expression.go
4
80.95
forst/internal/typechecker/tuple_return.go
2
75.98
2.35% forst/internal/transformer/go/typedef.go
2
70.52
0.58% forst/internal/typechecker/infer_function.go
1
89.76
0.38% forst/internal/parser/function.go

Coverage Regressions

Lines Coverage ∆ File
9
60.73
-2.87% forst/internal/typechecker/infer_assignment.go
Subprojects
ID Flag name Job ID Ran Files Coverage
1 /jobs/185179480 30218381422.1 26 Jul 2026 08:17PM UTC 412
75.72
GitHub Action Run
Source Files on build 30218381422
  • Tree
  • List 412
  • Changed 17
  • Source Changed 0
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • ce82a2be on github
  • Prev Build on main (#29769722072)
  • Next Build on main (#30222813533)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc