)]}'
{
  "commit": "c3bd6289f65fa7210c50bdeeb0ed4541caa33d2d",
  "tree": "c19a04f57b28a5769711a14a00d1dad4b3ad5eb1",
  "parents": [
    "49b6ac01d6f4c3da812039ae846407a20961aa4c",
    "6ab50d53e332190cbebdf709602c16732ba7aab5"
  ],
  "author": {
    "name": "bors",
    "email": "bors@rust-lang.org",
    "time": "Tue Apr 07 12:56:57 2026 +0000"
  },
  "committer": {
    "name": "bors",
    "email": "bors@rust-lang.org",
    "time": "Tue Apr 07 12:56:57 2026 +0000"
  },
  "message": "Auto merge of #154758 - WaffleLapkin:aliassss, r\u003dlcnr\n\n`ty::Alias` refactor\n\n\n\nThis PR changes the following alias-related types from this:\r\n\r\n```rust\r\npub enum AliasTyKind {\r\n    Projection,\r\n    Inherent,\r\n    Opaque,\r\n    Free,\r\n}\r\n\r\npub struct AliasTy\u003cI: Interner\u003e {\r\n    pub args: I::GenericArgs,\r\n    pub def_id: I::DefId,\r\n}\r\n\r\npub enum TyKind\u003cI: Interner\u003e {\r\n    ...\r\n    Alias(AliasTyKind, AliasTy\u003cI\u003e),\r\n}\r\n```\r\nInto this:\r\n\r\n```rust\r\npub enum AliasTyKind\u003cI: Interner\u003e {\r\n    Projection { def_id: I::DefId },\r\n    Inherent { def_id: I::DefId },\r\n    Opaque { def_id: I::DefId },\r\n    Free { def_id: I::DefId },\r\n}\r\n\r\npub struct AliasTy\u003cI: Interner\u003e {\r\n    pub args: I::GenericArgs,\r\n    pub kind: AliasTyKind\u003cI\u003e,\r\n}\r\n\r\npub enum TyKind\u003cI: Interner\u003e {\r\n    ...\r\n    Alias(AliasTy\u003cI\u003e),\r\n}\r\n```\r\n\r\n... and then does a thousand other changes to accommodate for this change everywhere.\r\n\r\nThis brings us closer to being able to have `AliasTyKind`s which don\u0027t require a `DefId` (and thus can be more easily created, etc). Although notably we depend on both `AliasTyKind -\u003e DefId` and `DefId -\u003e AliasTyKind` conversions in a bunch of places still.\r\n\r\nr? lcnr\r\n\r\n----\r\n\r\nA lot of these changes were done either by search \u0026 replace (via `ast-grep`) or on auto pilot, so I\u0027m not quite sure I didn\u0027t mess up somewhere, but at least tests pass...",
  "tree_diff": []
}
