Re:JDK 10: General Availability
by Moter8 on Wednesday March 21, 2018 @09:25AM
(#16637779)
So basically, what rust prohibits.
[ Parent
| on HN ]
Re:JDK 10: General Availability
by fauigerzigerk on Wednesday March 21, 2018 @09:37AM
(#16637860)
I don't know Rust very well at all, but I believe that Rust would only prohibit that if p and updated were referencing the same thing. If updated was a modified copy of p then I don't think Rust would help. But I could easily be wrong on that.
What would help is splitting the function up so that you don't have multiple named variables representing multiple versions of the same thing in the same scope:
Person doSomethingAndDots() {
Person p = doSomething(...)
...
return p
}
main() {
doSomethingElse(doSomethingAndDots())
}
Re:JDK 10: General Availability
by andrewaylett on Wednesday March 21, 2018 @10:28AM
(#16638238)
If the transformation function consumes p, rather than taking a reference to it, Rust will stop you from using the variable again afterwards.