mod main { type x: Y; import "some/path" as other; use other.w; struct x [ a: s32, b: s32, ] enum y [ a, b, c ] union z [ a: s32, b: f32 ] impl x { fn set_a (^mut self, a: s32) -> ^mut Self { self.a = a; self } } export let mut a = 0xff; let mut q = 0x___ff___; let b = 0b1010; let c = 1.; let d = .1; let e = 1.1e+3; let cha = 'a'; let chb = '\0'; let str = "stringy\n string\""; let _ident_102; export fn main (x: s32) -> s32 { // single comment 💩 /* Multi line comment */ /* Nested /* Multi line */ Comment */ let y = x + 1; let z = y * 2; let w: ^mut s32 = ^mut y; let q = @w; match z * y { = 0 => { 1 }, = 1 => { 2 }, _ => { 3 } } } }