cast problem about alias this

Steven Schveighoffer schveiguy at yahoo.com
Mon Jan 29 19:59:31 UTC 2018


On 1/29/18 2:40 PM, Sobaya wrote:
> class Parent {
>      int x;
>      alias x this;
> }
> 
> class Child : Parent {
> }
> 
> void main() {
>      Parent p = new Child;
>      Child c = cast(Child)p; // cannot cast `int` to `Child`
> }
> 
> In this code, I got a compile error.
> How can I cast p to Child?

I'm sure I've seen this bug reported somewhere before. Ah yes: 
https://issues.dlang.org/show_bug.cgi?id=6777

What you can do is cast to Object first.

-Steve


More information about the Digitalmars-d-learn mailing list