/* recurse */
mod foo {
  pub struct Foo(i32);
  pub fn new() -> Foo { Foo(0) }
  pub fn ok(f: &mut Foo) { f.0 = 1; }
}  

fn main() {
  let mut f = foo::new();
  foo::ok(&mut f);
  `(f)`;
}