digitalmars.D.learn - cast problem about alias this
- Sobaya (12/12) Jan 29 2018 class Parent {
- Steven Schveighoffer (5/20) Jan 29 2018 I'm sure I've seen this bug reported somewhere before. Ah yes:
- Sobaya (7/27) Jan 29 2018 I see.
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?
Jan 29 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
Jan 29 2018
On Monday, 29 January 2018 at 19:59:31 UTC, Steven Schveighoffer wrote:On 1/29/18 2:40 PM, Sobaya wrote:I see. I will continue by casting to Object for now. Hope the bug is fixed soon. Thanks! - Sobayaclass 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
Jan 29 2018