)]}'
{
  "commit": "1fc4b67256ef0691d67057231a3f3630be0ef6e6",
  "tree": "f44bd01acf2404de88a1c7f2d0656f8e39a22f84",
  "parents": [
    "048d75aa5f881235c88256b6d3fdaaaeadb5aa32"
  ],
  "author": {
    "name": "Travis Cross",
    "email": "tc@traviscross.com",
    "time": "Wed May 14 12:39:49 2025 +0000"
  },
  "committer": {
    "name": "Eric Huss",
    "email": "eric@huss.org",
    "time": "Thu May 15 05:56:33 2025 -0700"
  },
  "message": "Fix grammar for `LiteralPattern` regarding `-`\n\nWe had documented that only numeric literals in patterns can be\nprefixed by `-` (minus), but the Rust parser happily accepts a minus\nahead of all literals in patterns.  E.g.:\n\n```rust\nmatch () {\n    -true | -false \u003d\u003e (),\n    -\u0027x\u0027 \u003d\u003e (),\n    -b\u0027x\u0027 \u003d\u003e (),\n    -\"x\" \u003d\u003e (),\n    -r\"x\" \u003d\u003e (),\n    -br\"x\" \u003d\u003e (),\n    -c\"x\" \u003d\u003e (),\n    -cr\"x\" \u003d\u003e (),\n    -1 \u003d\u003e (),\n    -1.1 \u003d\u003e (),\n}\n```\n\nIn the compiler, this happens in `Parser::parse_literal_maybe_minus`\nand `Token::can_begin_literal_maybe_minus`.\n\nLet\u0027s fix this by defining `LiteralPattern` as a `LiteralExpression`\noptionally prefixed by the minus sign.  This better matches how the\n`rustc` AST models this.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2d9ddb5acb3be0a0e509f13c4f097237015f2ea8",
      "old_mode": 33188,
      "old_path": "src/patterns.md",
      "new_id": "2818190c9fc0e07d570a2cc450defc534b3c9db1",
      "new_mode": 33188,
      "new_path": "src/patterns.md"
    }
  ]
}
