As a n00b programmer, this entry in this guide was the first entry that made the concept of closures clear to me. I don't know if it's because of the use of the two pipes to denote a closure, but it makes it clear for some reason:
let x = 3;
fn fun () -> () { println!("{}", x) } // cannot capture from enclosing scope
let closure = || -> () { println!("{}", x) }; // can capture from enclosing scope
fn fun_arg (arg: int) -> () { println!("{}", arg + x) } // cannot capture
let closure_arg = |arg: int| -> () { println!("{}", arg + x) }; // can capture