very silly toy language
fn main(): i32 {
return 42;
}
- functions
- variables
- floats
- if statements
- else statements
- else if
- while statements
- for loops
- string
- structs
- structs as function args
- pointers
- import
- arrays
- struct literals
struct Point { x: i32; y: i32; } fn main(): i32 { let point: Point = Point { x: 10, y: 20 }; return point.x; }
- struct methods
struct Point { x: i32; y: i32; fn dist_squared(self): i32 { return self.x * self.x + self.y * self.y; } } fn main(): i32 { let point: Point = Point { x: 10, y: 20 }; return point.dist_squared(); }
- standard library
- error handling (Result?,
try expr
?) - block expressions, yield statements
- basic generics
// not sure on syntax still fn add<T>(a: T, b: T): T { return a + b; } fn main(): i32 { // also not sure return add<i32>(1, 2); }