eb9e5e711d
Improve syntax of `newtype_index` This makes it more like proper Rust and also makes the implementation a lot simpler. Mostly just turns weird flags in the body into proper attributes. It should probably also be converted to an attribute macro instead of function-like, but that can be done in a future PR.
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.