-
Notifications
You must be signed in to change notification settings - Fork 9
Extraction hardening: go #817
Copy link
Copy link
Closed
Labels
core-engineModifications to the central physics and parsing engineModifications to the central physics and parsing enginetestingUnit, integration, and E2E pipeline verificationUnit, integration, and E2E pipeline verification
Milestone
Description
Metadata
Metadata
Assignees
Labels
core-engineModifications to the central physics and parsing engineModifications to the central physics and parsing enginetestingUnit, integration, and E2E pipeline verificationUnit, integration, and E2E pipeline verification
Part of the extraction-hardening epic (#813). See
tests/extraction/how_to_harden_extraction.mdfor the full methodology this issue follows.
Language:
goKnown finding to fix first
func_startdoesn't recognize Go 1.18+ generics at all (e.g.func Foo[T constraints.Ordered](a, b T) T {) -- mainstream, ~5-year-old Go syntax currently invisible to the engine. The regex captures the name then goes straight to[ \\t\\n]*\\(with no allowance for a[...]type-parameter list in between.Rules in scope (non-
NoneinLANGUAGE_DEFINITIONS["go"]["rules"]):Checklist (per the methodology doc, for each in-scope rule above)
valid: modern idiom + legacy/historical syntax eras + testing-framework-shaped functionsinvalid: string-literal lookalikes, type-level lookalikes, assignment-in-condition, macro-expansion lookalikes, and any language-specific lookalike shapepathological: 10-15 cases covering annotation/attribute stacking, nested generics/templates, destructured/complex params, multi-line splits at every plausible boundarytests/extraction/languages/test_go.py