| // https://issues.dlang.org/show_bug.cgi?id=18976 |
| |
| class Expression : Statement {} |
| class Statement {} |
| |
| class AssertSemanticVisitor |
| { |
| void visit (const Statement node) { } |
| } |
| |
| class ExpressionVisitor : AssertSemanticVisitor |
| { |
| public void visit (Expression) { } |
| |
| alias visit = typeof(super).visit; |
| } |
| |
| class ExpressionVisitor2 : AssertSemanticVisitor |
| { |
| public void visit (Expression) { } |
| |
| alias visit = AssertSemanticVisitor.visit; |
| } |
| |
| void main () |
| { |
| scope x1 = new ExpressionVisitor; |
| scope x2 = new ExpressionVisitor; |
| scope y = new Statement; |
| x1.visit(y); |
| x2.visit(y); |
| } |