• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

forst-lang / forst / 24034142721
62%
main: 76%

Build:
Build:
LAST BUILD BRANCH: feat/full-request-sidecar
DEFAULT BRANCH: main
Ran 06 Apr 2026 01:43PM UTC
Jobs 1
Files 176
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

06 Apr 2026 01:41PM UTC coverage: 61.542% (+0.2%) from 61.303%
24034142721

Pull #57

github

haveyaseen
fix(parser): unary minus, negative literals, and Error built-in type

- Accept leading `-` on int/float literals (including float tokens) and unary `-` in expressions; error on `-` before string, bool, nil, or array literals.
- Treat bare `Error` as the built-in error type so imports like `errors` align with signatures.

fix(typechecker): infer full tuple from `return f()` when arity matches

Splats callee return types when a single return expression is a call that returns multiple values.

fix(transformer): do not pad `return g()` with `, nil` for multi-value calls

Padding produced invalid Go (`return g(), nil`). Skip nil/zero padding when the sole expression is a call whose callee arity matches the function’s return arity.

feat(examples): tic-tac-toe uses ensure constraints and `(MoveResponse, Error)`

Example (constraints with negative literal):

````forst
ensure row is GreaterThan(-1) or invalidMove("row must be >= 0")
```

Example (multi-value return without bad padding):

```forst
func outer(): (Int, Error) {
	return inner()
}
```
Pull Request #57: feat(compiler): variable slice indexing and indexed assignment

292 of 486 new or added lines in 24 files covered. (60.08%)

13 existing lines in 7 files now uncovered.

15103 of 24541 relevant lines covered (61.54%)

15.04 hits per line

Uncovered Changes

Lines Coverage ∆ File
44
53.8
8.34% forst/internal/parser/expression.go
26
42.44
4.8% forst/internal/transformer/go/statement.go
18
64.59
-1.49% forst/internal/printer/printer.go
15
57.3
-1.17% forst/internal/hasher/hasher.go
15
85.22
-12.63% forst/internal/typechecker/infer_assignment.go
14
83.48
-10.11% forst/internal/parser/literal.go
12
55.79
-0.31% forst/internal/typechecker/infer_expression.go
11
19.2
-0.12% forst/cmd/forst/lsp/navigation_locals.go
11
60.74
-7.0% forst/internal/typechecker/infer_function.go
7
83.56
-10.28% forst/internal/parser/assignment.go
6
80.65
-19.35% forst/internal/ast/expression.go
4
84.38
-15.63% forst/internal/ast/assignment.go
4
60.84
0.73% forst/internal/transformer/go/expression.go
2
76.29
-4.96% forst/internal/parser/statement.go
2
58.21
0.14% forst/internal/typechecker/unify_operators.go
1
84.13
0.0% forst/internal/parser/var.go
1
65.55
0.0% forst/internal/transformer/go/function.go
1
34.08
-0.7% forst/internal/transformer/go/shape.go

Coverage Regressions

Lines Coverage ∆ File
3
53.8
8.34% forst/internal/parser/expression.go
3
76.29
-4.96% forst/internal/parser/statement.go
2
60.74
-7.0% forst/internal/typechecker/infer_function.go
2
79.59
-2.04% forst/internal/typechecker/validate_references.go
1
19.2
-0.12% forst/cmd/forst/lsp/navigation_locals.go
1
84.38
-15.63% forst/internal/ast/assignment.go
1
83.56
-10.28% forst/internal/parser/assignment.go
Subprojects
ID Flag name Job ID Ran Files Coverage
1 /jobs/179826246 24034142721.1 06 Apr 2026 01:43PM UTC 176
61.54
GitHub Action Run
Source Files on build 24034142721
  • Tree
  • List 176
  • Changed 25
  • Source Changed 0
  • Coverage Changed 25
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #57
  • PR Base - main (#24032070662)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc