var constructor_copy = require("constructor_copy"); f1 = new constructor_copy.Foo1(3); f11 = new constructor_copy.Foo1(f1); if (f1.x != f11.x) { throw "error in ctor copy for Foo1"; } var good = 0; f8 = new constructor_copy.Foo8() try { f81 = new constructor_copy.Foo8(f8); good = 0; } catch (err) { good = 1; } if (good == 0) { throw "Error: should not allow calling copy ctor for Foo8"; } bi = new constructor_copy.Bari(5); bc = new constructor_copy.Bari(bi); if (bi.x != bc.x) { throw "Error in copy ctor of Bari"; } bd = new constructor_copy.Bard(5); try { bc = new constructor_copy.Bard(bd); good = 0; } catch (err) { good = 1; } if (good == 0) { throw "Error: should not allow calling copy ctor for Bard"; }