Skip to content

Commit e3e4166

Browse files
authored
fix: rest parameter crash resolver (#2748)
Fixes #2707
1 parent a27258d commit e3e4166

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

src/resolver.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ export class Resolver extends DiagnosticEmitter {
392392
break;
393393
}
394394
case ParameterKind.Rest: {
395-
assert(i == numParameters);
395+
assert(i == numParameters - 1);
396396
hasRest = true;
397397
break;
398398
}

tests/compiler/issues/2707.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"asc_flags": [],
3+
"stderr": [
4+
"AS100: Not implemented: Rest parameters",
5+
"func(1, 2, 3, 4);"
6+
]
7+
}

tests/compiler/issues/2707.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// should not crash
2+
let func: (...args: i32[]) => i32 = (...args: i32[]) => {
3+
return 1;
4+
};
5+
6+
func(1, 2, 3, 4);

0 commit comments

Comments
 (0)