bearophile Wrote:

> Paul D. Anderson:
> 
> > After further review, I now realize that the right way (for me) to do this 
> > is to add a .dup property.<
> 
> Steven Schveighoffer has given you quite good answers.
> A dup is generally not enough, because what you dup can have other immutable 
> references nested inside. Dup is not a deep copy.
> The summary of this topic is (until inout works) that if you can return a 
> const value, then don't copy things. This is the preferred option, because 
> one of the main purposes of const data is to not have to copy them.
> If you can't return a const, then don't mark the input values as const. The 
> safety given by the not deep const of Java is only partial safety.
> 
> Bye,
> bearophile

You're right that dup itself can have problems with pointers/references. My 
struct doesn't have 2nd-level references, so dup works fine for me.

Paul

Reply via email to