Skip to content

Commit 005b362

Browse files
committed
Support nested field or index access in arrays, tuples, structs or slices!
Also update struct test to verify this
1 parent 6a04bf7 commit 005b362

File tree

3 files changed

+365
-405
lines changed

3 files changed

+365
-405
lines changed

Readme.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,16 @@ This backend currently supports a subset of Rust features:
3131
* ✅ Compiling simple programs using basic `core` features (like the `is_even_plus_one` test) using the host target.
3232
* ✅ Basic integer arithmetic operations on all types of numbers:
3333
* Addition (`+`), Subtraction (`-`), Multiplication (`*`), Division (`/`), Remainder (`%`).
34-
* Checked addition and subtraction (`checked_add`, `checked_sub`) returning `(result, overflowed_bool)` tuples.
34+
* Checked addition, subtraction and multiplication returning `(result, overflowed_bool)` tuples (occurs in debug mode)
3535
* ✅ Comparisons (`==`, `!=`, `<`, `<=`, `>`, `>=`).
3636
* ✅ Bitwise operations (`&`, `|`, `^`, `<<`, `>>`).
37-
* ✅ Basic control flow: `if`/`else` statements, `panic!` / `assert!` (including multiple arguments and formatting (`{}`) of most rust primitives)
38-
* ✅ Calling other `static` functions within the same crate (including recursion).
39-
* ✅ Basic variable assignment (`let x = y;`).
40-
* ✅ Arrays and slices.
37+
* ✅ Logical operations (`&&`, `||`, `!`), support for `if` (and `else if`/`else`) and `match` statements.
38+
* ✅ Unary operations (`-`, `!`).
39+
* ✅ Type casting (e.g., `as` operator).
40+
* ✅ Support for all primitive types.
41+
* ✅ Calling other functions (including recursion).
42+
* ✅ Variable assignment including subfield and array index assignment, including nesting.
43+
* ✅ Arrays and slices, including inserting, accessing and mutating at a given index.
4144
* ✅ Floats (`f32`, `f64`).
4245
* ✅ Structs and Tuples (enums and unions coming soon!)
4346
* ✅ Generating executable `.jar` files for binary crates.

0 commit comments

Comments
 (0)