blob: 36543f92ebe97032395b563cdf6112eb4d462b23 [file] [log] [blame]
/*
TEST_OUTPUT:
---
fail_compilation/test13867.d(12): Error: function `void test13867.X.blah()` does not override any function, did you mean to override `extern (C++) void test13867.Base.blah()`?
fail_compilation/test13867.d(19): Error: function `void test13867.Z.blah()` does not override any function, did you mean to override `extern (C++) void test13867.Base.blah()`?
---
*/
extern (C++) class Base {
void blah() {}
}
class X : Base {
override void blah();//Error
}
extern (C++) class Y : Base {
override void blah(){}
}
class Z : Base {
alias blah = typeof(super).blah;
override void blah(){}//Error
}
class O : Base {
extern (C++) override void blah(){}
}
extern (C++) class OK : Base {
alias blah = typeof(super).blah;
override void blah(){}
}
void main() {
scope b = new Base();
b.blah();
scope x = new X();
x.blah();
scope y = new Y();
y.blah();
scope o = new O();
o.blah();
scope z = new Z();
z.blah();
}