The Go frontend had a bug when a function with named result parameter
called defer on a function which did not call recover. The caller would
execute a return statement to return the updated values of the named
result parameters. This was wrong when the deferred function did not
call recover and
The Go defer/panic/recover handling works through a little dance that
includes comparing return addresses to see if a particular call to
recover should pick up a particular call to panic. This dance only
works if the appropriate functions are not inlined. I messed up the
condition for whether the