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

forst-lang / forst / 24313395883
76%

Build:
DEFAULT BRANCH: main
Ran 12 Apr 2026 06:28PM UTC
Jobs 1
Files 193
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

12 Apr 2026 06:26PM UTC coverage: 62.887% (+0.4%) from 62.459%
24313395883

push

github

haveyaseen
fix(typechecker): match hash shape literals to missing named param types

Structural IsTypeCompatible required both sides in Defs, so calls like
f({ ... }) failed when the parameter still named a typedef that was absent
from Defs while inference produced a hash type. inferShapeType now records the
processed shape for that expected name; IsTypeCompatible uses it as a fallback
via shapesHaveSameStructure.

test(transformer): register AppContext and nested input typedefs in shape
literal tests; run CheckTypes on functions only in UsesExpectedType (top-level
*ast.ShapeNode is not inferred).

Example:

```go
func f(arg T_ShapeArg) {}

func main() {
  // T_ShapeArg removed from Defs; literal still infers T_… hash
  f({ foo: "bar" })
}
```

13 of 28 new or added lines in 2 files covered. (46.43%)

1260 existing lines in 22 files now uncovered.

16648 of 26473 relevant lines covered (62.89%)

20.19 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
53.14
-1.11% forst/internal/typechecker/go_builtins.go

Coverage Regressions

Lines Coverage ∆ File
271
55.3
6.96% forst/internal/transformer/go/statement.go
227
52.94
-2.49% forst/internal/hasher/hasher.go
225
38.04
3.43% forst/internal/typechecker/lookup_field.go
173
50.19
1.02% forst/cmd/forst/lsp/completion.go
76
64.6
0.0% forst/internal/printer/printer.go
62
65.98
-0.16% forst/internal/transformer/go/expression.go
36
1.44
-0.03% forst/cmd/forst/main.go
31
46.05
-4.36% forst/internal/transformer/go/transformer.go
29
69.57
-0.76% forst/internal/typechecker/collect.go
29
67.89
-0.51% forst/internal/typechecker/infer.go
26
42.99
-0.53% forst/internal/typechecker/infer_for.go
22
33.39
-1.35% forst/internal/transformer/go/shape.go
18
55.17
0.44% forst/internal/typechecker/infer_assertion.go
14
49.82
-0.12% forst/cmd/forst/lsp/server.go
7
62.96
0.19% forst/internal/typechecker/infer_function.go
5
61.54
-0.28% forst/internal/typechecker/result_err_branch_return.go
2
70.64
0.27% forst/cmd/forst/lsp/definition.go
2
69.05
0.59% forst/internal/transformer/go/for_loop.go
2
80.81
0.66% forst/internal/typechecker/infer_shape.go
1
82.81
-1.31% forst/internal/parser/var.go
1
28.07
0.95% forst/internal/transformer/go/ensure.go
1
45.0
-0.71% forst/internal/typechecker/type_alias_display.go
Subprojects
ID Flag name Job ID Ran Files Coverage
1 /jobs/180151141 24313395883.1 12 Apr 2026 06:28PM UTC 193
62.89
GitHub Action Run
Source Files on build 24313395883
  • Tree
  • List 193
  • Changed 29
  • Source Changed 0
  • Coverage Changed 29
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 30b5ee2e on github
  • Prev Build on main (#24312809298)
  • Next Build on main (#24313529117)
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