)]}'
{
  "commit": "9a95464ab19e3eb3467a8b9f84ba420b405e250e",
  "tree": "f07ff1e4f4129b22e56c8ba0bfcbe8da9671d236",
  "parents": [
    "0705955879fe720c915e8c9bc571eb2113a7166e"
  ],
  "author": {
    "name": "Chayim Refael Friedman",
    "email": "chayimfr@gmail.com",
    "time": "Wed Apr 22 00:03:39 2026 +0300"
  },
  "committer": {
    "name": "Chayim Refael Friedman",
    "email": "chayimfr@gmail.com",
    "time": "Wed Apr 22 00:04:57 2026 +0300"
  },
  "message": "Do not lower normal assignments into `Pat::Path`\n\nLower them as `Pat::Expr` instead.\n\nThis is a bit difficult to implement due to the way rustc checks whether a pat is a destructuring assignment, but it gains us the very desirable property that `Pat::Expr` is the only way to have an normal assignment, which simplifies the code and prevents bugs.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04437a59ac815991cc19b0845c307458aa0e12ea",
      "old_mode": 33188,
      "old_path": "crates/hir-def/src/expr_store/lower.rs",
      "new_id": "4ace4aef168d53adaacecf7e66125fc38c6d2e09",
      "new_mode": 33188,
      "new_path": "crates/hir-def/src/expr_store/lower.rs"
    },
    {
      "type": "modify",
      "old_id": "9e51d0eac98a11274ee146f716ef83b96c7e419b",
      "old_mode": 33188,
      "old_path": "crates/hir-def/src/hir.rs",
      "new_id": "031280b6e92eff29a4a1975c979b1b0c91fe29a5",
      "new_mode": 33188,
      "new_path": "crates/hir-def/src/hir.rs"
    },
    {
      "type": "modify",
      "old_id": "099fa18168b2c6b636f67c77af7efe848ed3225d",
      "old_mode": 33188,
      "old_path": "crates/hir-ty/src/infer/closure/analysis/expr_use_visitor.rs",
      "new_id": "45696c402a662d43ef3d7802d7c44af8bd5186ea",
      "new_mode": 33188,
      "new_path": "crates/hir-ty/src/infer/closure/analysis/expr_use_visitor.rs"
    },
    {
      "type": "modify",
      "old_id": "d80ea716747750c3fdfeb742d5edcc783e820d1a",
      "old_mode": 33188,
      "old_path": "crates/hir-ty/src/infer/expr.rs",
      "new_id": "f26be638067f0d0df283ae7b5f2f90d999e2baab",
      "new_mode": 33188,
      "new_path": "crates/hir-ty/src/infer/expr.rs"
    },
    {
      "type": "modify",
      "old_id": "8033680dcc5cf9e75321ecd3cf3113e7267dc281",
      "old_mode": 33188,
      "old_path": "crates/hir-ty/src/infer/pat.rs",
      "new_id": "a437253672014ba9f6c9251cbaf6c73b12571472",
      "new_mode": 33188,
      "new_path": "crates/hir-ty/src/infer/pat.rs"
    },
    {
      "type": "modify",
      "old_id": "3ea21f8265a5f7415f9f19ab78f0288c3ad9219c",
      "old_mode": 33188,
      "old_path": "crates/hir-ty/src/tests/simple.rs",
      "new_id": "c30b24cd27d37f38551c016a6df2464e447b7a92",
      "new_mode": 33188,
      "new_path": "crates/hir-ty/src/tests/simple.rs"
    },
    {
      "type": "modify",
      "old_id": "48f3c803d8322ebf55d900d5a1bd08d0397720cc",
      "old_mode": 33188,
      "old_path": "crates/hir-ty/src/upvars.rs",
      "new_id": "026e6ab18301aa1bbee3daa97f228280814f5c7f",
      "new_mode": 33188,
      "new_path": "crates/hir-ty/src/upvars.rs"
    },
    {
      "type": "modify",
      "old_id": "b7cc780ae42f7b6e07174943bea89fea01e5b5f0",
      "old_mode": 33188,
      "old_path": "crates/hir/src/semantics.rs",
      "new_id": "fe0955fc58eb8d80b37a763809a12f76a03e0048",
      "new_mode": 33188,
      "new_path": "crates/hir/src/semantics.rs"
    }
  ]
}
