]> git.lizzy.rs Git - rust.git/commit
Auto merge of #41349 - eddyb:ty-contents, r=nikomatsakis
authorbors <bors@rust-lang.org>
Fri, 21 Apr 2017 14:02:37 +0000 (14:02 +0000)
committerbors <bors@rust-lang.org>
Fri, 21 Apr 2017 14:02:37 +0000 (14:02 +0000)
commit5695c3e9435a5872e23a6bb61c1ea0b3ada83eef
tree8496a09a530afa6c2b2a5ead08b1d315abbbf590
parent4ed95009d8d5d50c4f7aee35ad89c30a2258ffa9
parent89bd3f39cadbbe0b361303ddbda2796ea7f39bb9
Auto merge of #41349 - eddyb:ty-contents, r=nikomatsakis

rustc: replace TypeContents with two independent properties (is_freeze / needs_drop).

`InteriorUnsafe` / `interior_unsafe` was replaced with a private lang-item `Freeze` auto trait in libcore.

`OwnsDtor` / `needs_drop` was replaced with a specialized traversal that *doesn't* avoid caching results in case of a cycle, as the only cycles left can only occur in erroneous "types with infinite sizes", references and raw pointers not having destructors. Also, `Copy` is now checked at every step of the recursion.

r? @nikomatsakis