{
 "language": "Go",
 "brand": "go",
 "kind": "official",
 "corpus": {
  "label": "$GOROOT/test — Go'nun resmi derleyici test süiti",
  "authority": "/opt/homebrew/Cellar/go/1.25.6/libexec/test",
  "oracle": "go version go1.25.6 darwin/arm64",
  "total": 3284,
  "note": "Buradaki her sayı, Go ekibinin kendi derleyicisini geçirdiği resmi test süitini (<code>go test cmd/internal/testdir</code>) Go frontend'inden <strong>hiç değiştirmeden</strong> geçirmekten geliyor. Tarama ağacı geziyor ve bulduğu her <code>.go</code> dosyasını alıyor; elle seçilmiş hiçbir şey yok. Her testin 1. satırındaki kendi eylem direktifi nasıl yargılanacağını belirliyor: bir <code>// run</code> testi WebAssembly'ye derlenip <code>go run</code>'ın bastığının aynısını basmak zorunda, bir <code>// errorcheck</code> testi ise corpus'un <code>// ERROR</code> işaretlediği her satırda tanı almak zorunda. Bu makinenin kendi <code>go</code>'sunun kuramadığı dosyalar hakeme yazılıyor, bize değil.",
  "unit": "dosya"
 },
 "buckets": {
  "pass": 434,
  "not_yet": 1582,
  "oos": 1268,
  "wrong": 0
 },
 "in_scope": 2016,
 "statuses": [
  {
   "name": "pass",
   "n": 434,
   "bucket": "pass",
   "meaning": "corpus'un kendi eylemi sağlandı — `// run` için stdout `go run` ile bayt bayt aynı"
  },
  {
   "name": "frontend_reject",
   "n": 661,
   "bucket": "not_yet",
   "meaning": "gerçek `go`'nun kabul ettiği bir dosyayı lexer/parser/sema reddediyor — frontend uyum boşluğu"
  },
  {
   "name": "codegen_reject",
   "n": 465,
   "bucket": "not_yet",
   "meaning": "frontend kabul ediyor ama indirme (lowering) açık bir sebep söyleyip reddediyor — temiz raporlanmış backend boşluğu"
  },
  {
   "name": "missing_diag",
   "n": 456,
   "bucket": "not_yet",
   "meaning": "corpus'un `// ERROR` işaretlediği bir satırda hiç tanı üretmiyoruz"
  },
  {
   "name": "out_of_scope",
   "n": 1219,
   "bucket": "oos",
   "meaning": "testin kendi eylemi burada olmayan bir çok-dosya / assembly / üretilmiş-kaynak koşum düzeni istiyor"
  },
  {
   "name": "oracle_unavailable",
   "n": 49,
   "bucket": "oos",
   "meaning": "bu makinenin gerçek `go`'su da dosyayı kuramıyor/koşamıyor (build tag, GOARCH, experiment) — bize yazılamaz"
  }
 ],
 "funnel": [
  {
   "label": "kapsam içi `// run` testi",
   "n": 1015,
   "of": 1015
  },
  {
   "label": "frontend kabul ediyor (lex + parse + sema)",
   "n": 488,
   "of": 1015
  },
  {
   "label": "backend WebAssembly'ye indiriyor",
   "n": 23,
   "of": 1015
  },
  {
   "label": "modül kuruluyor ve koşuyor",
   "n": 23,
   "of": 1015
  },
  {
   "label": "stdout `go run` ile aynı",
   "n": 23,
   "of": 1015
  },
  {
   "label": "bunlardan gerçekten çıktı basanı (gerisi sessiz program)",
   "n": 0,
   "of": 23
  },
  {
   "label": "tanı: `// ERROR` satırlarının yakalananı (625/2515)",
   "n": 625,
   "of": 2515
  }
 ],
 "groups": [
  {
   "axis": "corpus eylemi",
   "note": "Süit her dosyada kendi adaptörünü ilan ediyor. Neyin kapsam dışı sayılacağına bizim tercihimiz değil, o direktif karar veriyor.",
   "rows": [
    {
     "name": "run",
     "n": 1026,
     "pass": 23,
     "not_yet": 992,
     "oos": 11,
     "wrong": 0
    },
    {
     "name": "errorcheck",
     "n": 662,
     "pass": 101,
     "not_yet": 456,
     "oos": 105,
     "wrong": 0
    },
    {
     "name": "(none)",
     "n": 657,
     "pass": 0,
     "not_yet": 0,
     "oos": 657,
     "wrong": 0
    },
    {
     "name": "compile",
     "n": 501,
     "pass": 310,
     "not_yet": 134,
     "oos": 57,
     "wrong": 0
    },
    {
     "name": "compiledir",
     "n": 124,
     "pass": 0,
     "not_yet": 0,
     "oos": 124,
     "wrong": 0
    },
    {
     "name": "rundir",
     "n": 116,
     "pass": 0,
     "not_yet": 0,
     "oos": 116,
     "wrong": 0
    },
    {
     "name": "asmcheck",
     "n": 71,
     "pass": 0,
     "not_yet": 0,
     "oos": 71,
     "wrong": 0
    },
    {
     "name": "build",
     "n": 33,
     "pass": 0,
     "not_yet": 0,
     "oos": 33,
     "wrong": 0
    },
    {
     "name": "errorcheckdir",
     "n": 25,
     "pass": 0,
     "not_yet": 0,
     "oos": 25,
     "wrong": 0
    },
    {
     "name": "runoutput",
     "n": 22,
     "pass": 0,
     "not_yet": 0,
     "oos": 22,
     "wrong": 0
    },
    {
     "name": "runindir",
     "n": 10,
     "pass": 0,
     "not_yet": 0,
     "oos": 10,
     "wrong": 0
    },
    {
     "name": "skip",
     "n": 9,
     "pass": 0,
     "not_yet": 0,
     "oos": 9,
     "wrong": 0
    },
    {
     "name": "errorcheckandrundir",
     "n": 5,
     "pass": 0,
     "not_yet": 0,
     "oos": 5,
     "wrong": 0
    },
    {
     "name": "go",
     "n": 5,
     "pass": 0,
     "not_yet": 0,
     "oos": 5,
     "wrong": 0
    },
    {
     "name": "errorcheckwithauto",
     "n": 5,
     "pass": 0,
     "not_yet": 0,
     "oos": 5,
     "wrong": 0
    },
    {
     "name": "buildrundir",
     "n": 4,
     "pass": 0,
     "not_yet": 0,
     "oos": 4,
     "wrong": 0
    },
    {
     "name": "errorcheckoutput",
     "n": 4,
     "pass": 0,
     "not_yet": 0,
     "oos": 4,
     "wrong": 0
    },
    {
     "name": "builddir",
     "n": 3,
     "pass": 0,
     "not_yet": 0,
     "oos": 3,
     "wrong": 0
    },
    {
     "name": "buildrun",
     "n": 2,
     "pass": 0,
     "not_yet": 0,
     "oos": 2,
     "wrong": 0
    }
   ]
  },
  {
   "axis": "corpus alanı",
   "note": "Süitin kendi dizin düzeni. `fixedbugs` tarihsel her `gc` hatası için bir dosya — yani bir özellik alanı değil, dilin en geniş stres testi.",
   "rows": [
    {
     "name": "fixedbugs",
     "n": 2220,
     "pass": 390,
     "not_yet": 1064,
     "oos": 766,
     "wrong": 0
    },
    {
     "name": "typeparam",
     "n": 453,
     "pass": 15,
     "not_yet": 187,
     "oos": 251,
     "wrong": 0
    },
    {
     "name": "(root)",
     "n": 342,
     "pass": 14,
     "not_yet": 215,
     "oos": 113,
     "wrong": 0
    },
    {
     "name": "codegen",
     "n": 71,
     "pass": 0,
     "not_yet": 0,
     "oos": 71,
     "wrong": 0
    },
    {
     "name": "ken",
     "n": 40,
     "pass": 0,
     "not_yet": 40,
     "oos": 0,
     "wrong": 0
    },
    {
     "name": "abi",
     "n": 39,
     "pass": 0,
     "not_yet": 37,
     "oos": 2,
     "wrong": 0
    },
    {
     "name": "interface",
     "n": 29,
     "pass": 3,
     "not_yet": 13,
     "oos": 13,
     "wrong": 0
    },
    {
     "name": "dwarf",
     "n": 23,
     "pass": 0,
     "not_yet": 1,
     "oos": 22,
     "wrong": 0
    },
    {
     "name": "chan",
     "n": 19,
     "pass": 0,
     "not_yet": 18,
     "oos": 1,
     "wrong": 0
    },
    {
     "name": "syntax",
     "n": 19,
     "pass": 12,
     "not_yet": 7,
     "oos": 0,
     "wrong": 0
    },
    {
     "name": "alias3.dir",
     "n": 3,
     "pass": 0,
     "not_yet": 0,
     "oos": 3,
     "wrong": 0
    },
    {
     "name": "linkname.dir",
     "n": 3,
     "pass": 0,
     "not_yet": 0,
     "oos": 3,
     "wrong": 0
    },
    {
     "name": "stress",
     "n": 3,
     "pass": 0,
     "not_yet": 0,
     "oos": 3,
     "wrong": 0
    },
    {
     "name": "closure5.dir",
     "n": 2,
     "pass": 0,
     "not_yet": 0,
     "oos": 2,
     "wrong": 0
    },
    {
     "name": "ddd2.dir",
     "n": 2,
     "pass": 0,
     "not_yet": 0,
     "oos": 2,
     "wrong": 0
    },
    {
     "name": "import2.dir",
     "n": 2,
     "pass": 0,
     "not_yet": 0,
     "oos": 2,
     "wrong": 0
    },
    {
     "name": "import4.dir",
     "n": 2,
     "pass": 0,
     "not_yet": 0,
     "oos": 2,
     "wrong": 0
    },
    {
     "name": "method4.dir",
     "n": 2,
     "pass": 0,
     "not_yet": 0,
     "oos": 2,
     "wrong": 0
    },
    {
     "name": "uintptrescapes.dir",
     "n": 2,
     "pass": 0,
     "not_yet": 0,
     "oos": 2,
     "wrong": 0
    },
    {
     "name": "arenas",
     "n": 1,
     "pass": 0,
     "not_yet": 0,
     "oos": 1,
     "wrong": 0
    },
    {
     "name": "asmhdr.dir",
     "n": 1,
     "pass": 0,
     "not_yet": 0,
     "oos": 1,
     "wrong": 0
    },
    {
     "name": "closure3.dir",
     "n": 1,
     "pass": 0,
     "not_yet": 0,
     "oos": 1,
     "wrong": 0
    },
    {
     "name": "internal",
     "n": 1,
     "pass": 0,
     "not_yet": 0,
     "oos": 1,
     "wrong": 0
    },
    {
     "name": "intrinsic.dir",
     "n": 1,
     "pass": 0,
     "not_yet": 0,
     "oos": 1,
     "wrong": 0
    },
    {
     "name": "linknameasm.dir",
     "n": 1,
     "pass": 0,
     "not_yet": 0,
     "oos": 1,
     "wrong": 0
    },
    {
     "name": "retjmp.dir",
     "n": 1,
     "pass": 0,
     "not_yet": 0,
     "oos": 1,
     "wrong": 0
    },
    {
     "name": "wasmmemsize.dir",
     "n": 1,
     "pass": 0,
     "not_yet": 0,
     "oos": 1,
     "wrong": 0
    }
   ]
  }
 ],
 "reasons": [
  {
   "stage": "sema",
   "reason": "frontend/sema: undefined symbol",
   "count": 242,
   "blamed": [
    "uintptr",
    "int64",
    "byte",
    "uint64",
    "uint",
    "x",
    "sink",
    "int32"
   ]
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: expected '…'",
   "count": 152,
   "blamed": [
    "{",
    ")",
    "]"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: unknown callable '…'",
   "count": 107,
   "blamed": [
    "panic",
    "println",
    "new",
    "print",
    "string",
    "f",
    "recover",
    "float64"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: other language rules",
   "count": 102,
   "blamed": [
    "cannot|invalid",
    "type",
    "invalid",
    "byte",
    "assignment.*Time",
    "BOM",
    "cannot assign to .* (\\(strings are immutable\\))?",
    "Unicode|unicode"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: unsupported call target",
   "count": 79,
   "blamed": []
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: initialization cycles",
   "count": 46,
   "blamed": [
    "initialization cycle|depends upon itself",
    "initialization cycle: x refers to itself",
    "invalid recursive type: anonymous interface refers to itself",
    "invalid recursive type: T refers to itself",
    "initialization cycle|depends upon itself|depend upon each other",
    "initialization cycle|depends upon itself|initialization cycle",
    "refers to itself|definition loop|initialization cycle",
    "initialization cycle|initialization expression for .*f.* depends upon itself"
   ]
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: expected expression",
   "count": 42,
   "blamed": [
    "interface",
    "i",
    "done",
    "false",
    "switch",
    "range",
    "sh",
    "n"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: package initializer for '…' is not a supported constant expression",
   "count": 42,
   "blamed": [
    "a",
    "_",
    "x",
    "c",
    "m",
    "indexes",
    "I",
    "h"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: assignability & type mismatch",
   "count": 41,
   "blamed": [
    "cannot use|incompatible",
    "cannot use promoted field t1.t1f1 in struct literal of type t2|unknown field",
    "illegal types|incompatible|cannot",
    "invalid operation|incompatible",
    "conver|incompatible|cannot",
    "nil|incompatible",
    "illegal|invalid|incompatible|cannot",
    "illegal|incompatible|nil"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: package variable '…' needs a non-i32 global representation",
   "count": 37,
   "blamed": [
    "x",
    "s",
    "t",
    "a",
    "m",
    "y",
    "p0exp",
    "arith"
   ]
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: type mismatch in assignment",
   "count": 37,
   "blamed": [
    "p",
    "x",
    "i",
    "make",
    "T",
    "q",
    "t",
    "g1"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: declaration & syntax rules",
   "count": 37,
   "blamed": [
    "cannot declare init - must be func",
    "non-declaration statement outside function body|expected declaration",
    "unexpected newline",
    "must be function call",
    "type without expr|expected .=.|missing init expr",
    "unexpected comma",
    "statement outside function|expected",
    "non-declaration|expected|parenthesize"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: undefined / unexported symbols",
   "count": 36,
   "blamed": [
    "undefined",
    "unexported|undefined",
    "undefined.*T",
    "undefined.*io.ReadWriterCloser",
    "undefined: iota|iota is only defined in const|cannot use iota outside constant declaration",
    "requires explicit dereference|undefined",
    "undefined.*indexWriter",
    "cannot declare name runtime.UintType|missing parameter name|undefined identifier"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: duplicate & conflicting declarations",
   "count": 31,
   "blamed": [
    "duplicate argument|redefinition|redeclared",
    "duplicate",
    "duplicate argument i|redefinition|previous|redeclared",
    "method redeclared: T0\\.m1|T0\\.m1 already declared|redefinition of .m1.",
    "redeclared|no new",
    "redecl|redefinition",
    "redeclared|redef",
    "duplicate|redeclared"
   ]
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: expected closing delimiter",
   "count": 27,
   "blamed": [
    "_",
    "cmd",
    "shouldPanic",
    "func",
    "s",
    "return",
    "bool",
    "fmt.Printf"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: composite lowering supports only array/slice literals",
   "count": 24,
   "blamed": []
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: expected a type",
   "count": 24,
   "blamed": [
    "type",
    "var",
    "B",
    "M",
    "f",
    "MyStruct",
    "x",
    "Foo"
   ]
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: parameter type mismatch in function call",
   "count": 23,
   "blamed": [
    "f",
    "t",
    "c",
    "s",
    "a",
    "m",
    "y",
    "one"
   ]
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: invalid operation: unary ! operand must be bool",
   "count": 22,
   "blamed": [
    "strings.Contains",
    "strings.HasPrefix",
    "bytes.Contains",
    "math.Signbit",
    "reflect.DeepEqual",
    "t.IsZero",
    "s.m1Called",
    "strings.HasSuffix"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: unused declarations",
   "count": 22,
   "blamed": [
    "declared and not used",
    "imported and not used",
    "not used",
    "len|value computed is not used",
    "false evaluated but not used|value computed is not used|is not used",
    "1 \\+ 2 evaluated but not used|value computed is not used|is not used",
    "unsafe\\.Alignof|value computed is not used",
    "unexpected :|expected .*;.* or .*}.* or newline|value computed is not used"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: constant rules & overflow",
   "count": 21,
   "blamed": [
    "overflow",
    "is not a constant|is not constant",
    "truncated|must be integer",
    "overflow|cannot convert",
    "overflows|negative",
    "overflow|shift count too large",
    "1e\\+646456992 overflows float64|floating-point constant overflow|exponent too large|overfl",
    "constant 1.1 truncated to integer|floating-point constant truncated to integer|truncated t"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: interface & method sets",
   "count": 19,
   "blamed": [
    "interface",
    "pointer|receiver",
    "not a method|has no methods|does not implement I",
    "type T has both field and method named X|redeclares struct field name|field and method wit",
    "interface contains embedded non-interface|embedding non-interface type",
    "interface contains embedded non-interface|embedding non-interface type int requires",
    "embedded type cannot be a pointer|embedded type may not be a pointer||embedded field type ",
    "method"
   ]
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: initializer type mismatch",
   "count": 18,
   "blamed": [
    "var",
    "A",
    "g",
    "hello",
    "C1",
    "t2",
    "iota",
    "struct"
   ]
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: invalid comparison: mismatched types",
   "count": 18,
   "blamed": [
    "x",
    "runtime.GOOS",
    "runtime.Compiler",
    "p",
    "os.Args",
    "c",
    "v1",
    "test"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: implementation limits",
   "count": 18,
   "blamed": [
    "stack frame too large",
    "channel element type too large",
    "too many arguments",
    "too many|expects 2 or 3 arguments; found 5",
    "type .* too large",
    "too many arguments (to conversion to \\[\\]byte: \\(\\[\\]byte\\)\\(.abc., .def., 12\\))?",
    "too many arguments in call to f0\\n\\thave \\(number\\)\\n\\twant \\(\\)",
    "too large"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: make lowering supports []int or map types",
   "count": 15,
   "blamed": []
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: cannot call non-function value",
   "count": 14,
   "blamed": [
    "f",
    "i",
    "b",
    "im",
    "p",
    "g",
    "x"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: compiler directives",
   "count": 14,
   "blamed": [
    "misplaced compiler directive",
    "file declares //go:build go1.21",
    "go:embed cannot apply to var inside func",
    "go:embed requires go1.16 or later",
    "//go:unknown is not allowed in the standard library",
    "//go:nowritebarrier only allowed in runtime",
    "usage: //go:cgo_ldflag",
    "`go:embed only allowed in Go files that import"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: record assignment requires a composite literal",
   "count": 14,
   "blamed": []
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: recursive types & cycles",
   "count": 14,
   "blamed": [
    "invalid recursive type",
    "recursive|cycle",
    "loop|type|cycle",
    "invalid recursive type T1\\n.*T1 refers to T2\\n.*T2 refers to T1|invalid recursive type",
    "recursive type",
    "invalid recursive type.*T",
    "invalid recursive type|cycle",
    "instantiation cycle"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: unknown field '…'",
   "count": 13,
   "blamed": [
    "a",
    "i",
    "PkgPath",
    "x",
    "V",
    "b"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: package & import rules",
   "count": 13,
   "blamed": [
    "package",
    "undefined|expected package",
    "import path",
    "invalid package name",
    "non-canonical import path .unicode//utf8. \\(should be .unicode/utf8.\\)",
    "import path is empty|invalid import path \\(empty string\\)",
    "import path must be a string",
    "undefined: sync|expected package|reference to undefined name"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: unsupported expression AST kind N",
   "count": 13,
   "blamed": []
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: expected field name",
   "count": 13,
   "blamed": [
    "T",
    "G",
    "value",
    "a",
    "Ty",
    "K"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: function calls & arguments",
   "count": 12,
   "blamed": [
    "not enough type arguments for type Fn: have 1, want 2",
    "missing arguments to append|not enough arguments for append",
    "not enough arguments",
    "too few",
    "not enough return values|not enough arguments to return",
    "unexpected literal 2.01|expected ';' or '}' or newline|not enough arguments to return",
    "too few values in",
    "not enough return values\\n\\thave \\(number\\)\\n\\twant \\(int, int\\)|not enough arguments to r"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: unsupported statement AST kind N",
   "count": 11,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: index lowering currently supports []i32 or supported map one-slot values",
   "count": 10,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: duplicate or oversized method name",
   "count": 10,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: multi-assignment needs N values, got N",
   "count": 10,
   "blamed": []
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: control-flow rules",
   "count": 9,
   "blamed": [
    "fallthrough",
    "missing return",
    "fallthrough statement out of place",
    "missing return( at end of function)?",
    "goto L jumps over declaration of x at LINE+1|goto jumps over declaration",
    "continue is not in a loop$|continue statement not within for",
    "cannot fallthrough final case in switch"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: unknown value '…'",
   "count": 8,
   "blamed": [
    "x",
    "f",
    "ff",
    "prototype",
    "fail",
    "g1",
    "p1",
    "v"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: conversions",
   "count": 8,
   "blamed": [
    "cannot convert.*\\[\\]int64|invalid type conversion",
    "cannot convert",
    "non-integer slice index|must be integer|cannot convert",
    "cannot convert|invalid type conversion",
    "cannot convert .. \\(.*untyped string.*\\) to type bool|invalid type conversion",
    "cannot convert|non-integer type for left operand of shift",
    "cannot convert 1 - \\.0000001 \\(untyped float constant 0\\.9999999\\) to type int",
    "need explicit|need type assertion"
   ]
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: operators & operands",
   "count": 8,
   "blamed": [
    "division by zero",
    "shift",
    "shift of type float64|invalid.*shift",
    "invalid operation: .*not defined on untyped complex|non-ordered type",
    "invalid operation|not enough arguments",
    "invalid operation.*not defined|invalid comparison|cannot compare"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: len lowering supports []i32, supported maps and string values",
   "count": 7,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: address-of lowering currently supports only local alias declarations or []i32 elements",
   "count": 6,
   "blamed": []
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: invalid operation: mismatched types",
   "count": 6,
   "blamed": [
    "time.Sleep",
    "x",
    "time.Second"
   ]
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: invalid escape sequence",
   "count": 6,
   "blamed": [
    "const",
    "bin",
    "var",
    "x00",
    "s"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: unknown increment/decrement target",
   "count": 6,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: index assignment lowering supports []i32 or supported map one-slot values",
   "count": 5,
   "blamed": []
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: expected identifier after selector",
   "count": 4,
   "blamed": [
    "m",
    "f3div2",
    "if",
    "f"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: invalid method declaration for lowering",
   "count": 4,
   "blamed": []
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: map & slice rules",
   "count": 4,
   "blamed": [
    "invalid map key type",
    "invalid map key"
   ]
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: expected '…' in array type",
   "count": 4,
   "blamed": [
    "]"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: multi-result lowering supports only one-slot values",
   "count": 3,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: make lowering supports map[string] and map[int] one-slot values",
   "count": 3,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: unsupported branch statement",
   "count": 3,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: record literal has too many positional fields",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: defer lowering supports only direct zero-argument user calls or literals",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: record declaration requires a composite literal",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: ordered string comparison is not lowered yet",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: unsupported compound-assignment target",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: variadic parameter '…' must be ...int for lowering",
   "count": 2,
   "blamed": [
    "keys",
    "args"
   ]
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: expected '…' in switch",
   "count": 2,
   "blamed": [
    "{"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: method '…' lowering supports only direct zero-argument value-receiver field/literal returns",
   "count": 2,
   "blamed": [
    "equal",
    "Esc"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: range lowering currently supports only []i32 values",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: defer target must be a user function or function literal",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: empty-interface lowering supports int, string, bool and nil values",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: unsupported multi-assignment target",
   "count": 2,
   "blamed": []
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: non-bool condition in if statement",
   "count": 2,
   "blamed": [
    "x",
    "b"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: KIR lowering failed in function N at instruction N: in @F[N]: type mismatch for param N of call",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: unsupported increment/decrement target",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: slice lowering currently supports only []i32 values",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: type switch lowering requires an empty-interface parameter",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: invalid operation: bitwise/shift/modulo assignment requires integer operands",
   "count": 1,
   "blamed": [
    "g"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: make lowering expects a supported type with at most one size argument",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: unsupported assignment target",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: method '…' lowering supports only direct pointer-receiver void field updates",
   "count": 1,
   "blamed": [
    "Method"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: deferred function literal must be zero-argument, void and return-free",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: float literal is too large or malformed",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: record literals require field-name keys",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "codegen",
   "reason": "codegen: record literal has no field '…'",
   "count": 1,
   "blamed": [
    "b"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: cap lowering supports exactly one []i32 argument",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: invalid operation: unary +/- requires a numeric operand",
   "count": 1,
   "blamed": [
    "d.dp"
   ]
  },
  {
   "stage": "codegen",
   "reason": "codegen: multi-result return needs N values, got N",
   "count": 1,
   "blamed": []
  },
  {
   "stage": "diagnostics",
   "reason": "no diagnostic for a rule in: generics & type parameters",
   "count": 1,
   "blamed": [
    "type parameter requires go1\\.18 or later \\(-lang was set to go1\\.17; check go.mod\\)"
   ]
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: non-bool condition in for loop",
   "count": 1,
   "blamed": [
    "b"
   ]
  },
  {
   "stage": "parse",
   "reason": "frontend/parse: malformed number literal",
   "count": 1,
   "blamed": [
    "x_1"
   ]
  },
  {
   "stage": "sema",
   "reason": "frontend/sema: invalid operation: ++/-- requires a numeric operand",
   "count": 1,
   "blamed": [
    "j"
   ]
  }
 ],
 "reasons_note": "Tek bir test sessizce düşmüyor: geçmeyen her test derleyicinin KENDİ tanısını taşıyor, gruplanabilsin diye şablona indirgenmiş. `suçlanan` kolonu o şablonun arkasındaki somut adları veriyor — asıl aksiyon listesi, sıklık sırasıyla.",
 "features": [
  {
   "name": "func",
   "kw": true,
   "n": 1830,
   "pass": 366
  },
  {
   "name": "var",
   "kw": true,
   "n": 1094,
   "pass": 196
  },
  {
   "name": "type",
   "kw": true,
   "n": 893,
   "pass": 163
  },
  {
   "name": "if",
   "kw": true,
   "n": 865,
   "pass": 56
  },
  {
   "name": "return",
   "kw": true,
   "n": 818,
   "pass": 116
  },
  {
   "name": "struct",
   "kw": true,
   "n": 663,
   "pass": 123
  },
  {
   "name": "slice/array type",
   "kw": false,
   "n": 643,
   "pass": 116
  },
  {
   "name": "import",
   "kw": true,
   "n": 633,
   "pass": 40
  },
  {
   "name": "panic/recover",
   "kw": false,
   "n": 619,
   "pass": 13
  },
  {
   "name": "pointer type",
   "kw": false,
   "n": 503,
   "pass": 64
  },
  {
   "name": "interface",
   "kw": true,
   "n": 483,
   "pass": 80
  },
  {
   "name": "method decl",
   "kw": false,
   "n": 393,
   "pass": 46
  },
  {
   "name": "for",
   "kw": true,
   "n": 368,
   "pass": 36
  },
  {
   "name": "closure (func literal)",
   "kw": false,
   "n": 338,
   "pass": 54
  },
  {
   "name": "compiler pragma (//go:)",
   "kw": false,
   "n": 248,
   "pass": 13
  },
  {
   "name": "const",
   "kw": true,
   "n": 237,
   "pass": 37
  },
  {
   "name": "generics (type param)",
   "kw": false,
   "n": 232,
   "pass": 14
  },
  {
   "name": "map",
   "kw": true,
   "n": 198,
   "pass": 34
  },
  {
   "name": "type assertion/switch",
   "kw": false,
   "n": 190,
   "pass": 20
  },
  {
   "name": "range",
   "kw": true,
   "n": 187,
   "pass": 17
  },
  {
   "name": "case",
   "kw": true,
   "n": 183,
   "pass": 40
  },
  {
   "name": "defer",
   "kw": true,
   "n": 182,
   "pass": 10
  },
  {
   "name": "chan",
   "kw": true,
   "n": 180,
   "pass": 27
  },
  {
   "name": "switch",
   "kw": true,
   "n": 149,
   "pass": 42
  },
  {
   "name": "channel op (<-)",
   "kw": false,
   "n": 140,
   "pass": 19
  },
  {
   "name": "unsafe",
   "kw": false,
   "n": 109,
   "pass": 12
  },
  {
   "name": "variadic (...)",
   "kw": false,
   "n": 99,
   "pass": 14
  },
  {
   "name": "default",
   "kw": true,
   "n": 95,
   "pass": 15
  },
  {
   "name": "go",
   "kw": true,
   "n": 85,
   "pass": 8
  },
  {
   "name": "goroutine (go stmt)",
   "kw": false,
   "n": 84,
   "pass": 7
  },
  {
   "name": "build constraint",
   "kw": false,
   "n": 84,
   "pass": 2
  },
  {
   "name": "complex numbers",
   "kw": false,
   "n": 67,
   "pass": 11
  },
  {
   "name": "embedded field",
   "kw": false,
   "n": 63,
   "pass": 9
  },
  {
   "name": "select",
   "kw": true,
   "n": 63,
   "pass": 10
  },
  {
   "name": "else",
   "kw": true,
   "n": 57,
   "pass": 7
  },
  {
   "name": "break",
   "kw": true,
   "n": 52,
   "pass": 4
  },
  {
   "name": "goto/label",
   "kw": false,
   "n": 43,
   "pass": 15
  },
  {
   "name": "goto",
   "kw": true,
   "n": 31,
   "pass": 12
  },
  {
   "name": "iota",
   "kw": false,
   "n": 25,
   "pass": 3
  },
  {
   "name": "continue",
   "kw": true,
   "n": 24,
   "pass": 1
  },
  {
   "name": "asm/cgo",
   "kw": false,
   "n": 8,
   "pass": 0
  },
  {
   "name": "fallthrough",
   "kw": true,
   "n": 8,
   "pass": 2
  },
  {
   "name": "struct tag",
   "kw": false,
   "n": 3,
   "pass": 0
  }
 ],
 "features_note": "Eksen Go'nun kendisi: spec'in saydığı 25 anahtar sözcük + anahtar sözcüğü olmayan yapılar için gramer sondaları (yorum ve string içindekiler ayıklanarak). <strong>Geçme oranını alt sınır olarak oku</strong> — bir corpus testi ancak kullandığı HER ŞEY çalışırsa geçer, yani zor testlerin taşıdığı bir özellik uygulanmış olsa bile düşük puan alır.",
 "commands": [
  "make corpus",
  "bash tests/corpus/run.sh --sweep-only",
  "python3 ../../tools/coverage/coverage.py --lang Go"
 ],
 "meta": {
  "commit": "f648e8c",
  "elapsed": 65.0,
  "generated": "2026-08-02 17:01"
 },
 "verify": {
  "cmd": "make corpus",
  "ok": true,
  "summary": "",
  "failures": {},
  "at": "2026-08-01 22:22",
  "cached_at": "2026-08-01 22:22"
 }
}