Add PointerKind to LpDeref
Prohibit assignment to `&mut` pointers that are found in frozen or borrowed locations.

Fixes #8625.
Parse and reserve typeof keyword. #3228
Emit a better error for attempted unsafe-pointer-self. Close #8306.
Make rekillable consistent with unkillable

As for now, rekillable is an unsafe function, instead, it should behave
just like unkillable by encapsulating unsafe code within an unsafe
block.

This patch does that and removes unsafe blocks that were encapsulating
rekillable calls throughout rust's libs.

Fixes #8232
Testing rekillable fails when called from outside an unkillable block
Don't make the runtime exit on illegal calls
Decrement unkillable counter before failing
Rebased and replaced yield with deschedule
Rename UnsafeAtomicRcBox to UnsafeArc. Fixes #7674.
std: use ArcData rather than c_void in UnsafeArc.

This means that fewer `transmute`s are required, so there is less
chance of a `transmute` not having the corresponding `forget`
(possibly leading to use-after-free, etc).
librustpkg/tests.rs: cleanup unused import
vec: implement `DeepClone`
Trailing space
auto merge of #8581 : FlaPer87/rust/issue/8232, r=bblum

As for now, rekillable is an unsafe function, instead, it should behave
just like unkillable by encapsulating unsafe code within an unsafe
block.

This patch does that and removes unsafe blocks that were encapsulating
rekillable calls throughout rust's libs.

Fixes #8232
Extend aliasability check to uncover `& &mut &mut` and the like
auto merge of #8790 : huonw/rust/unsafearc, r=thestinger

`UnsafeAtomicRcBox` &rarr; `UnsafeArc` (#7674), and `AtomicRcBoxData` &rarr; `ArcData` to reflect this.

Also, the inner pointer of `UnsafeArc` is now `*mut ArcData`, which avoids some transmutes to `~`: i.e. less chance of mistakes.
repr: print integer/float suffixes
repr: include mutability qualifier in visit_ptr
reflect: rm unused visit_{var,var_integral,constr}