extern printf = (*i8, varargs) => void; extern malloc = (i64) => *void; extern free = (*void) => void; let main = () => i64 { let buf = cast(*i8, malloc(sizeof(i8) * 13)); (*(buf+cast(*i8, 0))) = 'h'; (*(buf+cast(*i8, 1))) = 'e'; (*(buf+cast(*i8, 2))) = 'l'; (*(buf+cast(*i8, 3))) = 'l'; (*(buf+cast(*i8, 4))) = 'o'; (*(buf+cast(*i8, 5))) = ' '; (*(buf+cast(*i8, 6))) = 'w'; (*(buf+cast(*i8, 7))) = 'o'; (*(buf+cast(*i8, 8))) = 'r'; (*(buf+cast(*i8, 9))) = 'l'; (*(buf+cast(*i8, 10))) = 'd'; (*(buf+cast(*i8, 11))) = '\n'; (*(buf+cast(*i8, 12))) = '\0'; printf("%s", buf); free(cast(*void, buf)); return 0; }; /* Expected stdout: hello world! Expected return: 0 */