The generated non-local transfer functions go to a tag which will
always be in scope whenever the restart can be invoked, so wrap the
GO in a scary (safety 0) optimization declaration. This fixes
lp#1023721 (but not the issue raised in comment #1, which would be
solved naturally if lp#383078 is addressed).
Include a test which deliberately breaks the normal dynamic-extent
lifetime for restarts; restarts generated by RESTART-CASE and friends
in fact have indefinite extent, even though once they're out of the
dynamic-extent of their creating/binding operator you can't really do
anything with them (INVOKE-RESTART signals a control-error if the
restart given is not active, and there's no way to reactivate a
restart). However, the temptation to make the restart function
have dynamic-extent allocation must be resisted, because of the
indefinite lifetime of the restart object itself.