The following code compiles: import std.bigint; import std.stdio; public static void main() { writeln("Hello, world!"); BigInt big = BigInt(0); } But this code causes the compiler to enter an endless loop: import std.bigint; import std.stdio; public BigInt big = BigInt(0); public static void main() { writeln("Hello, world!"); } This seems to be generally true for any initialization of a BigInt variable outside a function. Using dmd -v, with source code in bigtest.d, it hangs at "semantic2 bigtest".
The subject code works correctly in DMD 2.054.