The "no gc" crowd
    Joseph Rushton Wakeling 
    joseph.wakeling at webdrake.net
       
    Thu Oct 10 11:21:12 PDT 2013
    
    
  
On 10/10/13 19:46, Sean Kelly wrote:
> As for const / immutable, I guess I don't see this as such an issue because I've been dealing with it in C++ for so long.  You either have to commit 100% to using const attributes or not use them at all.  Anything in between is fraught with problems.
Well, the problem is essentially that you can have a function like:
     void foo(int i) { ... }
... and if you pass it an immutable or const int, this is not a problem, because 
you're passing by value.
But now try
     void foo(BigInt i) { ... }
... and it won't work when passed a const/immutable variable, even though again 
you're passing by value.  That's not nice, not intuitive, and generally speaking 
makes working with complex data types annoying.
It's why, for example, std.math.abs currently works with BigInt but not with 
const or immutable BigInt -- which is very irritating indeed.
    
    
More information about the Digitalmars-d
mailing list