Immutability issues with unions ring a bell for me. This may be related to
issue 12885 [1] which is the result of dmd pull #2665 [2] which even
mentions std.date.SysTime.
Here's a reduced version of your test case:
---
struct Rebindable
{
union
{
int m;
immutable int i;
}
void opAssign(Rebindable another) {}
}
struct Foo3
{
// Remove the union or _timezone and dmd accepts it.
union
{
int m;
immutable int i;
}
Rebindable _timezone;
}
void main()
{
Foo3 foo3;
foo3 = Foo3();
}
---
[1] https://issues.dlang.org/show_bug.cgi?id=12885
[2] https://github.com/D-Programming-Language/dmd/pull/2665