blob: 4eb3663afc6d8f814e8e9c1855c0d316b100f260 [file] [log] [blame]
/* TEST_OUTPUT:
---
fail_compilation/fail18093.d(19): Error: function `void fail18093.GenericTransitiveVisitor!(ASTCodegen).GenericTransitiveVisitor.ParseVisitMethods!(ASTCodegen).visit()` does not override any function, did you mean to override `extern (C++) void fail18093.ParseTimeVisitor!(ASTCodegen).ParseTimeVisitor.visit()`?
fail_compilation/fail18093.d(24): Error: mixin `fail18093.GenericTransitiveVisitor!(ASTCodegen).GenericTransitiveVisitor.ParseVisitMethods!(ASTCodegen)` error instantiating
fail_compilation/fail18093.d(27): Error: template instance `fail18093.GenericTransitiveVisitor!(ASTCodegen)` error instantiating
---
* https://issues.dlang.org/show_bug.cgi?id=18093
*/
struct ASTCodegen {}
extern (C++) class ParseTimeVisitor(AST)
{
void visit() {}
}
template ParseVisitMethods(AST)
{
override void visit() {}
}
class GenericTransitiveVisitor(AST) : ParseTimeVisitor!AST
{
mixin ParseVisitMethods!AST;
}
alias SemanticTimeTransitiveVisitor = GenericTransitiveVisitor!ASTCodegen;