]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #35764 - eddyb:byegone, r=nikomatsakis
authorbors <bors@rust-lang.org>
Wed, 24 Aug 2016 21:57:34 +0000 (14:57 -0700)
committerGitHub <noreply@github.com>
Wed, 24 Aug 2016 21:57:34 +0000 (14:57 -0700)
Remove the old AST-based backend from rustc_trans.

Starting with Rust 1.13, `--disable-orbit` , `-Z orbit=off` and `#[rustc_no_mir]` have been removed.
Only the new MIR backend is left in the compiler, and only early const_eval uses ASTs from other crates.

Filling drop (previously "zeroing drop"), `#[unsafe_no_drop_flag]` and associated unstable APIs are gone.
Implementing `Drop` doesn't add a flag anymore to the type, all of the dynamic drop is function local.
This is a [breaking-change], please use `Option::None` and/or `mem::forget` if you are unsure about your ability to prevent/control the drop of a value. In the future, `union` will be usable in some such cases.

**NOTE**: DO NOT MERGE before we get the new beta as the stage0, there's some cruft to remove.

All of this will massively simplify any efforts to implement (and as such it blocks) features such as `union`s, safe use of `#[packed]` or new type layout optimizations, not to mention many other experiments.


Trivial merge