pub fn type_needs_unwind_cleanup(cx: ctxt, ty: t) -> bool {
    {
        let needs_unwind_cleanup_cache = cx.needs_unwind_cleanup_cache
                                           .borrow();
        match needs_unwind_cleanup_cache.get().find(&ty) {
            Some(&result) => return result,
            None => ()
        }
    }

    let mut tycache = HashSet::new();
    let needs_unwind_cleanup =
        type_needs_unwind_cleanup_(cx, ty, &mut tycache, false);
    let mut needs_unwind_cleanup_cache = cx.needs_unwind_cleanup_cache
                                           .borrow_mut();
    needs_unwind_cleanup_cache.get().insert(ty, needs_unwind_cleanup);
    return needs_unwind_cleanup;
}
// Some things don't need cleanups during unwinding because the
// task can free them all at once later. Currently only things
// that only contain scalars and shared boxes can avoid unwind
// cleanups.
Some things don't need cleanups during unwinding because the
task can free them all at once later. Currently only things
that only contain scalars and shared boxes can avoid unwind
cleanups.
Some things don ' t need cleanups during unwinding because the task can free them all at once later . Currently only things that only contain scalars and shared boxes can avoid unwind cleanups .
pub fn type_needs_unwind_cleanup(cx: ctxt, ty: t) -> bool {
    {
        let needs_unwind_cleanup_cache = cx.needs_unwind_cleanup_cache
                                           .borrow();
        match needs_unwind_cleanup_cache.get().find(&ty) {
            Some(&result) => return result,
            None => ()
        }
    }
    let mut tycache = HashSet::new();
    let needs_unwind_cleanup =
        type_needs_unwind_cleanup_(cx, ty, &mut tycache, false);
    let mut needs_unwind_cleanup_cache = cx.needs_unwind_cleanup_cache
                                           .borrow_mut();
    needs_unwind_cleanup_cache.get().insert(ty, needs_unwind_cleanup);
    return needs_unwind_cleanup;
}
pub fn type_needs_unwind_cleanup ( cx : ctxt , ty : t ) -> bool { { let needs_unwind_cleanup_cache = cx . needs_unwind_cleanup_cache . borrow ( ) ; match needs_unwind_cleanup_cache . get ( ) . find ( & ty ) { Some ( & result ) => return result , None => ( ) } } let mut tycache = HashSet :: new ( ) ; let needs_unwind_cleanup = type_needs_unwind_cleanup_ ( cx , ty , & mut tycache , false ) ; let mut needs_unwind_cleanup_cache = cx . needs_unwind_cleanup_cache . borrow_mut ( ) ; needs_unwind_cleanup_cache . get ( ) . insert ( ty , needs_unwind_cleanup ) ; return needs_unwind_cleanup ; }
Some things don't need cleanups during unwinding because the
task can free them all at once later.
Some things don ' t need cleanups during unwinding because the task can free them all at once later .
cx
ctxt
ty
t
cx
ctxt
ty
t