kavak.run compiler stack

Conformance · measured, not claimed

How much Go actually runs.

The Go team's own compiler test suite ($GOROOT/test), run through the kavak Go frontend unmodified. Each test's own directive on line 1 decides how it is judged.

32.7%659 of 2,016 in-scope files
  • passing659
  • not yet supported1,357
  • wrong — a real defect0
  • out of scope / no arbiter1,268
What was measured
Authority
/opt/homebrew/Cellar/go/1.25.6/libexec/test
Arbiter
go version go1.25.6 darwin/arm64
Unit
file
Measured
2026-09-10 17:07

breakdown

Breakdown by suite directive

suite directivetestspassingnot yetwrongout of scopepass ratesplit
run1,02620081501119.7%
errorcheck662116441010520.8%
(none)657000657—
compile50134310105777.3%
compiledir124000124—
rundir116000116—
asmcheck7100071—
build3300033—
errorcheckdir2500025—
runoutput2200022—
runindir1000010—
skip90009—
errorcheckandrundir50005—
go50005—
errorcheckwithauto50005—
buildrundir40004—
errorcheckoutput40004—
builddir30003—
buildrun20002—

blockers

What blocks the rest

The ten most expensive blockers. Next to each is how many files it costs — one compiler gap can stop a whole file, so the cost is what matters, not the count of distinct errors.

costreason — the measurement's own wordsblamed
154codegen: typed backend: a function call is not supported yet—
113frontend/parse: expected '…'){]
111frontend/sema: undefined symbolsinkTxg
100no diagnostic for a rule in: other language rulescannot|invalidtypeinvalidbyte
60codegen: typed backend: a call to '…' is not supported yet (only functions declared in this file)recoverfFreal
45no diagnostic for a rule in: initialization cyclesinitialization cycle|depends upon itselfinitialization cycle: x refers to itselfinvalid recursive type: anonymous interface refers to itselfinitialization cycle|depends upon itself|depend upon each other
43frontend/parse: expected expressioninterfaceidonefalse
40no diagnostic for a rule in: assignability & type mismatchcannot use|incompatiblecannot use promoted field t1.t1f1 in struct literal of type t2|unknown fieldillegal types|incompatible|cannotinvalid operation|incompatible
37frontend/sema: parameter type mismatch in function callfxtp
36no diagnostic for a rule in: undefined / unexported symbolsundefinedunexported|undefinedundefined.*Tundefined.*io.ReadWriterCloser

A further 618 files are blocked by smaller causes; the full list is in the raw measurement (JSON).