On Fri, Jan 17, 2014 at 09:08:50PM +0100, Jacob Carlborg wrote:
> On 2014-01-17 18:49, H. S. Teoh wrote:
> 
> >Now I'm not sure if Variant allows assignment to a static type, but
> >in theory this should be possible:
> >
> >     // assume d.abc returns a Variant
> >     int x = d.abc; // will assert if d.abc doesn't hold an int at runtime
> 
> It doesn't work. Variant doesn't retain the static type, which is
> needed in this case.
[...]

Is that because D doesn't have implicit casting via opCast? -- because,
conceivably, if

        x = d.abc;
        
gets lowered to

        x = d.opCast!(typeof(x))(d.abc);
        
then the above can be made to work.


T

-- 
If you look at a thing nine hundred and ninety-nine times, you are perfectly 
safe; if you look at it the thousandth time, you are in frightful danger of 
seeing it for the first time. -- G. K. Chesterton

Reply via email to