@@ -31,13 +31,16 @@ This backend currently supports a subset of Rust features:
31
31
* ✅ Compiling simple programs using basic ` core ` features (like the ` is_even_plus_one ` test) using the host target.
32
32
* ✅ Basic integer arithmetic operations on all types of numbers:
33
33
* 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)
35
35
* ✅ Comparisons (` == ` , ` != ` , ` < ` , ` <= ` , ` > ` , ` >= ` ).
36
36
* ✅ 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.
41
44
* ✅ Floats (` f32 ` , ` f64 ` ).
42
45
* ✅ Structs and Tuples (enums and unions coming soon!)
43
46
* ✅ Generating executable ` .jar ` files for binary crates.
0 commit comments