3 ms·
It's certainly fair to balance/decide between performance and local reasoning. But one should be clear then that they give up one for the other and not claim th
by valenterry 5y ago
It's certainly fair to balance/decide between performance and local reasoning. But one should be clear then that they give up one for the other and not claim that both is possible. Because from my understanding from what you said, local reasoning isn't possible anymore, even though reasoning is still easier compared to when you don't have struct semantics. But that's still two different things.
- amw-zero 5y agoYou still have local reasoning with struct semantics. You are not giving that up in exchange for performance, you get both. func newStructValue(s: Struct) -> Struct { s.value = 5 return s } The reasoning for this block of code is totally local to the function body. Because the only reference to `s` is in the body of the function - it cannot be more local than that.