Cast to left hand side
    tcak via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sun Nov  9 21:00:23 PST 2014
    
    
  
On Sunday, 9 November 2014 at 21:47:03 UTC, eles wrote:
> On Sunday, 9 November 2014 at 19:00:01 UTC, tcak wrote:
>
> I am also strongly in favor of introducing an "uncast". For 
> example, in C++'x const_cast and in D's cast for removing, for 
> example immutability:
>
> immutable int* p = ...;
> int* q = cast(int*)p;
>
> I think the goal is not clearly expressed with this cast. It 
> does not show that it's intension is to remove immutability and 
> otherwise let that type unchanged. If later a mismatch is 
> introduced between the left and the right type of data, that 
> inoffensive cast could create problems by hiding an error that 
> should have been spotted.
>
> Something like that would be more expressive:
>
> immutable int* p = ...;
> int* q = uncast(immutable)p;
> //or
> int* q = cast(~immutable)p;
>
> This way, invalid implicit conversions from p's type to q's 
> type would be spotted.
Well, my question was actually on-purpose automatic casting. 
Something like:
b = autocast( a );
Because I am auto casting with a keyword, compiler shouldn't 
complain about it as well. This can also solve "uncast" thing.
    
    
More information about the Digitalmars-d-learn
mailing list