interop 2020-07-11

Hi everyone. I have some java code I'm porting and I've never seen this try form before

try ( MemoryStack stack = stackPush() ) {
   ...
}

how is the part that appears inside the () executed? Why is it not inside the try block after the {?

It is some kind of auto try/finally with-* kind of context manager?

because at the end the demo code says:

} // the stack frame is popped automatically

So I just use (with-open [stack (stackPush)] ...)