blob: b85d0c36c3fc6c95ab438eda3a936b9922e1dd58 [file] [log] [blame]
// https://issues.dlang.org/show_bug.cgi?id=21093
/*
TEST_OUTPUT:
---
fail_compilation/test21093.d(24): Error: function `test21093.LocalTime.hasDST` does not override any function
fail_compilation/test21093.d(32): Error: class `test21093.LocalTime2` cannot implicitly generate a default constructor when base class `test21093.TimeZone2` is missing a default constructor
fail_compilation/test21093.d(44): Error: function `test21093.LocalTime3.string` does not override any function
fail_compilation/test21093.d(55): Error: cannot implicitly override base class method `test21093.TimeZone4.hasDST` with `test21093.LocalTime4.hasDST`; add `override` attribute
---
*/
void fromUnixTime(immutable TimeZone tz = LocalTime()) { }
void fromUnixTime(immutable TimeZone2 tz = LocalTime2()) { }
void fromUnixTime(immutable TimeZone3 tz = LocalTime3()) { }
void fromUnixTime(immutable TimeZone4 tz = LocalTime4()) { }
class TimeZone
{
}
class LocalTime : TimeZone
{
static immutable(LocalTime) opCall() { }
override hasDST() { }
}
class TimeZone2
{
this(string) { }
}
class LocalTime2 : TimeZone2
{
static immutable(LocalTime2) opCall() { }
}
class TimeZone3
{
}
class LocalTime3 : TimeZone3
{
static immutable(LocalTime3) opCall() { }
override string () { }
}
class TimeZone4
{
bool hasDST();
}
class LocalTime4 : TimeZone4
{
static immutable(LocalTime4) opCall() { }
bool hasDST() { }
}