As parameters of types => T
and () => T
are both Function0
, I always naively assumed that conversion from one to another is a noop. It seems however, that while true for (=>T) => (() => T)
, the other direction (() => T) => (=> T)
results in wrapping the execution of the function in a invokedynamic
lambda - at least as far as I can read the byte code.
- Why?
- How can I make it stop?