aboutsummaryrefslogtreecommitdiffstats
path: root/tests/semantics.bad
diff options
context:
space:
mode:
Diffstat (limited to 'tests/semantics.bad')
-rw-r--r--tests/semantics.bad28
1 files changed, 18 insertions, 10 deletions
diff --git a/tests/semantics.bad b/tests/semantics.bad
index 1bb2ceb..4acc8d5 100644
--- a/tests/semantics.bad
+++ b/tests/semantics.bad
@@ -1,22 +1,30 @@
1; We can have static arrays and have indexed access.
2let a = 1 1let a = 1
3let numbers: @int 2let numbers: @int
4set numbers[a] = 32 3set numbers[a] = 32
5set numbers[1] = numbers[0] 4set numbers[1] = numbers[0]
5
6let numbers_arr: int[0xff] 6let numbers_arr: int[0xff]
7set numbers_arr[0] = numbers[0] 7set numbers_arr[0] = numbers[0]
8
8let ptr_arr: @int[0xff] 9let ptr_arr: @int[0xff]
9set ptr_arr[0] = @numbers[0] 10set ptr_arr[0] = @numbers[0]
10 11
11; TODO: test pointers/arrays on structs 12struct vec {
12 13 a: int
13; ; Arrays are syntactic sugar for pointers (@). 14 b: str
14; let ptr:@u32 = numbers 15}
15; set ptr[10] = 33 16let b: @vec
16 17set b[0].a = 1
17; ; Strings hold a .mem and .size fields with the number of bytes it holds. 18
18; let hello: str = "hello world" 19struct ptrs {
19; set c[1] = 'a' ; "hallo world" 20 a: @int
21 b: str[128]
22 c: vec[100]
23}
24let c: ptrs
25set c.a[0] = 1
26set c.b[0] = "ho"
27; set c.c[0].a = 1 ; this doesn't work at the moment
20 28
21; ; fun foo(a: int): int { 29; ; fun foo(a: int): int {
22; ; 1 30; ; 1