On Thursday, 15 May 2014 at 11:31:34 UTC, Marc Schütz wrote:
There's an important difference between malloc and new: malloc returns a pointer, but new returns a typed object. This is crucial IMO, because the returned objects are equal to each other.
I most code, but not all, so how does the compiler know if you don't have a reference type that explicitly bans identity comparison?
If one requires value semantics it should also cover the reference.
(Some programs allocate empty objects as "enums".)
optimization opportunities, but in terms of semantics. For example, you get the concept of uniqueness. And the
I agree that uniqueness is an important property. I think Rust is onto something when they now want to rename "mut" to "uniq" or "only". But in this case uniqueness is the problem with "weakly pure", a problem that "pure functions" don't have.
