Probably a bug in VC compiler. Its creates a Nameless temporary object at

throw test:rivateStruct(4);

Or similar statements like

return test:rivateStruct(4);

and probably VC is not tested for such conditions well enough.