Repository navigation
Preserve Go tuple and pointer type identities - #436
CaelmBleidd wants to merge 2 commits into
Conversation
Test results on JDK 11 73 files 73 suites 5m 13s ⏱️ Results for commit 043845a. ♻️ This comment has been updated with latest results. |
Test results on JDK 19 73 files 73 suites 4m 46s ⏱️ Results for commit 043845a. ♻️ This comment has been updated with latest results. |
Test results on JDK 8 73 files 73 suites 4m 55s ⏱️ Results for commit 043845a. ♻️ This comment has been updated with latest results. |
Lifecycle test results78 tests 78 ✅ 1m 28s ⏱️ Results for commit 043845a. ♻️ This comment has been updated with latest results. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## buraindo/go #436 +/- ##
==============================================
Coverage ? 65.43%
Complexity ? 2479
==============================================
Files ? 276
Lines ? 16493
Branches ? 2359
==============================================
Hits ? 10792
Misses ? 4767
Partials ? 934 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Go API type identities collapsed different tuple element schemas and erased the pointer marker in compound types. Render actual typed tuple/pointer names and use class-safe symmetric equality/hash, with cycle-aware inspection of recursive named schemas. This prevents consumers from confusing
(bool, int, rune)with a different three-BasicType tuple orstruct{int}withstruct{*int}.Targets the actual Go API branch buraindo/go at816194b963, because jacodb-go is absent from neo. This is a small producer fix; no upstream merge is included.
Validation: four GoTypeIdentityTest contracts and the repository checkLicense task passed in a normal clone. Remaining API limits include absent struct field-name metadata, TypeParam binder identity and byte/rune alias normalization; this change does not claim exhaustive Go type support. Consumer native regression validation is tracked separately in USVM #469.
Final head 043845a additionally pins ArkAnalyzer @types/node to 18.19.130 before its existing install/postinstall. Full workflow run 38340695753 passed. Published API artifact a839f86 was verified against its exact commit and all nine modules; the final workflow-only commit does not change API bytes.