diff options
Diffstat (limited to 'boot/tests/lower/shadowing_error.cskt')
| -rw-r--r-- | boot/tests/lower/shadowing_error.cskt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/boot/tests/lower/shadowing_error.cskt b/boot/tests/lower/shadowing_error.cskt new file mode 100644 index 0000000..b22dddf --- /dev/null +++ b/boot/tests/lower/shadowing_error.cskt @@ -0,0 +1,29 @@ +declaring two locals with the same name in overlapping scopes is +a hard error. + +<<< + +main = fun () { + var x int = 1 + var x int = 2 +} + +>>> + +(unit + (types + (type 0 int primitive) + (type 1 uint primitive) + (type 2 bool primitive) + (type 3 string primitive) + (type 4 float primitive) + (type 5 byte primitive) + (type 6 ascii primitive) + (type 7 void primitive)) + (functions + (function 0 main main (returns (ref void)) (block + (declaration x (ref int) (initializer (expr 1))) + ))) + (emission_order 0 1 2 3 4 5 6 7) + (diagnostics + (error "name 'x' shadows an existing binding"))) |
