)]}'
{
  "commit": "478cfa94aa0218b2bea400da44f331ebfc5b77ec",
  "tree": "1da27c1412ce656b59f4db1070ea51f25fb4406d",
  "parents": [
    "00bdad5700d8df16498ba7debcfd974f44580050"
  ],
  "author": {
    "name": "Kai Ninomiya",
    "email": "kainino@chromium.org",
    "time": "Tue Jun 02 22:29:32 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 02 22:29:32 2026 -0700"
  },
  "message": "[dawn][common] Require (d)checked_cast for unsafe TypedInteger\n\nRestrict conversions to/from TypedInteger so that they\u0027re only allowed\nto widen, OR they\u0027re consteval and the value is known to be valid.\nRequire checked_cast/dchecked_cast to be used in all other cases.\n\nIn order to avoid changing tons of code, this allows narrowing casts in\nconsteval, where we can just check the actual value and know that the\ncast is safe. However, this has one bad consequence: if a consteval\nfunction (such as this cast) is used inside a lambda, the lambda is\ninferred to be consteval. Then an error is produced when it\u0027s called.\nBut there\u0027s no pointer back to why the lambda became consteval in the\nfirst place, so it\u0027s completely incomprehensible.\n\nSee the change in `src/dawn/native/Queue.cpp` for the (one) place where\nI saw this issue: those static_casts now select the consteval overload,\ncausing the lambda to be consteval, causing a confusing compilation\nerror inside `WithUploadReservation` when it tries to call the lambda.\n\nA few places I had to do change literals to e.g. `Val(2u)` to deal with\nan MSVC deficiency where for some reason it thinks the constructor is\nnot constexpr in some contexts even though it always is.\n\nBug: 515794394\nChange-Id: I49a59a2721b306287edecdd11601b5ea3e910f24\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/310677\nCommit-Queue: Kai Ninomiya \u003ckainino@chromium.org\u003e\nReviewed-by: Antonio Maiorano \u003camaiorano@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e7dcdb1b82c9c405147fdc555ba0c8aec733a712",
      "old_mode": 33188,
      "old_path": "src/dawn/common/Numeric.h",
      "new_id": "9f97edb4b1509b5c5e49b5c06243cc48dd12a69b",
      "new_mode": 33188,
      "new_path": "src/dawn/common/Numeric.h"
    },
    {
      "type": "modify",
      "old_id": "f0a85ccc2a79804959d45f58c09f17dbb223b4e3",
      "old_mode": 33188,
      "old_path": "src/dawn/common/Time.h",
      "new_id": "7a3b095ce4eb31abe74dcd61a36056606bd75413",
      "new_mode": 33188,
      "new_path": "src/dawn/common/Time.h"
    },
    {
      "type": "modify",
      "old_id": "69adf2e8d0fcced045cddaddb9a7eda88a117002",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BlitBufferToDepthStencil.cpp",
      "new_id": "074607f665d75efda033de55d8a933a3d9d33d04",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BlitBufferToDepthStencil.cpp"
    },
    {
      "type": "modify",
      "old_id": "3e975f4c009d937c5427f69667e9d14d0d234396",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BlitBufferToTexture.cpp",
      "new_id": "b0c41ab883b605c7047cf4a00c84eb9b5074d84f",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BlitBufferToTexture.cpp"
    },
    {
      "type": "modify",
      "old_id": "d02379a1471678d623e60e246740ba99f70a81e0",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BlitDepthToDepth.cpp",
      "new_id": "84cda9ce4851efd5228489bb785d8ecee4f01e72",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BlitDepthToDepth.cpp"
    },
    {
      "type": "modify",
      "old_id": "e114e9161e3d7b833a9f140dbf815aed3dfe7417",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BlitTextureToBuffer.cpp",
      "new_id": "30291385766d067c27a0f59b4850cf0a978ee3e5",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BlitTextureToBuffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "90cb46a71b4db9a783f71969bb064ea055b1970e",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BlockInfo.h",
      "new_id": "2e5cb1734a4d3dcf165a2c571c4970ba262c9740",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BlockInfo.h"
    },
    {
      "type": "modify",
      "old_id": "fab2167e009aba0c77555ec71ae1e35d7a80d4ca",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CommandBuffer.cpp",
      "new_id": "24bd42118518416a647867cc4ccf3db98eafaff5",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CommandBuffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "7777d919c86ba2627aa24b67f16e8d1d4a7eff3f",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Queue.cpp",
      "new_id": "c03a8028c6ca58e7e0369f0fb67ef7150c40364e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Queue.cpp"
    },
    {
      "type": "modify",
      "old_id": "fe04d90b5c9e5b4aa9681698c8157ed5f1cbc070",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/CommandBufferD3D11.cpp",
      "new_id": "8ef993b47599a7b4674ad077ec2be92f94f2429e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/CommandBufferD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "45a5222976c65e3bf9bea11de4d9de7b03bd6d8d",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/TextureD3D11.cpp",
      "new_id": "689dcdf3147ce4a9847e1c97d7c652ef8d947b82",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/TextureD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "9a28679a60aaab9e8dad02ac190be9b739b95124",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/CommandBufferD3D12.cpp",
      "new_id": "04d1f430cd95df1fb58b0ed9fe7f8d8635a49f7c",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/CommandBufferD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "9b70d1dea55c50e14472cb5b8e22aeaa0caf71c5",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/TextureCopySplitter.cpp",
      "new_id": "2f033b818cab8c333431f0716e563e3d69a38f27",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/TextureCopySplitter.cpp"
    },
    {
      "type": "modify",
      "old_id": "471a34272df1ba593edde84ca8f6c710785f625e",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/UtilsD3D12.cpp",
      "new_id": "d3fa24f32a72249b4d4feec5fed1a137c62bb286",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/UtilsD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "c8cdc9ea1fbd49c60402f864cefd8550ce10aeac",
      "old_mode": 33188,
      "old_path": "src/dawn/native/metal/CommandBufferMTL.mm",
      "new_id": "cb0fed4fd06c445acb19ea2071b27de9cd87fd58",
      "new_mode": 33188,
      "new_path": "src/dawn/native/metal/CommandBufferMTL.mm"
    },
    {
      "type": "modify",
      "old_id": "637f41d1f08f91459c51316c1b084119e365e965",
      "old_mode": 33188,
      "old_path": "src/dawn/native/metal/UtilsMetal.mm",
      "new_id": "371a99fa2286c5a4764764f58a0c08ed04ca6e9c",
      "new_mode": 33188,
      "new_path": "src/dawn/native/metal/UtilsMetal.mm"
    },
    {
      "type": "modify",
      "old_id": "ce889334111474b05908e7b5e52c046052bf5be4",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/CommandBufferGL.cpp",
      "new_id": "dcc5532f22d5d310b1cd257b33c46dec73abc689",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/CommandBufferGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "687963a97696b8f3c48d249a4b6f0510ef60fcef",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/PipelineGL.cpp",
      "new_id": "225efd54c0310be8d5543443cf2b55931a0c8102",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/PipelineGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "aa6bce5931195e7ac847913520ac6d19e812fa34",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/CommandBufferVk.cpp",
      "new_id": "037fbab147a2ab4984d0741198723a44e09e927e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/CommandBufferVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "4829cb83be1892fdc407019aaf3cf6e411794bd9",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/UtilsVulkan.cpp",
      "new_id": "a9f6b90f5250e0abc92ca6b007ef35df1d0701a6",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/UtilsVulkan.cpp"
    },
    {
      "type": "modify",
      "old_id": "80964cb2148e5585ba9d9ee4a4ca67fdd3ef1fa6",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/CaptureContext.cpp",
      "new_id": "72a35d40ba527a4ed405e1d37f34f3cb96282a3b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/CaptureContext.cpp"
    },
    {
      "type": "modify",
      "old_id": "cb24f297fb91e20f32151058ac572b0e2fc06a08",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/TextureWGPU.cpp",
      "new_id": "5ef2265450ce12f2680b9bd2928d32569deda29c",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/TextureWGPU.cpp"
    },
    {
      "type": "modify",
      "old_id": "567a13d938aa87cd92b7aaba21da55f4817d8d39",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/ToWGPU.cpp",
      "new_id": "1830d06f8683288e09a9e48fee84a5a228fde5ee",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/ToWGPU.cpp"
    },
    {
      "type": "modify",
      "old_id": "c89030ec8108e7985465f743ec6e1e487a996905",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/ITypVectorTests.cpp",
      "new_id": "145f830a6632c1e2acd8d644d3438ec3dac658bc",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/ITypVectorTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "723dfdca1d4f54a3da063a205eb13b71fffd11ff",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/d3d12/CopySplitTests.cpp",
      "new_id": "4d48fc8ad597c9c30baf1a4b44a3ede69b6a1caf",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/d3d12/CopySplitTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "d98f393fd0736c3d8bbc25c303ff762da89bd59a",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/native/StreamTests.cpp",
      "new_id": "4b5dff8dbbd393520a17377934da53622d0cac29",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/native/StreamTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "05f034d6efb00fcbab2418b0daf5dd69b910fd87",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/white_box/D3D12DescriptorHeapTests.cpp",
      "new_id": "0cb2ae0075d6339364440db3c4bba1ab84dd5819",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/white_box/D3D12DescriptorHeapTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "55e543fc58252670ae383786c9c032787b4d3d2e",
      "old_mode": 33188,
      "old_path": "src/utils/numeric.h",
      "new_id": "bfe9696c80b1d7893b83219124e7daa4163c9082",
      "new_mode": 33188,
      "new_path": "src/utils/numeric.h"
    },
    {
      "type": "modify",
      "old_id": "72becaa32c77b6a4ed0ed90bc4533bf7b9cdf0bd",
      "old_mode": 33188,
      "old_path": "src/utils/numeric_test.cc",
      "new_id": "c5ce073d323f79813955439dd8c7af0f243e10ee",
      "new_mode": 33188,
      "new_path": "src/utils/numeric_test.cc"
    },
    {
      "type": "modify",
      "old_id": "29aea58a7b9f1a8f0beec23295c57537e2a5d46a",
      "old_mode": 33188,
      "old_path": "src/utils/typed_integer.h",
      "new_id": "bc3df3b671083c3816460b3ea9c421ed11b55877",
      "new_mode": 33188,
      "new_path": "src/utils/typed_integer.h"
    },
    {
      "type": "modify",
      "old_id": "140fec71c1ac96c190acc3e8354171c1bb47814a",
      "old_mode": 33188,
      "old_path": "src/utils/typed_integer_tests.cc",
      "new_id": "d66e59cc356af1f0992ae50e42a64d7624e8e4ee",
      "new_mode": 33188,
      "new_path": "src/utils/typed_integer_tests.cc"
    }
  ]
}
