In this keynote presentation at Oracle Guy Steele proposes a novel use for "goto". https://www.youtube.com/watch?v=0hlBkQ5DjaY (see slide 20, 17 minutes in)
Basically he suggests using "goto" in a very limited way enabling the programmer to indicate that he wants tail call recursion.
I guess the idea is to tell the compiler not to bother with all that subroutine call mechanism for the last call in a function, rather optimize it with just loop back to the beginning.
This stuck me as such an off the wall idea I could not resist mentioning here. I wondered if anyone in the Rust project had seen that or thought about such a thing. Or is it a useful idea at all?
Along the way Guy shows how tail call recursion would be a very nice thing, in Java at least.