if (!this.hasOwnProperty("TypedObject"))
  quit();

var {StructType, uint32, storage} = TypedObject;
var S = new StructType({f: uint32, g: uint32});

function readFromS(s) {
  return s.f + s.g;
}

function main(variant) {
  var s = new S({f: 22, g: 44});

  for (var i = 0; i < 10; i++)
    assertEq(readFromS(s), 66);

  neuter(storage(s).buffer, variant);

  for (var i = 0; i < 10; i++) {
    var ok = false;

    try {
      readFromS(s);
    } catch (e) {
      ok = e instanceof TypeError;
    }

    assertEq(ok, true);
  }
}

main("same-data");
main("change-data");
