// module rc_app_let_partial_drop_leak data Wrap = MkWrap(Int) data Cell = MkCell(Wrap, Wrap) data Pair = MkPair(Cell, Cell) fn build_pair(n: Int) -> own Pair { MkPair(MkCell(MkWrap(n), MkWrap(2)), MkCell(MkWrap(3), MkWrap(4))) } fn use_cell(c: own Cell) -> Int { match c { MkCell(w1, w2) => 1 } } fn main() -> Unit with IO { let p = build_pair(1); do io/print_int(match p { MkPair(a, _) => use_cell(a) }) }