)]}'
{
  "commit": "39879e4f4022d2845de14810532f633e553fa650",
  "tree": "6d6d0e3a6819b2bed0e5d07625f6c825e6f516b1",
  "parents": [
    "2b4b4c03899ab10df82528a05520dba3971f39e5"
  ],
  "author": {
    "name": "Brian Foley",
    "email": "bpfoley@gmail.com",
    "time": "Mon Feb 03 18:57:37 2025 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Feb 03 19:57:37 2025 +0100"
  },
  "message": "[Sema] Note member decl when initializer list default constructs member (#121854)\n\nRecently I had a scenario where I had:\n1. A class C with many members m_1...m_n of the same type T\n2. T\u0027s default constructor was deleted\n3. I accidentally omitted an explicitly constructed member in the\ninitializer list C() : m_1(foo), m_2(bar), ... { }\n\nClang told me that T\u0027s default constructor was deleted, and told me that\nthe call to T() was in C() (which it implicitly was), but didn\u0027t tell me\nwhich member was being default constructed.\n\nIt was difficult to fix this problem because I had no easy way to list\nall the members of type T in C and C\u0027s superclasses which would have let\nme find which member was missing,\n\nclang/test/CXX/class/class.init/p1.cpp is a simplified version of this\nproblem (a2 is missing from the initializer list of B)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a220e57d0b32229e0afd0a7b8a9b5a89dae0e69d",
      "old_mode": 33188,
      "old_path": "clang/docs/ReleaseNotes.rst",
      "new_id": "a128726b999173e7f18247c6ab81c1617f5caa77",
      "new_mode": 33188,
      "new_path": "clang/docs/ReleaseNotes.rst"
    },
    {
      "type": "modify",
      "old_id": "8bacb1b73459f14310bcef6ebda22639bccd9e4b",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/DiagnosticSemaKinds.td",
      "new_id": "5876b2a6ae0eab6a6c274db39265973be5bdd2a2",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/DiagnosticSemaKinds.td"
    },
    {
      "type": "modify",
      "old_id": "450edcb52ae15ba720e710681695eeb48f83b48a",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaInit.cpp",
      "new_id": "f206cd57eca898b9f1f5ebf46c6760c6f6a27d39",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaInit.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "717dfba89763a7c3d9c6d9e6fdcc8605eafef618",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/class/class.init/p1.cpp"
    },
    {
      "type": "modify",
      "old_id": "e7f501352168ceb553efbe44a96467032e3aedd6",
      "old_mode": 33188,
      "old_path": "clang/test/CXX/dcl.decl/dcl.init/p14-0x.cpp",
      "new_id": "d548f9c8c2fdf11f29d47a4cabb75f8ec433eb54",
      "new_mode": 33188,
      "new_path": "clang/test/CXX/dcl.decl/dcl.init/p14-0x.cpp"
    },
    {
      "type": "modify",
      "old_id": "8ac59e7b539f37428ed2026a0d05cfebae961eb4",
      "old_mode": 33188,
      "old_path": "clang/test/SemaCUDA/inherited-ctor.cu",
      "new_id": "ef3938555b9834f29fdcbb29953aaf59eadb78b5",
      "new_mode": 33188,
      "new_path": "clang/test/SemaCUDA/inherited-ctor.cu"
    }
  ]
}
