(#alias String = //string.lim::String) (#alias String::free = //string.lim::String::free) (#alias String::from-chars = //string.lim::String::from-chars) (#alias StringCreateResult = //string.lim::StringCreateResult) (#std) (#fn print-trace ((text (#slice #char))) () (#let owned String (#match (#call String::from-chars (($ text))) (#case (StringCreateResult.StringCreated string) string) (#case (StringCreateResult.StringCreateFailed error) (#panic)))) (#assert (#i64::eq (#println (#borrow owned)) 0i64)) (#call String::free ((string owned))) (#return ())) (#fn third () () (#call print-trace ((text (#call-graph)))) (#return ())) (#fn second () () (#call third ()) (#return ())) (#fn main () #u64 (#call second ()) (#call second ()) (#return 42u64))