test: class D { } class C { D y = new D(); alias y this; } void main() { static assert(cast(D)(new C) is null); // fails assert(cast(D)(new C) is null); // runtime version is OK }
@BorisCarvajal created dlang/dmd pull request #13332 "Fix Issue 22530 - Explicit cast between classes incorrectly goes through 'alias this' inside CTFE" fixing this issue: - Fix Issue 22530 - Explicit cast between classes incorrectly goes through 'alias this' inside CTFE https://github.com/dlang/dmd/pull/13332
dlang/dmd pull request #13332 "Fix Issue 22530 - Explicit cast between classes incorrectly goes through 'alias this' inside CTFE" was merged into stable: - fcea221e0be0dc21b1703158718466baae90ed3d by Boris Carvajal: Fix Issue 22530 - Explicit cast between classes incorrectly goes through 'alias this' inside CTFE https://github.com/dlang/dmd/pull/13332
dlang/dmd pull request #13421 "merge stable" was merged into master: - 43f1d040d9c94cc582816e977d7cba2838739f0f by Boris Carvajal: Fix Issue 22530 - Explicit cast between classes incorrectly goes through 'alias this' inside CTFE (#13332) https://github.com/dlang/dmd/pull/13421