)]}'
{
  "commit": "32d9e2c0fc4dd699b3ae4df19388134382cca839",
  "tree": "a8259e551e2e0245aacf45aad7c673221d591dae",
  "parents": [
    "d2715c07e9dd9839c0c7675ecfa18bec539a6ee9"
  ],
  "author": {
    "name": "Travis Cross",
    "email": "tc@traviscross.com",
    "time": "Sat Apr 04 17:52:42 2026 +0000"
  },
  "committer": {
    "name": "Travis Cross",
    "email": "tc@traviscross.com",
    "time": "Sat Apr 04 19:53:38 2026 +0000"
  },
  "message": "Clarify that `{self}` imports require a module parent\n\nThe `self` keyword in a use brace (e.g., `use m::{self}`) creates a\nbinding for the parent entity.  The note in `items.use.self.intro`\nsays that `self` \"means the current module of the parent segment\", but\nthere\u0027s no rule restricting what the parent can be.\n\nThe parent path must resolve to a module, enumeration, or trait --\ni.e., entities that act as modules for name resolution.  Using `self`\nwith other entities such as structs or unions is rejected by the\ncompiler (as of rust-lang/rust#152996).\n\nLet\u0027s add a rule to make this restriction explicit.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "697472c14f4a53a1b555813f73f841278d90df7d",
      "old_mode": 33188,
      "old_path": "src/items/use-declarations.md",
      "new_id": "6ffab8fb79044b7cbf6956c0c311a775a0510aab",
      "new_mode": 33188,
      "new_path": "src/items/use-declarations.md"
    }
  ]
}
