)]}'
{
  "commit": "778fc4d9e3e9b3c64a9dbee5c75c92364cd73cd2",
  "tree": "c81017e9b2cefba728dac470f6c0fc7efbe06351",
  "parents": [
    "da38dec45ba22c0980d2c3f0cf2b89e77c9542da"
  ],
  "author": {
    "name": "Parman Mohammadalizadeh",
    "email": "prmma23@gmail.com",
    "time": "Tue Aug 18 22:06:11 2026 +0200"
  },
  "committer": {
    "name": "Parman Mohammadalizadeh",
    "email": "prmma23@gmail.com",
    "time": "Tue Aug 18 22:06:11 2026 +0200"
  },
  "message": "fix: allow `asm!` label blocks to diverge\n\nLabel operands were inferred with `infer_expr`, which demands the block\u0027s\ntype be equal to `()`. A block that diverges has type `!`, so code like\n`label { break; }` inside a loop reported a false `expected (), found !`.\n\nFollow rustc\u0027s handling in `check_expr_asm` and only demand a supertype\nwhen the block does not diverge, saving and restoring `diverges` around\nit.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0446978dd996a87e2c1432fa9842add308593496",
      "old_mode": 33188,
      "old_path": "src/tools/rust-analyzer/crates/hir-ty/src/infer/expr.rs",
      "new_id": "f247b517c541f01265bf0ef22d8996647a584d2e",
      "new_mode": 33188,
      "new_path": "src/tools/rust-analyzer/crates/hir-ty/src/infer/expr.rs"
    },
    {
      "type": "modify",
      "old_id": "3cdfe4edcb908ddd827e847e48b3b990f9f6562b",
      "old_mode": 33188,
      "old_path": "src/tools/rust-analyzer/crates/hir-ty/src/tests/simple.rs",
      "new_id": "97921e8ab92d5891c1f663bdb6abb7ae5f87338a",
      "new_mode": 33188,
      "new_path": "src/tools/rust-analyzer/crates/hir-ty/src/tests/simple.rs"
    }
  ]
}
