)]}'
{
  "commit": "7da9ee9207c55a783567eb46c71fa89cb5b43461",
  "tree": "c8c731f109dc2c0a82b4dbd2435bff9ec047ac2e",
  "parents": [
    "a71df7e143b57427c1f8a917654e7b0ed1ceb919"
  ],
  "author": {
    "name": "Zhao Liu",
    "email": "zhao1.liu@intel.com",
    "time": "Mon Sep 08 12:49:39 2025 +0200"
  },
  "committer": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Wed Sep 17 19:00:56 2025 +0200"
  },
  "message": "rust: vmstate: convert to use builder pattern\n\nSimilar to MemoryRegionOps, the builder pattern has two advantages:\n1) it makes it possible to build a VMStateDescription that knows which\ntypes it will be invoked on; 2) it provides a way to wrap the callbacks\nand let devices avoid \"unsafe\".\n\nUnfortunately, building a static VMStateDescription requires the\nbuilder methods to be \"const\", and because the VMStateFields are\n*also* static, this requires const_refs_static.  So this requires\nRust 1.83.0.\n\nSigned-off-by: Zhao Liu \u003czhao1.liu@intel.com\u003e\nLink: https://lore.kernel.org/r/20250908105005.2119297-8-pbonzini@redhat.com\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "98e3a33a3ceb162975c0007a673da63ad17a8319",
      "old_mode": 33188,
      "old_path": "docs/devel/rust.rst",
      "new_id": "aca29e55c05700671292865326d2eb642fe7ff44",
      "new_mode": 33188,
      "new_path": "docs/devel/rust.rst"
    },
    {
      "type": "modify",
      "old_id": "37944635202f474ee7b542abfb1083dcb76f291a",
      "old_mode": 33188,
      "old_path": "rust/hw/char/pl011/src/device.rs",
      "new_id": "21611d9c099ef0ebcfb785455ac1b83c28bf3bab",
      "new_mode": 33188,
      "new_path": "rust/hw/char/pl011/src/device.rs"
    },
    {
      "type": "modify",
      "old_id": "01d5a0dd70c19f7aadbc9525dc726d25e8738ac1",
      "old_mode": 33188,
      "old_path": "rust/hw/timer/hpet/src/device.rs",
      "new_id": "955cf869ff696eb6d948066f03436fc6a38b59ca",
      "new_mode": 33188,
      "new_path": "rust/hw/timer/hpet/src/device.rs"
    },
    {
      "type": "modify",
      "old_id": "18d101448b93652df20f8f3f9c9b678c38a2df1f",
      "old_mode": 33188,
      "old_path": "rust/qemu-api/src/errno.rs",
      "new_id": "507850fe33cb6d5eb18cd51c6c825ae697291f49",
      "new_mode": 33188,
      "new_path": "rust/qemu-api/src/errno.rs"
    },
    {
      "type": "modify",
      "old_id": "6a58a00e3fc465b6864af63e07b2bf14169a6d95",
      "old_mode": 33188,
      "old_path": "rust/qemu-api/src/qdev.rs",
      "new_id": "4dda8c811314399569c9e4c767c654b56ece4f33",
      "new_mode": 33188,
      "new_path": "rust/qemu-api/src/qdev.rs"
    },
    {
      "type": "modify",
      "old_id": "8515e3821351c346a126b5f8d21468b87e937cb0",
      "old_mode": 33188,
      "old_path": "rust/qemu-api/src/vmstate.rs",
      "new_id": "f5f1ea5590f67460bf2e6d703088bd29b79da9f8",
      "new_mode": 33188,
      "new_path": "rust/qemu-api/src/vmstate.rs"
    },
    {
      "type": "modify",
      "old_id": "aff3eecd654e14952884d96cc793548df4e390b0",
      "old_mode": 33188,
      "old_path": "rust/qemu-api/tests/tests.rs",
      "new_id": "4d4e4653f38e7f17114701d1e8f9469ed89f9c05",
      "new_mode": 33188,
      "new_path": "rust/qemu-api/tests/tests.rs"
    },
    {
      "type": "modify",
      "old_id": "bded836eb608d842501ff63ce6cfa80918a163f9",
      "old_mode": 33188,
      "old_path": "rust/qemu-api/tests/vmstate_tests.rs",
      "new_id": "8ffc2779d4613856ef2b41a1a2a5f964d0120413",
      "new_mode": 33188,
      "new_path": "rust/qemu-api/tests/vmstate_tests.rs"
    }
  ]
}
