expression.d (dmd-2.094.0) | : | expression.d (dmd-2.094.1) | ||
---|---|---|---|---|
skipping to change at line 1179 | skipping to change at line 1179 | |||
* the generated dtor is not). | * the generated dtor is not). | |||
* In that case the method will identify and print all members causing the a ttribute | * In that case the method will identify and print all members causing the a ttribute | |||
* missmatch. | * missmatch. | |||
* | * | |||
* Params: | * Params: | |||
* sc = scope | * sc = scope | |||
* f = potential `DtorDeclaration` | * f = potential `DtorDeclaration` | |||
* check = current check (e.g. whether it's pure) | * check = current check (e.g. whether it's pure) | |||
* checkName = the kind of check (e.g. `"pure"`) | * checkName = the kind of check (e.g. `"pure"`) | |||
*/ | */ | |||
extern (D) void checkOverridenDtor(Scope* sc, FuncDeclaration f, | extern (D) final void checkOverridenDtor(Scope* sc, FuncDeclaration f, | |||
scope bool function(DtorDeclaration) check, const string checkNa me | scope bool function(DtorDeclaration) check, const string checkNa me | |||
) { | ) { | |||
auto dd = f.isDtorDeclaration(); | auto dd = f.isDtorDeclaration(); | |||
if (!dd || !dd.generated) | if (!dd || !dd.generated) | |||
return; | return; | |||
// DtorDeclaration without parents should fail at an earlier stage | // DtorDeclaration without parents should fail at an earlier stage | |||
auto ad = cast(AggregateDeclaration) f.toParent2(); | auto ad = cast(AggregateDeclaration) f.toParent2(); | |||
assert(ad); | assert(ad); | |||
assert(ad.dtors.length); | assert(ad.dtors.length); | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added |