Fix ICE when reporting closure and proc mismatch

Closes #13599
Specialize kinds inference for `Unsafe<T>`

This patch adds a special rule for `Unsafe<T>` and makes it `Share`
regardless of whether T is `Share`.

[breaking-change]

Closes #13125
auto merge of #13583 : FlaPer87/rust/special-unsafe, r=nikomatsakis

This patch adds a special rule for `Unsafe<T>` and makes it `Share`
regardless of whether T is `Share`.

[breaking-change]

Closes #13125

cc @nikomatsakis
auto merge of #13657 : edwardw/rust/ppaux-ice, r=alexcrichton

Closes #13599