Traits

Moved Copied from syntax::ptr::P of rustc.