Relevant issues:
https://issues.dlang.org/show_bug.cgi?id=2540https://issues.dlang.org/show_bug.cgi?id=12228
DMD accepts 'this' and 'super', but this behavior is undocumented. An example of where this causes problems:
---
class A { void send() {} }
class B : A { send = super.send; }
---
The grammar doesn't allow 'super' to appear in AliasDeclarationX or BasicType, but DMD's parse.c does look for 'super' and 'this' in Parser::parseBasicType()
Comment #1 by nick — 2018-05-14T11:15:49Z
As Issue 9597 has been fixed, it looks like these keywords will no longer be accepted as types - see the recent pull for Issue 12228.