Example code: ```d module app; import std; void main() { auto x = new Derived(10, 20); } struct Base { int a; } struct Derived { Base base; int b; alias this = base; @disable this(); // `a` is not available for use with constructor parameters. // this( typeof(a) _a, typeof(b) _b ) { // // inside the body of the constructor, `a` is available! // a = _a; b = _b; writeln( a, ", ", b ); } } ``` Error: `Error: undefined identifier a` Problem: The compiler can't find the symbol `a` in the constructor parameters, although the symbol was "imported" into the struct scope by using `alias this = base;`.
This works with `-preview=fixAliasThis`. Maybe we can close this as WORKSFORME?
(In reply to timon.gehr from comment #1) > This works with `-preview=fixAliasThis`. Maybe we can close this as > WORKSFORME? Thanks, that works! Will the preview get included into regular D in the near feature? „WorksForMeOnly“ is not so good if you want to make a public D package. ;)