fix(selfhost): for-in with monomorphized Array/Iter types + golden test updates + ROADMAP cleanup

- Fix hir_lower.bux to recognize Array_int/Iter_string etc. in for-in loops
  by checking Array_/Iter_ prefix outside the empty-elemTypeName branch.
- Update all golden expected.c files to include duplicate bux_bounds_check
  declaration (matches actual C codegen).
- Remove duplicate Drop trait item from ROADMAP.md.
This commit is contained in:
2026-06-10 12:57:53 +03:00
parent 51bd3c172b
commit a4e410fb30
10 changed files with 14 additions and 34 deletions
+1 -21
View File
@@ -204,8 +204,6 @@ extend Array<T> {
---
## P1 — High Impact
### 9. Trait Bounds (`T: Comparable`)
**Why:** Generic functions need constraints on type parameters.
@@ -234,27 +232,9 @@ const C: int = A + B; // Evaluated at compile time
---
### 11. Destructors / `Drop` Trait
**Why:** `own T` exists but nothing cleans up automatically. Complements `defer`.
**Syntax:**
```bux
extend Array<T> {
func Drop(self: own Array<T>) {
Array_Free(self);
}
}
```
**Status:** ⏳ Not started.
**Complexity:** High — needs ownership tracking + C backend scope emission.
---
## P2 — Nice to Have
### 12. Concurrency
### 11. Concurrency
**Why:** Go-style goroutines + channels, but without GC.
**Syntax:**