)]}'
{
  "commit": "fbe801acb449328fa84811ba12b58e9a2b35ecbc",
  "tree": "bf178ea15feb15e6f447e86c5cf6e541e2345ef2",
  "parents": [
    "c6786ca07f73200a2c7a6387520a0ea920b2921b"
  ],
  "author": {
    "name": "Chayim Refael Friedman",
    "email": "chayimfr@gmail.com",
    "time": "Sun May 03 04:54:23 2026 +0300"
  },
  "committer": {
    "name": "Chayim Refael Friedman",
    "email": "chayimfr@gmail.com",
    "time": "Sat May 23 23:27:18 2026 +0300"
  },
  "message": "Refactor handling of generic params in `hir::Type`\n\nThe essence of the new handling is that `hir::Type` now remembers its owner (and not `ParamEnv`; we could remember both but that is unnecessary) and refuse (panics) to work with types not from the same owner. It would be best if we could enforce this statically, but unfortunately we can\u0027t.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9582f2ceba831e114b748f279b498e2c61b9b456",
      "old_mode": 33188,
      "old_path": "crates/hir-ty/src/traits.rs",
      "new_id": "f6b5adfb6fffc0fde19fd381eb8d74f16fc0ca28",
      "new_mode": 33188,
      "new_path": "crates/hir-ty/src/traits.rs"
    },
    {
      "type": "modify",
      "old_id": "f9cf05e73a10383a47bc1be66e31b0dc8327b1e4",
      "old_mode": 33188,
      "old_path": "crates/hir/src/attrs.rs",
      "new_id": "9a61885ccb7016ecb774a0a13e2d5076a1827774",
      "new_mode": 33188,
      "new_path": "crates/hir/src/attrs.rs"
    },
    {
      "type": "modify",
      "old_id": "2d2883eb60e14e35df478d64b78102b24ab5f4f2",
      "old_mode": 33188,
      "old_path": "crates/hir/src/diagnostics.rs",
      "new_id": "f5b1463f6ffb6b914ecb0072f1b011ae45763476",
      "new_mode": 33188,
      "new_path": "crates/hir/src/diagnostics.rs"
    },
    {
      "type": "modify",
      "old_id": "c3af5fa7cef8a39809c13b802f68426d4bb001f7",
      "old_mode": 33188,
      "old_path": "crates/hir/src/display.rs",
      "new_id": "ed18482bf3807d866ed2b6ad7b100927ca0f7c9a",
      "new_mode": 33188,
      "new_path": "crates/hir/src/display.rs"
    },
    {
      "type": "modify",
      "old_id": "02800fda98367b8c72c5d71705caab1569cf5dcf",
      "old_mode": 33188,
      "old_path": "crates/hir/src/lib.rs",
      "new_id": "d187763151a2264824adeb3d13d4571f0a92e936",
      "new_mode": 33188,
      "new_path": "crates/hir/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "562c78809a6dfda32bbf6774df4fff30e1e6b5d3",
      "old_mode": 33188,
      "old_path": "crates/hir/src/semantics.rs",
      "new_id": "a23d045c6fc0a5b8a9ac31db0c0dc53749e8a465",
      "new_mode": 33188,
      "new_path": "crates/hir/src/semantics.rs"
    },
    {
      "type": "modify",
      "old_id": "3afa98365e18b2b8454681ec12074f54a316517b",
      "old_mode": 33188,
      "old_path": "crates/hir/src/source_analyzer.rs",
      "new_id": "f24ec420b5dfb458b6d758944589f47ba051f604",
      "new_mode": 33188,
      "new_path": "crates/hir/src/source_analyzer.rs"
    },
    {
      "type": "modify",
      "old_id": "e3d0121e4912373133e3294709a7831c158c45ec",
      "old_mode": 33188,
      "old_path": "crates/hir/src/term_search/expr.rs",
      "new_id": "a824c8bdca5d96e5cedb6b3093d7ad4607222679",
      "new_mode": 33188,
      "new_path": "crates/hir/src/term_search/expr.rs"
    },
    {
      "type": "modify",
      "old_id": "67b6fd64c1e6d2408907fbed6c78e66948a98888",
      "old_mode": 33188,
      "old_path": "crates/hir/src/term_search/tactics.rs",
      "new_id": "2b7f7da3bf0d30ab209eba4bc3a560022039d5c3",
      "new_mode": 33188,
      "new_path": "crates/hir/src/term_search/tactics.rs"
    },
    {
      "type": "modify",
      "old_id": "667a1d7813c5cbd538640dd2a401c0fe30cbf1f6",
      "old_mode": 33188,
      "old_path": "crates/ide-assists/src/handlers/add_missing_match_arms.rs",
      "new_id": "632fe0d72cfa53a79062c4078fa90d6f60f60301",
      "new_mode": 33188,
      "new_path": "crates/ide-assists/src/handlers/add_missing_match_arms.rs"
    },
    {
      "type": "modify",
      "old_id": "d6e459d04409c254d3812b359b1f4bb14079a936",
      "old_mode": 33188,
      "old_path": "crates/ide-assists/src/handlers/auto_import.rs",
      "new_id": "dd082476d2d62116e106df2035ee73c07ea6673e",
      "new_mode": 33188,
      "new_path": "crates/ide-assists/src/handlers/auto_import.rs"
    },
    {
      "type": "modify",
      "old_id": "4aa11b4e03c85c18c546c86f2dfe41a587274c3c",
      "old_mode": 33188,
      "old_path": "crates/ide-assists/src/handlers/expand_rest_pattern.rs",
      "new_id": "8ae322c020038f6b1bcf52dfe7bafaae43f6e9fd",
      "new_mode": 33188,
      "new_path": "crates/ide-assists/src/handlers/expand_rest_pattern.rs"
    },
    {
      "type": "modify",
      "old_id": "52df6182ac56f065d180061b37dcacefb8c77d38",
      "old_mode": 33188,
      "old_path": "crates/ide-assists/src/handlers/generate_from_impl_for_enum.rs",
      "new_id": "1617016172d02ee7853b6f35f1e9c6b4489d4847",
      "new_mode": 33188,
      "new_path": "crates/ide-assists/src/handlers/generate_from_impl_for_enum.rs"
    },
    {
      "type": "modify",
      "old_id": "4348dfa212c703017f6b25815d1b83bdaac65fa4",
      "old_mode": 33188,
      "old_path": "crates/ide-assists/src/handlers/generate_single_field_struct_from.rs",
      "new_id": "d5629e2e7e07336127445f867d8e82638c0d4a5c",
      "new_mode": 33188,
      "new_path": "crates/ide-assists/src/handlers/generate_single_field_struct_from.rs"
    },
    {
      "type": "modify",
      "old_id": "22b8861e5f543a0af7e41e96b2f3c695250fba5d",
      "old_mode": 33188,
      "old_path": "crates/ide-assists/src/handlers/replace_method_eager_lazy.rs",
      "new_id": "17ee8597c10202bb62a9f44b92dfa55cd033cb05",
      "new_mode": 33188,
      "new_path": "crates/ide-assists/src/handlers/replace_method_eager_lazy.rs"
    },
    {
      "type": "modify",
      "old_id": "f9c103aab8f1f26764086c60aba7fc3a85ec05a6",
      "old_mode": 33188,
      "old_path": "crates/ide-assists/src/handlers/wrap_return_type.rs",
      "new_id": "032cc28858c29c74852db58033919a3ce67601c0",
      "new_mode": 33188,
      "new_path": "crates/ide-assists/src/handlers/wrap_return_type.rs"
    },
    {
      "type": "modify",
      "old_id": "f3190bbbc82e6207c9359089d03c8835fc842936",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/completions.rs",
      "new_id": "20048ea97b2c822682b0eb9d431d5c92e85d0978",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/completions.rs"
    },
    {
      "type": "modify",
      "old_id": "a2a4cbac2161b1c1124d97615673ac4ae3a11c9c",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/completions/expr.rs",
      "new_id": "506662ca723764ea2051088acc800af27d3bcd6b",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/completions/expr.rs"
    },
    {
      "type": "modify",
      "old_id": "1238a91dad8713f9c0e8a15d778b3001dec2b756",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/completions/record.rs",
      "new_id": "48a51690271b181133c932eb811fbbd0464d9ab4",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/completions/record.rs"
    },
    {
      "type": "modify",
      "old_id": "e4d599742dbe8be246a2becc7d89edb0e012db26",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/context.rs",
      "new_id": "df628292693676870378ebdc8c4cf02739e74ce4",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/context.rs"
    },
    {
      "type": "modify",
      "old_id": "4fb8248e780b34aee1941ea0b0fd86eb5bb1dd50",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/context/analysis.rs",
      "new_id": "7aec6f7e8f9e6309cf7ad424e539072ba97a47b3",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/context/analysis.rs"
    },
    {
      "type": "modify",
      "old_id": "bc71c1da2b8bfdcb2bb3310be6841fca74acf046",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/render.rs",
      "new_id": "f559aae789e242161494f95afa23357184ca96af",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/render.rs"
    },
    {
      "type": "modify",
      "old_id": "ea228fdd60e50423a6acf09e587455a19b292abf",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/render/function.rs",
      "new_id": "4f70a90affbdf92ac6a02cb5db35ba7f6f437dc4",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/render/function.rs"
    },
    {
      "type": "modify",
      "old_id": "9e0cec62e6418e38b0e2f43066c3d249e51b573f",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/render/literal.rs",
      "new_id": "943ff58219693857a5bad945037ef85c8dc92387",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/render/literal.rs"
    },
    {
      "type": "modify",
      "old_id": "392ecbc302ae547dd5105e957684c07413273184",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/render/pattern.rs",
      "new_id": "7e70aa13d422981abfea97f08a0422542b54a6ef",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/render/pattern.rs"
    },
    {
      "type": "modify",
      "old_id": "f86af6cdcb7d8ee064cc064156da32bb694952ca",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/render/variant.rs",
      "new_id": "8d1b88596982b47f035acef705187364172e84a5",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/render/variant.rs"
    },
    {
      "type": "modify",
      "old_id": "4a4b09c6585a1a7c2c7f99a4770d1e2e13efafbd",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/tests/expression.rs",
      "new_id": "595c864ae3c270e979c8feecf05fc4f81234e84c",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/tests/expression.rs"
    },
    {
      "type": "modify",
      "old_id": "9826a8ed7b33a001c6c0063afcb7d05bdd533926",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/tests/predicate.rs",
      "new_id": "3f3a6f4cf574dad717e257a3097d469600bd90cd",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/tests/predicate.rs"
    },
    {
      "type": "modify",
      "old_id": "24080334ae9b9b36231fd651c0eb561e78a5e7a3",
      "old_mode": 33188,
      "old_path": "crates/ide-completion/src/tests/type_pos.rs",
      "new_id": "ad058901c0473b6550f086df72778dd9cbbc6864",
      "new_mode": 33188,
      "new_path": "crates/ide-completion/src/tests/type_pos.rs"
    },
    {
      "type": "modify",
      "old_id": "76fea5c2623cab2f938a1a368a63119afe8b6883",
      "old_mode": 33188,
      "old_path": "crates/ide-db/src/syntax_helpers/suggest_name.rs",
      "new_id": "15920595a82712ea1fdfbed78b4ff2d756bd09d1",
      "new_mode": 33188,
      "new_path": "crates/ide-db/src/syntax_helpers/suggest_name.rs"
    },
    {
      "type": "modify",
      "old_id": "08791fecbedbcbd5a85f1a9bcc24b16e319258e7",
      "old_mode": 33188,
      "old_path": "crates/ide-diagnostics/src/handlers/type_mismatch.rs",
      "new_id": "678e45e145dc6c5510c191e3f7e12759293f069b",
      "new_mode": 33188,
      "new_path": "crates/ide-diagnostics/src/handlers/type_mismatch.rs"
    },
    {
      "type": "modify",
      "old_id": "ae208fe1b561534cf69b3a9fd8c22dd335bd80eb",
      "old_mode": 33188,
      "old_path": "crates/ide/src/goto_type_definition.rs",
      "new_id": "ffd144a827e341f0faf4fc8921d595f610f94eb4",
      "new_mode": 33188,
      "new_path": "crates/ide/src/goto_type_definition.rs"
    },
    {
      "type": "modify",
      "old_id": "df1fcecc991fe15030c91c2921ff38cf04ad9471",
      "old_mode": 33188,
      "old_path": "crates/ide/src/hover.rs",
      "new_id": "c3a8e0362fee8525fe51f7f124c47530090b4af2",
      "new_mode": 33188,
      "new_path": "crates/ide/src/hover.rs"
    },
    {
      "type": "modify",
      "old_id": "e08bbc5c21b65c28458d789ba27a67d630411c86",
      "old_mode": 33188,
      "old_path": "crates/ide/src/hover/render.rs",
      "new_id": "da4f185d756412f88cec98fe455f72d1da7c3f0e",
      "new_mode": 33188,
      "new_path": "crates/ide/src/hover/render.rs"
    },
    {
      "type": "modify",
      "old_id": "b664187932efac78144724bc1c93dddc6195b82f",
      "old_mode": 33188,
      "old_path": "crates/ide/src/rename.rs",
      "new_id": "e220cbdce8d326f49f6e4c5c8df6626c9f8c4963",
      "new_mode": 33188,
      "new_path": "crates/ide/src/rename.rs"
    },
    {
      "type": "modify",
      "old_id": "7854a14187b3f66dce63fcce7cefcdd79243b925",
      "old_mode": 33188,
      "old_path": "crates/ide/src/signature_help.rs",
      "new_id": "0022c1148a14c323f99b4dea670e8cabacacf342",
      "new_mode": 33188,
      "new_path": "crates/ide/src/signature_help.rs"
    },
    {
      "type": "modify",
      "old_id": "1b9df9722b07eb4312fb1ed4fee90c41a1f493ca",
      "old_mode": 33188,
      "old_path": "crates/ide/src/view_memory_layout.rs",
      "new_id": "03bde6f3e545bfd120e567ea5f9fecf042deb452",
      "new_mode": 33188,
      "new_path": "crates/ide/src/view_memory_layout.rs"
    },
    {
      "type": "modify",
      "old_id": "ec5503fe39f5b0cb730d338c908f4f9e333a2646",
      "old_mode": 33188,
      "old_path": "crates/rust-analyzer/src/cli/analysis_stats.rs",
      "new_id": "1a036c3b9919506af8654b4f88a25d7cf69945fa",
      "new_mode": 33188,
      "new_path": "crates/rust-analyzer/src/cli/analysis_stats.rs"
    }
  ]
}
