Why not move cast to the standard library?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Sep 24 10:08:11 PDT 2009


downs wrote:
> Andrei Alexandrescu wrote:
>> downs wrote:
>>> With all the neat template tricks we have in 2.0, and since we're
>>> widely redefining the syntax anyway, why not deprecate the current
>>> cast syntax and move it into object.d as a library function?
>>>
>>> So instead of cast(Foo) bar; you would say cast!Foo(bar); .. save on a
>>> keyword and demonstrate language power at the same time.
>>>
>>> What sez ye?
>> What would the implementation look like?
>>
>> Andrei
> 
> Unions, and LOTS of static ifs. :)

Unions won't work for casting class objects and interfaces because those 
do pointer adjustments. I think cast must be a primitive.

Andrei



More information about the Digitalmars-d mailing list