0xMiden / 0xMiden/air-script

Vector Slice Expansion in Evaluator Calls

Offen
#486 0 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @Soulthym Auf GitHub ansehen
IR
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.