Remove now-useless code
This commit is contained in:
parent
a5e21daa19
commit
fb5dd398f6
@ -199,7 +199,6 @@ pub struct CachedEarlyExit {
|
||||
|
||||
pub trait Cleanup<'tcx> {
|
||||
fn must_unwind(&self) -> bool;
|
||||
fn clean_on_unwind(&self) -> bool;
|
||||
fn is_lifetime_end(&self) -> bool;
|
||||
fn trans<'blk>(&self,
|
||||
bcx: Block<'blk, 'tcx>,
|
||||
@ -776,29 +775,19 @@ impl<'blk, 'tcx> CleanupHelperMethods<'blk, 'tcx> for FunctionContext<'blk, 'tcx
|
||||
//
|
||||
// At this point, `popped_scopes` is empty, and so the final block
|
||||
// that we return to the user is `Cleanup(AST 24)`.
|
||||
while !popped_scopes.is_empty() {
|
||||
let mut scope = popped_scopes.pop().unwrap();
|
||||
|
||||
if scope.cleanups.iter().any(|c| cleanup_is_suitable_for(&**c, label))
|
||||
{
|
||||
let name = scope.block_name("clean");
|
||||
debug!("generating cleanups for {}", name);
|
||||
let bcx_in = self.new_block(label.is_unwind(),
|
||||
&name[..],
|
||||
None);
|
||||
let mut bcx_out = bcx_in;
|
||||
for cleanup in scope.cleanups.iter().rev() {
|
||||
if cleanup_is_suitable_for(&**cleanup, label) {
|
||||
bcx_out = cleanup.trans(bcx_out,
|
||||
scope.debug_loc);
|
||||
}
|
||||
}
|
||||
build::Br(bcx_out, prev_llbb, DebugLoc::None);
|
||||
prev_llbb = bcx_in.llbb;
|
||||
} else {
|
||||
debug!("no suitable cleanups in {}",
|
||||
scope.block_name("clean"));
|
||||
while let Some(mut scope) = popped_scopes.pop() {
|
||||
let name = scope.block_name("clean");
|
||||
debug!("generating cleanups for {}", name);
|
||||
let bcx_in = self.new_block(label.is_unwind(),
|
||||
&name[..],
|
||||
None);
|
||||
let mut bcx_out = bcx_in;
|
||||
for cleanup in scope.cleanups.iter().rev() {
|
||||
bcx_out = cleanup.trans(bcx_out,
|
||||
scope.debug_loc);
|
||||
}
|
||||
build::Br(bcx_out, prev_llbb, DebugLoc::None);
|
||||
prev_llbb = bcx_in.llbb;
|
||||
|
||||
scope.add_cached_early_exit(label, prev_llbb);
|
||||
self.push_scope(scope);
|
||||
@ -1038,10 +1027,6 @@ impl<'tcx> Cleanup<'tcx> for DropValue<'tcx> {
|
||||
true
|
||||
}
|
||||
|
||||
fn clean_on_unwind(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
fn is_lifetime_end(&self) -> bool {
|
||||
false
|
||||
}
|
||||
@ -1085,10 +1070,6 @@ impl<'tcx> Cleanup<'tcx> for FreeValue<'tcx> {
|
||||
true
|
||||
}
|
||||
|
||||
fn clean_on_unwind(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
fn is_lifetime_end(&self) -> bool {
|
||||
false
|
||||
}
|
||||
@ -1118,10 +1099,6 @@ impl<'tcx> Cleanup<'tcx> for LifetimeEnd {
|
||||
false
|
||||
}
|
||||
|
||||
fn clean_on_unwind(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
fn is_lifetime_end(&self) -> bool {
|
||||
true
|
||||
}
|
||||
@ -1160,11 +1137,6 @@ pub fn var_scope(tcx: &ty::ctxt,
|
||||
r
|
||||
}
|
||||
|
||||
fn cleanup_is_suitable_for(c: &Cleanup,
|
||||
label: EarlyExitLabel) -> bool {
|
||||
!label.is_unwind() || c.clean_on_unwind()
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// These traits just exist to put the methods into this file.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user