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.

21.5%434 of 2,016 in-scope files
  • passing434
  • not yet supported1,582
  • 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-08-02 17:01

breakdown

Breakdown by suite directive

suite directivetestspassingnot yetwrongout of scopepass ratesplit
run1,026239920112.3%
errorcheck662101456010518.1%
(none)657000657
compile50131013405769.8%
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
242frontend/sema: undefined symboluintptrint64byteuint64
152frontend/parse: expected '…'{)]
107codegen: unknown callable '…'panicprintlnnewprint
102no diagnostic for a rule in: other language rulescannot|invalidtypeinvalidbyte
79codegen: unsupported call target
46no diagnostic for a rule in: initialization cyclesinitialization cycle|depends upon itselfinitialization cycle: x refers to itselfinvalid recursive type: anonymous interface refers to itselfinvalid recursive type: T refers to itself
42frontend/parse: expected expressioninterfaceidonefalse
42codegen: package initializer for '…' is not a supported constant expressiona_xc
41no 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
37codegen: package variable '…' needs a non-i32 global representationxsta

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