namespace; include rt; // forward calls whose results do not outlive the owner, or do not borrow it, are accepted. fn main() { char* t = rt.new(8); t[0] = ' '; t[1] = 'a'; t[2] = 0; let n = count(t); rt.free(t); rt.put_n(n); let u = rt.new(8); u[0] = 'b'; u[1] = 0; let r = skip(u); rt.put_c(r[0]); rt.free(u); let v = rt.new(8); v[0] = 0; let q = skip(v); rt.free(v); q = 0; rt.put_n(q); let w = rt.new(8); w[0] = 0; let k = skip(w)[0]; rt.free(w); rt.put_n(k); return 0; } int count(char* s) { int i = 0; while (s[i]) i++; return i; } char* skip(char* s) { int i = 0; while (s[i] == ' ') i++; return s + i; }