if e1 == BasicEnum::Option1 {
e1 = BasicEnum::Option2
}
In section "Parameters", you said "All three languages default to pass-by-value if not otherwise specified". For privitive types it's true, but it's not. Classes in Java have reference semantic (copy only address in method). Structs in Rust have move semantic witch is connacted with ownership concept (https://doc.rust-lang.org/stable/book/ownership.html).
In common, many basic things for Rust have very good descriptions in Rust Book (https://doc.rust-lang.org/stable/book/). Please, pay attension on it and be more careful.
I updated interfaces and enums. To your comment about move semantics for structs and such, I actually found the book lacking. I just did a quick Google search of the book for "move semantics" and couldn't find it anywhere. Where specifically does it talk about parameter passing?
10 comments
[ 3.0 ms ] story [ 74.7 ms ] threadYou said there are "some pretty wrong statements," any others? You can also fork and fix if you'd like to help... it'd be greatly appreciated!
It must be:
In section "Enums", you can apply default implementation of equality trait: and compare In section "Parameters", you said "All three languages default to pass-by-value if not otherwise specified". For privitive types it's true, but it's not. Classes in Java have reference semantic (copy only address in method). Structs in Rust have move semantic witch is connacted with ownership concept (https://doc.rust-lang.org/stable/book/ownership.html).In common, many basic things for Rust have very good descriptions in Rust Book (https://doc.rust-lang.org/stable/book/). Please, pay attension on it and be more careful.
Unfortunately, make_unique didn't make it into C++11, but is there for C++14