This program compiles cleanly and runs, but aborts at the end with a leak message. Changing str to int does not leak.
use std;
import std::arena;
import std::arena::arena;
enum hold { s(str) }
fn init(ar: &a.arena::arena, str: str) -> &hold {
new(*ar) s(str)
}
fn main(args: [str]) {
let ar = arena::arena();
let leak = init(&ar, args[0]);
alt *leak {
s(astr) {
io::println(#fmt("%?", astr));
}
};
}
rust: fatal, 'leaked memory in rust main loop (1 objects)' failed, ../src/rt/memory_region.cpp:169 1 objects
Abort trap: 6
This program compiles cleanly and runs, but aborts at the end with a leak message. Changing str to int does not leak.