pub fn RetVoid(cx: Block, debug_loc: DebugLoc) {
    if cx.unreachable.get() {
        return;
    }
    check_not_terminated(cx);
    terminate(cx, "RetVoid");
    debug_loc.apply(cx.fcx);
    B(cx).ret_void();
}
// The difference between a block being unreachable and being terminated is
// somewhat obscure, and has to do with error checking. When a block is
// terminated, we're saying that trying to add any further statements in the
// block is an error. On the other hand, if something is unreachable, that
// means that the block was terminated in some way that we don't want to check
// for (panic/break/return statements, call to diverging functions, etc), and
// further instructions to the block should simply be ignored.
The difference between a block being unreachable and being terminated is
somewhat obscure, and has to do with error checking. When a block is
terminated, we're saying that trying to add any further statements in the
block is an error. On the other hand, if something is unreachable, that
means that the block was terminated in some way that we don't want to check
for (panic/break/return statements, call to diverging functions, etc), and
further instructions to the block should simply be ignored.
The difference between a block being unreachable and being terminated is somewhat obscure and has to do with error checking . When a block is terminated we ' re saying that trying to add any further statements in the block is an error . On the other hand if something is unreachable that means that the block was terminated in some way that we don ' t want to check for ( panic / break / return statements call to diverging functions etc ) and further instructions to the block should simply be ignored .
pub fn RetVoid(cx: Block, debug_loc: DebugLoc) {
    if cx.unreachable.get() {
        return;
    }
    check_not_terminated(cx);
    terminate(cx, "RetVoid");
    debug_loc.apply(cx.fcx);
    B(cx).ret_void();
}
pub fn RetVoid ( cx : Block , debug_loc : DebugLoc ) { if cx . unreachable . get ( ) { return ; } check_not_terminated ( cx ) ; terminate ( cx , " " ) ; debug_loc . apply ( cx . fcx ) ; B ( cx ) . ret_void ( ) ; }
The difference between a block being unreachable and being terminated is
somewhat obscure, and has to do with error checking.
The difference between a block being unreachable and being terminated is somewhat obscure and has to do with error checking .
cx
Block
debug_loc
DebugLoc
cx
Block
debug_loc
DebugLoc