Around line 182 this line appears in std.signals: slots[slots_idx + 1 .. length] = null; This should be changed to: slots[slots_idx + 1 .. $] = null; Or it will fail to compile when Signal is mixed into any class that defines a .length member. Oh, and that usage of 'length' should be killed entirely because it's just a bad idea, as has been discussed before.