]> git.lizzy.rs Git - rust.git/commit
Auto merge of #38302 - Mark-Simulacrum:trans-cleanup, r=eddyb
authorbors <bors@rust-lang.org>
Wed, 21 Dec 2016 10:38:22 +0000 (10:38 +0000)
committerbors <bors@rust-lang.org>
Wed, 21 Dec 2016 10:38:22 +0000 (10:38 +0000)
commit1b38776c1f68c6fd47c1b2f7b7974efc7dd64901
treeab3fa350432db81e6a2491419e99fd9704cb458e
parent439c3128d740af372dae163310f7292e999098e1
parent0013d4cdf61a61abab79789c9ad5320bd1e2d56a
Auto merge of #38302 - Mark-Simulacrum:trans-cleanup, r=eddyb

Cleanup old trans

This is a cleanup of old trans, with the following main points:
 - Remove the `build.rs` API (prefer using `Builder` directly, which is now passed where needed through `BlockAndBuilder`).
 - Remove `Block` (inlining it into `BlockAndBuilder`)
 - Remove `Callee::call`, primarily through inlining and simplification of code.
 - Thinned `FunctionContext`:
   - `mir`, `debug_scopes`, `scopes`, and `fn_ty` are moved to `MirContext`.
   - `param_env` is moved to `SharedCrateContext` and renamed to `empty_param_env`.
   - `llretslotptr` is removed, replaced with more careful management of the return values in calls.
   - `landingpad_alloca` is inlined into cleanup.
   - `param_substs` are moved to `MirContext`.
   - `span` is removed, it was never set to anything but `None`.
   - `block_arena` and `lpad_arena` are removed, since neither was necessary (landing pads and block are quite small, and neither needs arena allocation).
 - Fixed `drop_in_place` not running other destructors in the same function.

Fixes #35566 (thanks to @est31 for confirming).