Vector Slice Expansion in Evaluator Calls
- Lenguaje dominante
- Rust
- Estrellas
- 96
- Forks
- 39
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
### 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];
}
```
Guía de contribución
Línea de trabajo
Examina la lógica de expansión de llamadas del evaluador en el compilador, probablemente en un módulo que maneja segmentos de vectores. El problema muestra un segmento `chiplets[0..5]` que debería expandirse a 5 argumentos al llamar a `chiplet_selectors`. Comienza por encontrar dónde se procesan las llamadas del evaluador y cómo se cuentan los argumentos. Revisa los archivos de prueba para ver las pruebas existentes de expansión de llamadas del evaluador y comprender el comportamiento esperado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- compilers
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100