diff options
author | Bad Diode <bd@badd10de.dev> | 2024-06-25 17:45:27 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2024-06-25 17:45:27 +0200 |
commit | bc9aa6e8ad03cd739cd54a9b97f78a14287b9fbd (patch) | |
tree | 03f4fa7387a931ea62c7999e3bc4f8839ccce355 /tests | |
parent | 1980bc35c8d161089d3f996abcce80bc67056736 (diff) | |
download | bdl-bc9aa6e8ad03cd739cd54a9b97f78a14287b9fbd.tar.gz bdl-bc9aa6e8ad03cd739cd54a9b97f78a14287b9fbd.zip |
Add inner struct typechecking
Diffstat (limited to 'tests')
-rw-r--r-- | tests/semantics.bad | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/tests/semantics.bad b/tests/semantics.bad index 0224c77..22dd8d4 100644 --- a/tests/semantics.bad +++ b/tests/semantics.bad | |||
@@ -1,12 +1,33 @@ | |||
1 | struct vec { | 1 | struct vec { |
2 | x: f64 | 2 | x: f64 = 2.0 |
3 | y: f64 | 3 | y: f64 = 1.0 |
4 | bruh: { | 4 | bruh: { |
5 | id: int | 5 | id: int = 10 |
6 | msg: str | 6 | msg: str = "hello" |
7 | inner: { | ||
8 | x: int = 32 | ||
9 | y: str | ||
10 | } | ||
7 | } | 11 | } |
8 | } | 12 | } |
9 | 13 | ||
14 | ; struct dud { | ||
15 | ; id: int | ||
16 | ; msg: str | ||
17 | ; } | ||
18 | |||
19 | ; let v: vec | ||
20 | ; set v.x = 1.0 | ||
21 | ; set v.y = 1.0 | ||
22 | ; set v.bruh.id = 1 | ||
23 | |||
24 | ; let v = vec : { | ||
25 | ; x = 1.0 | ||
26 | ; bruh = dud : { | ||
27 | ; id = 1 | ||
28 | ; } | ||
29 | ; } | ||
30 | |||
10 | ; struct vec { | 31 | ; struct vec { |
11 | ; x: f64 | 32 | ; x: f64 |
12 | ; y: f64 | 33 | ; y: f64 |
@@ -24,7 +45,7 @@ struct vec { | |||
24 | ; sun | 45 | ; sun |
25 | ; } | 46 | ; } |
26 | ; let a = weekdays.tue | 47 | ; let a = weekdays.tue |
27 | ; ; let b = a | 48 | ; let b = a |
28 | 49 | ||
29 | ; struct item { | 50 | ; struct item { |
30 | ; id: int | 51 | ; id: int |