Vector Slice Expansion in Evaluator Calls
- Vorherrschende Sprache
- Rust
- Sterne
- 96
- Forks
- 39
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
### Problem Description
The compiler fails to properly expand vector slice arguments when evaluators call other evaluators, leading to argument count mismatches.
### Minimal Example
```air
ev chiplets_constraints([chiplets[20]]) {
enf chiplet_selectors([chiplets[0..5]]); // Should expand slice to 5 args
}
ev chiplet_selectors([s[5]]) { // Expects 5 individual parameters
enf is_binary([s[0]]);
enf is_binary([s[1]]) when s[0];
enf is_binary([s[2]]) when s[0] & s[1];
enf is_binary([s[3]]) when s[0] & s[1] & s[2];
enf is_binary([s[4]]) when s[0] & s[1] & s[2] & s[3];
}
```
Beitragsleitfaden
Rechercherichtung
Look at the evaluator call expansion logic in the compiler, likely in a module handling vector slices. The issue shows a slice `chiplets[0..5]` that should expand to 5 arguments when calling `chiplet_selectors`. Start by finding where evaluator calls are processed and how arguments are counted. Check test files for existing evaluator call expansion tests to understand the expected behavior.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100