)]}'
{
  "commit": "a80f20df1ed7121908b65abfa6393beeaae7d702",
  "tree": "c90de47828f1d5836b6e3c04b5e9a84505ba827c",
  "parents": [
    "b924f94129bce80f36dd9f08bb78dd5393fe196e"
  ],
  "author": {
    "name": "Joao Roberto",
    "email": "dnreikronos2@gmail.com",
    "time": "Tue Sep 08 11:28:36 2026 -0300"
  },
  "committer": {
    "name": "Joao Roberto",
    "email": "dnreikronos2@gmail.com",
    "time": "Tue Sep 08 11:28:36 2026 -0300"
  },
  "message": "Keep type-op region constraints in borrowck\n\nUnder `-Zassumptions-on-binders` the next solver stores its region\nconstraints in the `InferCtxt` instead of registering region\nobligations. The canonical type-op path never copied them into\n`QueryResponse`, so they were dropped once the query\u0027s inference\ncontext went away. Borrowck then saw a type op with no constraints and\nlost the outlives error entirely.\n\n`QueryRegionConstraints` now carries the constraint next to the old\nstyle constraints and assumptions. It stays unspanned while passing\nthrough a canonical query and the caller attaches its own origin span\nwhen consuming the response.\n\nBorrowck accumulates these in `MirTypeckRegionConstraints` through\n`ConstraintConversion`, the same way it handles everything else, and\ndestructures them into NLL outlives constraints at the end of MIR type\nchecking. Implied bound normalization was dropping the same constraint\nbefore lexical regionck, so that path registers it now as well.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "11b8890346dfb08a0a738aa9c00332ceb466bc97",
      "old_mode": 33188,
      "old_path": "compiler/rustc_borrowck/src/handle_placeholders.rs",
      "new_id": "bdb30090925d0e37c3b9de4321acf64345672d0e",
      "new_mode": 33188,
      "new_path": "compiler/rustc_borrowck/src/handle_placeholders.rs"
    },
    {
      "type": "modify",
      "old_id": "f845d9137f759c4b5eab73f543f79a47f8dce255",
      "old_mode": 33188,
      "old_path": "compiler/rustc_borrowck/src/type_check/constraint_conversion.rs",
      "new_id": "f11e3b8fd6d80880c47a0e875539aca713294e68",
      "new_mode": 33188,
      "new_path": "compiler/rustc_borrowck/src/type_check/constraint_conversion.rs"
    },
    {
      "type": "modify",
      "old_id": "9f23a0d5ab631254ee979c855141494efb68c8f7",
      "old_mode": 33188,
      "old_path": "compiler/rustc_borrowck/src/type_check/mod.rs",
      "new_id": "ed080c26d60f34b5f2e603413f517f10e49498a4",
      "new_mode": 33188,
      "new_path": "compiler/rustc_borrowck/src/type_check/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "cd35af8be73cf4cf71b664d09d49c46d811e0c93",
      "old_mode": 33188,
      "old_path": "compiler/rustc_infer/src/infer/canonical/query_response.rs",
      "new_id": "d1c4480b593478d5fec5f29d22d64ed409eaf1d9",
      "new_mode": 33188,
      "new_path": "compiler/rustc_infer/src/infer/canonical/query_response.rs"
    },
    {
      "type": "modify",
      "old_id": "42f686b39136bf20e14669429a92bdde380d7de6",
      "old_mode": 33188,
      "old_path": "compiler/rustc_infer/src/infer/outlives/obligations.rs",
      "new_id": "c7fafd00ce7403c0c59b440f7cd79d05963455bc",
      "new_mode": 33188,
      "new_path": "compiler/rustc_infer/src/infer/outlives/obligations.rs"
    },
    {
      "type": "modify",
      "old_id": "09baae2ca8a4246c4c756a4ac0927965dd135757",
      "old_mode": 33188,
      "old_path": "compiler/rustc_infer/src/infer/solver_region_constraints.rs",
      "new_id": "965ccf70442b8dcf0a1fd4a878e8dca084928178",
      "new_mode": 33188,
      "new_path": "compiler/rustc_infer/src/infer/solver_region_constraints.rs"
    },
    {
      "type": "modify",
      "old_id": "529ecf43f5ee1e1772110eb2cf8435f4a621ee1a",
      "old_mode": 33188,
      "old_path": "compiler/rustc_infer/src/infer/solver_region_constraints/tests.rs",
      "new_id": "540aa5e4f8cb22073d558b05e18f72642359fb1c",
      "new_mode": 33188,
      "new_path": "compiler/rustc_infer/src/infer/solver_region_constraints/tests.rs"
    },
    {
      "type": "modify",
      "old_id": "46429f7adfb1232974c0cb52559f2252295c44db",
      "old_mode": 33188,
      "old_path": "compiler/rustc_middle/src/infer/canonical.rs",
      "new_id": "f99280bb744a1ec7b96a78a56d073863348078ff",
      "new_mode": 33188,
      "new_path": "compiler/rustc_middle/src/infer/canonical.rs"
    },
    {
      "type": "modify",
      "old_id": "818d8e1a4e0c346ec5e3f871739151259c3d2c16",
      "old_mode": 33188,
      "old_path": "compiler/rustc_trait_selection/src/solve/delegate.rs",
      "new_id": "60339b19822331b06f4a35e1eb44f1dccbdc26d6",
      "new_mode": 33188,
      "new_path": "compiler/rustc_trait_selection/src/solve/delegate.rs"
    },
    {
      "type": "modify",
      "old_id": "84cae1e7bfa0ab06f03f9c91161a81b0711b5bb8",
      "old_mode": 33188,
      "old_path": "compiler/rustc_trait_selection/src/traits/outlives_bounds.rs",
      "new_id": "bcb932f74b1f805161eb1d9998b6868931f85ec8",
      "new_mode": 33188,
      "new_path": "compiler/rustc_trait_selection/src/traits/outlives_bounds.rs"
    },
    {
      "type": "modify",
      "old_id": "25385d15e36f41a1d5c0125321b0c8b90b2ea5c6",
      "old_mode": 33188,
      "old_path": "compiler/rustc_trait_selection/src/traits/query/type_op/custom.rs",
      "new_id": "39f439cad64d3f67dca650f4b9a6798fe4a77f26",
      "new_mode": 33188,
      "new_path": "compiler/rustc_trait_selection/src/traits/query/type_op/custom.rs"
    },
    {
      "type": "modify",
      "old_id": "250579a2b064a454a86a90cf6c7a08f34a3f67a4",
      "old_mode": 33188,
      "old_path": "compiler/rustc_trait_selection/src/traits/query/type_op/mod.rs",
      "new_id": "ac516afbc783c8cd0935c45a3dfdc1bab035f24a",
      "new_mode": 33188,
      "new_path": "compiler/rustc_trait_selection/src/traits/query/type_op/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "762471eefe4ddecf39bddaa3748b4cd34d67502b",
      "old_mode": 33188,
      "old_path": "compiler/rustc_traits/src/coroutine_witnesses.rs",
      "new_id": "b7ff4cca0bb1fe06de0c7939dee063a57fa7964e",
      "new_mode": 33188,
      "new_path": "compiler/rustc_traits/src/coroutine_witnesses.rs"
    },
    {
      "type": "modify",
      "old_id": "0c2ed6585cf45d4ac9026e6d9d7f1c70655e66f8",
      "old_mode": 33188,
      "old_path": "tests/ui/assumptions_on_binders/alias_outlives.rs",
      "new_id": "9e1516132dd9d7097b2853662bbc7822fd5b02d3",
      "new_mode": 33188,
      "new_path": "tests/ui/assumptions_on_binders/alias_outlives.rs"
    },
    {
      "type": "modify",
      "old_id": "1787c1912ae4f20a3fe022a232fe7bf9d809c736",
      "old_mode": 33188,
      "old_path": "tests/ui/assumptions_on_binders/alias_outlives.stderr",
      "new_id": "a6eaf3e11bad7b1cd947e1a628332074a0facd0b",
      "new_mode": 33188,
      "new_path": "tests/ui/assumptions_on_binders/alias_outlives.stderr"
    }
  ]
}
