blob: 38ca33126724644efa7ddd18d656bb875490fb50 [file] [log] [blame]
/*
TEST_OUTPUT:
---
fail_compilation/test15989.d(39): Error: variable `test15989.main.ctRegex` : Unable to initialize enum with class or pointer to struct. Use static const variable instead.
fail_compilation/test15989.d(48): Error: variable `test15989.test.c` : Unable to initialize enum with class or pointer to struct. Use static const variable instead.
fail_compilation/test15989.d(49): Error: cannot use non-constant CTFE pointer in an initializer `new int(3)`
---
*/
// https://issues.dlang.org/show_bug.cgi?id=15989
import core.stdc.stdio;
interface Kickstart{
bool foo( int );
}
class ShiftOr : Kickstart
{
bool foo( int i )
{
printf("i = %d\n", i);
return false;
}
}
struct Regex
{
Kickstart kickstart;
}
Regex regex()
{
return Regex(new ShiftOr());
}
void main()
{
enum ctRegex = regex();
Regex r = ctRegex;
r.kickstart.foo(7);
}
class C { }
void test()
{
enum c = new C();
enum pi = new int(3);
}