)]}'
{
  "commit": "12a9996192f66e7b3b5534b43e50b2e387214097",
  "tree": "f17737ac7b4186672faac6a8a10da36186b90d5e",
  "parents": [
    "913141e63916622ec63c8670584eb6f71403ff84"
  ],
  "author": {
    "name": "serge-sans-paille",
    "email": "sguelton@mozilla.com",
    "time": "Fri Apr 17 22:03:51 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Apr 17 22:03:51 2026 +0000"
  },
  "message": "[clang-tidy] Prevent false-positive in presence of derived-to-base cast in bugprone.use-after-move (#189638)\n\nThe following scenario is quite common, but was reported as a\nuse-after-move:\n\n```cpp\nstruct Base {\n  Base(Base\u0026\u0026);\n};\n\nstruct C : Base {\n    int field;\n    C(C\u0026\u0026 c) :\n      Base(std::move(c)),  // \u003c\u003c only moves through the base type\n      field(c.field) // \u003c\u003c this is a valid use-after-move\n      {}\n};\n```\n\nFix this by checking field origin when the moved value is immediately\ncast to base.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e9dfdc5de11e3d2437e58bbfa337bcdc2d5195b",
      "old_mode": 33188,
      "old_path": "clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp",
      "new_id": "31c70b3643be6c8c97225fed0ec210f67c0344c6",
      "new_mode": 33188,
      "new_path": "clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp"
    },
    {
      "type": "modify",
      "old_id": "329d0a42aef7ad10ebf2153a8ac52322026475ec",
      "old_mode": 33188,
      "old_path": "clang-tools-extra/docs/ReleaseNotes.rst",
      "new_id": "95ed0061d654cca0289e91e6f68a2a4ede1f7bc4",
      "new_mode": 33188,
      "new_path": "clang-tools-extra/docs/ReleaseNotes.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd1a0a6f6c180c9820776b8a3dda0666970c623e",
      "new_mode": 33188,
      "new_path": "clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move-derived-to-base.cpp"
    }
  ]
}
