type point = {x: int, y: int}; fn x_coord(p: &point) -> &int { ret &p.x; } fn foo(p: @point) -> &int { let xc = x_coord(p); //~ ERROR illegal borrow assert *xc == 3; ret xc; } fn main() {}