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

Reply via email to