)]}'
{
  "log": [
    {
      "commit": "885c5408d71ae442a5e8d3f5dbe357c374b37a76",
      "tree": "4484073397f41367ccdc5067ead9a97e27724486",
      "parents": [
        "051b7f6fc29016c6c48a057bb22a7e92988b44fe",
        "46ab8cd8bb53d8e37d6304e402f0a57e19a09411"
      ],
      "author": {
        "name": "Oli Scherer",
        "email": "github35764891676564198441@oli-obk.de",
        "time": "Mon Jun 08 06:34:23 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 06:34:23 2026 +0000"
      },
      "message": "Merge pull request #5100 from rust-lang/rustup-2026-06-08\n\nAutomatic Rustup\n"
    },
    {
      "commit": "46ab8cd8bb53d8e37d6304e402f0a57e19a09411",
      "tree": "4484073397f41367ccdc5067ead9a97e27724486",
      "parents": [
        "e8449d8ca0d4fdd25582dea0c5356b93bb68164f",
        "72a13ba3b681e8b53dc2848dc90e756d02630c4d"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Mon Jun 08 06:05:09 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Mon Jun 08 06:05:09 2026 +0000"
      },
      "message": "Merge ref \u0027029c9e18dd1f\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@029c9e18dd1f4668e1d42bb187c1c263dfe20093\nFiltered ref: rust-lang/miri@72a13ba3b681e8b53dc2848dc90e756d02630c4d\nUpstream diff: https://github.com/rust-lang/rust/compare/3179a47d67719a92b4d3c3689aca391c40ff1a04...029c9e18dd1f4668e1d42bb187c1c263dfe20093\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "e8449d8ca0d4fdd25582dea0c5356b93bb68164f",
      "tree": "64ed36d945e74f6f1e387db10a420a98ceb9a5a5",
      "parents": [
        "051b7f6fc29016c6c48a057bb22a7e92988b44fe"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Mon Jun 08 05:56:39 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Mon Jun 08 05:56:39 2026 +0000"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to 029c9e18dd1f4668e1d42bb187c1c263dfe20093.\n"
    },
    {
      "commit": "72a13ba3b681e8b53dc2848dc90e756d02630c4d",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "6f055b287316b78eaef7a8500a0b769f966dc42d",
        "f4707505ebc150ae301027fa3958e91b0b9c56a0"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Jun 07 18:31:31 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Jun 07 18:31:31 2026 +0000"
      },
      "message": "Auto merge of #147250 - Kmeakin:km/optimize-ilog-base-power-of-two, r\u003djhpratt\n\nOptimize `checked_ilog` and `pow` when `base` is a power of two\n\n\n\nOptimize `checked_ilog` and `pow` when the base is a power of two"
    },
    {
      "commit": "051b7f6fc29016c6c48a057bb22a7e92988b44fe",
      "tree": "7c2ab2e6db7eac192e878a8509dca421b6d0c996",
      "parents": [
        "d2b8d1621f3353a08e2c98dea6de5d6e507d2457",
        "314da337ee7e22815280b1b7afb51c2d7e9474e3"
      ],
      "author": {
        "name": "Ben Kimock",
        "email": "kimockb@gmail.com",
        "time": "Sun Jun 07 15:57:28 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 15:57:28 2026 +0000"
      },
      "message": "Merge pull request #5086 from moabo3li/push-surtywykyuvw\n\n[Priroda] Add breakpoint, continue and quit command and enhance CLI with command handling and execution policies\n"
    },
    {
      "commit": "d2b8d1621f3353a08e2c98dea6de5d6e507d2457",
      "tree": "530476b7072b663291820baf12ea31350d9423d2",
      "parents": [
        "2265f0f03bbd704930af7c488e1a611d64e69489",
        "62f0f972d9f42ddda809161b9bc7ea7ea5df51ed"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sun Jun 07 13:26:24 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 13:26:24 2026 +0000"
      },
      "message": "Merge pull request #5097 from RalfJung/custom_welcome_messages\n\ntriagebot: remove assign.custom_welcome_messages\n"
    },
    {
      "commit": "62f0f972d9f42ddda809161b9bc7ea7ea5df51ed",
      "tree": "530476b7072b663291820baf12ea31350d9423d2",
      "parents": [
        "2265f0f03bbd704930af7c488e1a611d64e69489"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sun Jun 07 13:26:38 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sun Jun 07 13:26:38 2026 +0200"
      },
      "message": "triagebot: remove assign.custom_welcome_messages\n"
    },
    {
      "commit": "314da337ee7e22815280b1b7afb51c2d7e9474e3",
      "tree": "031c42438df2e328ab94c8d3fb6712d41b8714c5",
      "parents": [
        "237729b462d9b1f68f42b797bfb02cce9052894f"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Fri Jun 05 05:12:42 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:19 2026 +0300"
      },
      "message": "[Priroda] Store spans and compute normalized paths lazily\n"
    },
    {
      "commit": "237729b462d9b1f68f42b797bfb02cce9052894f",
      "tree": "a37c45435973422901ac4a4b947fa235440b3f97",
      "parents": [
        "3406506afe3b4a4313dc323b0551cd2066f01e96"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Fri Jun 05 03:03:09 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:18 2026 +0300"
      },
      "message": "[Priroda] Index breakpoints by normalized path and line\n"
    },
    {
      "commit": "3406506afe3b4a4313dc323b0551cd2066f01e96",
      "tree": "aef987cbe88807ae46b16ce773aacddbb204659d",
      "parents": [
        "6b81c8c289f60dc4447bbcd131b9fccbbcf2f025"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Mon Jun 01 15:55:10 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:18 2026 +0300"
      },
      "message": "[Priroda] Separate CLI handling from debugger state\n\nMove command parsing and presentation into a dedicated CLI frontend.\nReturn structured command results from PrirodaContext so the frontend\ncan distinguish normal steps, breakpoint stops, breakpoint additions,\nand session termination.\n"
    },
    {
      "commit": "6b81c8c289f60dc4447bbcd131b9fccbbcf2f025",
      "tree": "5ebb8a8f639647e71b978d23ca91e21253c24c30",
      "parents": [
        "083ff8dcc213b57f2aa28928536df4625911ae6b"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun May 31 20:20:01 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:18 2026 +0300"
      },
      "message": "[Priroda] Centralize execution resume policy\n"
    },
    {
      "commit": "083ff8dcc213b57f2aa28928536df4625911ae6b",
      "tree": "a8bb6e74926ba71188b8b0746b711ad88d1043f3",
      "parents": [
        "f5453ba6509727b270754f41e31679640c42777f"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun May 31 14:42:34 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:17 2026 +0300"
      },
      "message": "[Priroda] Skip hidden MIR instructions while stepping\n"
    },
    {
      "commit": "f5453ba6509727b270754f41e31679640c42777f",
      "tree": "346128b83525c167c7470f45c82b4fb64acd3328",
      "parents": [
        "ce8c6f396b8696aaee2641dc5bac3568a0900774"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun May 31 04:10:17 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:17 2026 +0300"
      },
      "message": "[Priroda] Add breakpoint command\n"
    },
    {
      "commit": "ce8c6f396b8696aaee2641dc5bac3568a0900774",
      "tree": "8b13b07a279c7564c5054a3eb8d2d992155c6cdb",
      "parents": [
        "462836f911accb4f8c46402a08ee74e971083943"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sat May 30 22:48:01 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:16 2026 +0300"
      },
      "message": "[Priroda] Add structured source locations\n"
    },
    {
      "commit": "462836f911accb4f8c46402a08ee74e971083943",
      "tree": "69f693abf988014f1c75bd5405c652670d2532f9",
      "parents": [
        "14a59648b6aaa866fbfc4987c820662fe84890ea"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sat May 30 14:21:01 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:16 2026 +0300"
      },
      "message": "[Priroda] Add continue command\n"
    },
    {
      "commit": "14a59648b6aaa866fbfc4987c820662fe84890ea",
      "tree": "ec7189cdb8c02401150c276f91792365975685c9",
      "parents": [
        "4420b6f5cff51c3d7212923590adfef3c21f5d68"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sat May 30 14:20:40 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:16 2026 +0300"
      },
      "message": "[Priroda] Report program exit code\n"
    },
    {
      "commit": "4420b6f5cff51c3d7212923590adfef3c21f5d68",
      "tree": "6b8703b1b973f3203538870f376578792ebbf62f",
      "parents": [
        "5189653e6324c37505b14ba30160a5113cb54e31"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sat May 30 14:20:23 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:15 2026 +0300"
      },
      "message": "[Priroda] Handle EOF explicitly\n"
    },
    {
      "commit": "5189653e6324c37505b14ba30160a5113cb54e31",
      "tree": "9e5d54ecfb9ec5466bd8a2c32b29977f5f5b5fa0",
      "parents": [
        "2265f0f03bbd704930af7c488e1a611d64e69489"
      ],
      "author": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sat May 30 13:05:02 2026 +0300"
      },
      "committer": {
        "name": "Mohamed Ali",
        "email": "mohmedali1462005@gmail.com",
        "time": "Sun Jun 07 13:53:11 2026 +0300"
      },
      "message": "[Priroda] Add quit command\n"
    },
    {
      "commit": "2265f0f03bbd704930af7c488e1a611d64e69489",
      "tree": "3baf593efed81bacdbdd67e9283116485a01163c",
      "parents": [
        "fb29be48245f92aa8f7cc42e381d0159386ce8ba",
        "904e51c36f43f5cdfc75f570f8b226fe1d881474"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sun Jun 07 09:13:13 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 09:13:13 2026 +0000"
      },
      "message": "Merge pull request #5096 from RalfJung/epoll-tests\n\nfix spurious epoll-blocking test\n"
    },
    {
      "commit": "904e51c36f43f5cdfc75f570f8b226fe1d881474",
      "tree": "3baf593efed81bacdbdd67e9283116485a01163c",
      "parents": [
        "fb29be48245f92aa8f7cc42e381d0159386ce8ba"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sun Jun 07 10:11:40 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sun Jun 07 10:44:25 2026 +0200"
      },
      "message": "fix spurious epoll-blocking test\n"
    },
    {
      "commit": "6f055b287316b78eaef7a8500a0b769f966dc42d",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "598954aa6007626f6dc7e600157c3e1a8832ccc7",
        "9f0dc04390c1e014c3675d125810fb19dd9e93ce"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Jun 07 05:57:17 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Jun 07 05:57:17 2026 +0000"
      },
      "message": "Auto merge of #157558 - jhpratt:rollup-DWtXTfN, r\u003djhpratt\n\nRollup of 25 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#157251 (`rust-analyzer` subtree update)\n - rust-lang/rust#157533 (Subtree sync for rustc_codegen_cranelift)\n - rust-lang/rust#154742 (Add APIs for case folding to the standard library)\n - rust-lang/rust#155144 (mir_build: Add an extra intermediate step in MIR building for patterns )\n - rust-lang/rust#156222 (Stabilize `Result::map_or_default` and `Option::map_or_default`)\n - rust-lang/rust#157016 (add `extern \"tail\"` calling convention)\n - rust-lang/rust#157264 (diagnostics: Fix ICE building a trait ref in method suggestions)\n - rust-lang/rust#157386 (Parse deprecated note links separately in rustc_resolve)\n - rust-lang/rust#157483 (fix windows-gnu TLS leak)\n - rust-lang/rust#157488 (compiletest: inject `#![windows_subsystem \u003d \"windows\"]` to debuginfo tests on Windows)\n - rust-lang/rust#157509 (remove solaris implementation for File::lock, it has the wrong semantics)\n - rust-lang/rust#157521 (Rename `SyncView::{as_pin \u003d\u003e as_pin_ref}`)\n - rust-lang/rust#156136 (Move tests box)\n - rust-lang/rust#156573 (Add unwinder_private_data_size for wasm64 target)\n - rust-lang/rust#156783 (docs: make `Rc::into_raw` clickable in `Rc::increment_strong_count` doc)\n - rust-lang/rust#156840 (Stabilize `PathBuf::into_string`)\n - rust-lang/rust#156936 (Remove FIXME about impl PinCoerceUnsized for UnsafePinned\u003cT\u003e)\n - rust-lang/rust#157365 (Revert \"LLVM 23: Run AssignGUIDPass in some places\")\n - rust-lang/rust#157380 (clarify compiler_fence (and fence) docs)\n - rust-lang/rust#157471 (Debug assert that parsed attributes are in the `BUILTIN_ATTRIBUTE_MAP`)\n - rust-lang/rust#157485 (Rename `errors.rs` file to `diagnostics.rs` (1/N))\n - rust-lang/rust#157494 (Convert `QueryRegionConstraint` into a struct)\n - rust-lang/rust#157526 (std tests: skip a slow test on Miri)\n - rust-lang/rust#157531 (ci: bump x86_64-gnu base image to 26.04)\n - rust-lang/rust#157556 (Add `BTree::append()` change to 1.96.0 relnotes)\n\nFailed merges:\n\n - rust-lang/rust#155527 (Replace printables table with `unicode_data.rs` tables)\n\n\n\n"
    },
    {
      "commit": "9f0dc04390c1e014c3675d125810fb19dd9e93ce",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "1d53e67d6b1dadec7d780531d5de4fad8d583501",
        "598954aa6007626f6dc7e600157c3e1a8832ccc7"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:38:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:38:00 2026 -0400"
      },
      "message": "Rollup merge of #157556 - theemathas:btree-append-1.96.0-relnotes, r\u003dMark-Simulacrum\n\nAdd `BTree::append()` change to 1.96.0 relnotes\n\nThis change affected someone\u0027s code, reported in https://github.com/rust-lang/rust/issues/157436.\n\nI copied the text from https://github.com/rust-lang/rust/issues/157496, but I figured that it belonged to the \"Compatibility Notes\" section, not \"Internal Changes\".\n\nSee discussion at https://rust-lang.zulipchat.com/#narrow/channel/241545-t-release/topic/Procedure.20for.20modifying.20past.20release.20notes/with/600817427\n"
    },
    {
      "commit": "1d53e67d6b1dadec7d780531d5de4fad8d583501",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "8958923c1dadcbca767b4c9374631ae92bcfb649",
        "598954aa6007626f6dc7e600157c3e1a8832ccc7"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:59 2026 -0400"
      },
      "message": "Rollup merge of #157531 - xonx4l:bump-x86_64-gnu-26.04, r\u003dKobzol\n\nci: bump x86_64-gnu base image to 26.04\n\nThis PR updates the x86_64-gnu CI Docker base image from  22.04 to  26.04.\n\nr? @Kobzol\n"
    },
    {
      "commit": "8958923c1dadcbca767b4c9374631ae92bcfb649",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "979f03026f010c0f481a0910ec5f2183065cb672",
        "598954aa6007626f6dc7e600157c3e1a8832ccc7"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:59 2026 -0400"
      },
      "message": "Rollup merge of #157526 - RalfJung:miri-slow, r\u003dJonathanBrouwer\n\nstd tests: skip a slow test on Miri\n\nThis is just a big loop to compare exit status handling, and the loop is a bit too big for Miri.\n"
    },
    {
      "commit": "979f03026f010c0f481a0910ec5f2183065cb672",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "1655a5478f4b3a9a22d5066d100c51ce63d50bc5",
        "b2966334954415dfca6d0f67f3d7255f676b0eb8"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:58 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:58 2026 -0400"
      },
      "message": "Rollup merge of #157494 - Human9000-bit:queryregionconstrains-as-struct, r\u003dShoyuVanilla\n\nConvert `QueryRegionConstraint` into a struct\n\nas per in fixme\n"
    },
    {
      "commit": "1655a5478f4b3a9a22d5066d100c51ce63d50bc5",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "c0b9c8a559a839587b916ee9ed5000485cbcbb2f",
        "598954aa6007626f6dc7e600157c3e1a8832ccc7"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:57 2026 -0400"
      },
      "message": "Rollup merge of #157485 - GuillaumeGomez:rename-err-to-diag, r\u003dJonathanBrouwer\n\nRename `errors.rs` file to `diagnostics.rs` (1/N)\n\n`errors.rs` (and sometimes `error.rs`, depends on the crate) are not coherent with their content which can be both errors and lints. However, they\u0027re both diagnostics so it would make more sense to rename all of them into `diagnostics.rs`.\n\nI only did 3 crates for a start to confirm it\u0027s ok to go forward with this.\n\nI think it was discussed with @JonathanBrouwer so setting them as reviewer. :3\n\nr? @JonathanBrouwer\n"
    },
    {
      "commit": "c0b9c8a559a839587b916ee9ed5000485cbcbb2f",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "fb03a7807e27627ccbd284decb46c32da2d10130",
        "b2966334954415dfca6d0f67f3d7255f676b0eb8"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:57 2026 -0400"
      },
      "message": "Rollup merge of #157471 - JonathanBrouwer:builtin-map-assertion, r\u003dmejrs\n\nDebug assert that parsed attributes are in the `BUILTIN_ATTRIBUTE_MAP`\n\nThere are currently two sources of truth for which attributes are builtin, the `BUILTIN_ATTRIBUTE_MAP` and the list of parsers. The long term goal is to get rid of the `BUILTIN_ATTRIBUTE_MAP` , but because of the way that crates depend on eachother this is not trivial. This PR makes sure the sources don\u0027t diverge.\n\nr? @mejrs\n"
    },
    {
      "commit": "fb03a7807e27627ccbd284decb46c32da2d10130",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "fa2b83d50beb659ccfbc733264a9d430be35a4d9",
        "97e6fbb018966e1aa870ebe93922c91f96694e48"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:56 2026 -0400"
      },
      "message": "Rollup merge of #157380 - RalfJung:fence, r\u003djhpratt\n\nclarify compiler_fence (and fence) docs\n\nAlso see https://github.com/rust-lang/libs-team/issues/794 for more discussion.\n\nCc @Amanieu @m-ou-se\n"
    },
    {
      "commit": "fa2b83d50beb659ccfbc733264a9d430be35a4d9",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "ea2a9592f3f788330747809bd7cd52df8c48071a",
        "b2966334954415dfca6d0f67f3d7255f676b0eb8"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:56 2026 -0400"
      },
      "message": "Rollup merge of #157365 - zmodem:revert_assign_guids, r\u003dcuviper\n\nRevert \"LLVM 23: Run AssignGUIDPass in some places\"\n\nThis reverts commit cdb73bb67707f78b321fe5579bcb9c128f45c352.\n\nThe LLVM side change was reverted.\n"
    },
    {
      "commit": "ea2a9592f3f788330747809bd7cd52df8c48071a",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "fe032d4acd3c1b3ce95ba751175ade7ee1e471c0",
        "a7cf008be25b61eebdfdd00149eee14cbae1ed29"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:55 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:55 2026 -0400"
      },
      "message": "Rollup merge of #156936 - Darksonn:no-PinCoerceUnsized-for-UnsafePinned, r\u003dMark-Simulacrum\n\nRemove FIXME about impl PinCoerceUnsized for UnsafePinned\u003cT\u003e\n\nThe `PinCoerceUnsized` trait may only be implemented for smart pointer types, but `UnsafePinned` has no indirection. Thus, it will not be correct to add this impl.\n\nFollow-up to rust-lang/rust#137043\n\ncc @Sky9x\n"
    },
    {
      "commit": "fe032d4acd3c1b3ce95ba751175ade7ee1e471c0",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "be56704105a42953fa335a13e6a83af3a1f0b9b3",
        "4019b50583d1173964bfec853c379623c6d920c7"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:54 2026 -0400"
      },
      "message": "Rollup merge of #156840 - asder8215:stabilize_pathbuf_into_string, r\u003dMark-Simulacrum\n\nStabilize `PathBuf::into_string`\n\nHere\u0027s the [tracking issue](https://github.com/rust-lang/rust/issues/156203). FCP completed on the tracking issue.\n"
    },
    {
      "commit": "be56704105a42953fa335a13e6a83af3a1f0b9b3",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "b9909586bed095bb1ad918903b0bafc5e5140f77",
        "abdd6e0cb00c5813d559dd8625aa43d9fcfb149f"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:54 2026 -0400"
      },
      "message": "Rollup merge of #156783 - MingweiSamuel:patch-2, r\u003djhpratt\n\ndocs: make `Rc::into_raw` clickable in `Rc::increment_strong_count` doc\n\nadds doc link\n"
    },
    {
      "commit": "b9909586bed095bb1ad918903b0bafc5e5140f77",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "efb030491f7f31d1157af0974385e928d7d672a7",
        "4daf2b44f796bb83781b146c9898c25bd0bb872d"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:53 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:53 2026 -0400"
      },
      "message": "Rollup merge of #156573 - richArved:patch-1, r\u003dMark-Simulacrum\n\nAdd unwinder_private_data_size for wasm64 target\n\nFixes missing unwinder_private_data_size for the wasm64 architecture\n"
    },
    {
      "commit": "efb030491f7f31d1157af0974385e928d7d672a7",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "4db3174c0c4dca8fbb872caf7099f862686968e2",
        "47b2d6ff867b7b8f76eb17551b89ca6912d2fdd7"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:52 2026 -0400"
      },
      "message": "Rollup merge of #156136 - danieljofficial:move-tests-box, r\u003dKivooeo\n\nMove tests box\n\nHi, I have moved some tests into the box folder. Fixes [133895](https://github.com/rust-lang/rust/issues/133895)\n"
    },
    {
      "commit": "4db3174c0c4dca8fbb872caf7099f862686968e2",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "e4fae8f4a6fa42c5d3551a6553124578632945fb",
        "598954aa6007626f6dc7e600157c3e1a8832ccc7"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:52 2026 -0400"
      },
      "message": "Rollup merge of #157521 - pthariensflame:syncview-as-pin, r\u003dBurntSushi\n\nRename `SyncView::{as_pin \u003d\u003e as_pin_ref}`\n\nThis addresses the resolution of a naming concern from rust-lang/rust#98407.\n\nr? BurntSushi\n"
    },
    {
      "commit": "e4fae8f4a6fa42c5d3551a6553124578632945fb",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "e4939c97e75eb4af9a25e3c793c816e1b6db56d7",
        "e51eefea3b2b4a58010b9c8719ef1d820bbd180d"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:51 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:51 2026 -0400"
      },
      "message": "Rollup merge of #157509 - RalfJung:solaris-file-locks, r\u003dthe8472\n\nremove solaris implementation for File::lock, it has the wrong semantics\n\nFixes https://github.com/rust-lang/rust/issues/157390\nr? @the8472\n"
    },
    {
      "commit": "e4939c97e75eb4af9a25e3c793c816e1b6db56d7",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "3b45a078330699c1f80b1fafea9033bc97a1a241",
        "e6219c24458ee2241b40901cb3462741acd73aa0"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:49 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:49 2026 -0400"
      },
      "message": "Rollup merge of #157386 - TaKO8Ki:rustdoc-deprecated-note-links-separately, r\u003dnotriddle\n\nParse deprecated note links separately in rustc_resolve\n\nFixes rust-lang/rust#157326\n\n`rustc_resolve` pre-caches intra-doc link resolutions for rustdoc. It previously parsed doc comments and `#[deprecated(note \u003d \"...\")]` text as one Markdown document.\n"
    },
    {
      "commit": "3b45a078330699c1f80b1fafea9033bc97a1a241",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "9608f1bbed51eaf14628da945e4471ec896eb4a9",
        "d2f8ee1833d26437288cdf97163356023c1d9085"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:48 2026 -0400"
      },
      "message": "Rollup merge of #157264 - Dnreikronos:fix/method-suggest-trait-extra-generics-ice, r\u003dchenyukang\n\ndiagnostics: Fix ICE building a trait ref in method suggestions\n\nFixes rust-lang/rust#157189\n\nWhen a method call doesn\u0027t resolve, the no-method-found diagnostic probes every trait for one with a same-named method and builds a trait ref for it to spot trait items duplicated across crate versions. It only ever passed the receiver as the single argument, which works only when the trait\u0027s one generic is `Self`. Call `.borrow()` on something and the probe finds `Borrow`, whose extra `Borrowed` parameter leaves the args out of step with the trait\u0027s generics, so `debug_assert_args_compatible` fires. Same crash when the receiver type isn\u0027t known and there are zero args.\n\nNow the args come from `GenericArgs::for_item`: the receiver fills `Self` when we have it, fresh inference variables cover the rest.\n"
    },
    {
      "commit": "9608f1bbed51eaf14628da945e4471ec896eb4a9",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "1b766c1cfacd1077c1b2d025c9b1377fdaa2e9fc",
        "0bc45137a5398d06cf14a82a13b6f3c428592253"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:47 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:47 2026 -0400"
      },
      "message": "Rollup merge of #156222 - cammeresi:20260505-ro-mod, r\u003dMark-Simulacrum\n\nStabilize `Result::map_or_default` and `Option::map_or_default`\n\nTracking issue: rust-lang/rust#138099\nFCP completed: https://github.com/rust-lang/rust/issues/138099#issuecomment-4184062429\nCloses: rust-lang/rust#138099\n"
    },
    {
      "commit": "1b766c1cfacd1077c1b2d025c9b1377fdaa2e9fc",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "ebebae5ba5d098289da60a871a51cc8a72ebb2d4",
        "75beabaf2f86ba311c09aff6603af645a7f79351"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:46 2026 -0400"
      },
      "message": "Rollup merge of #155144 - Zalathar:inter-pat, r\u003dNadrieril\n\nmir_build: Add an extra intermediate step in MIR building for patterns\n\nThis is an attempt to partly decouple the data structures created by `match_pair.rs` from the data structures that are ultimately consumed by the main part of match lowering.\n\nIn some ways this is a reversal from https://github.com/rust-lang/rust/pull/137875. That PR succeeded in removing the `TestCase::Irrefutable` variant, by taking a pre-existing “simplification” step and fusing it directly into `MatchPairTree::for_pattern`. Unfortunately, in doing so it also reinforced a very high degree of coupling between the transformations performed in `match_pair`, and the data structures used by later steps.\n\nMy hope is that these changes will make it easier for follow-up work to further separate decision-making from MIR building when lowering patterns.\n\nr? Nadrieril\n"
    },
    {
      "commit": "ebebae5ba5d098289da60a871a51cc8a72ebb2d4",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "7028bdcd8c63d5e59afb390054f15c8626882f64",
        "355d066c4ab710b7c6dd2e3a7076a7b72aae7b3a"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:45 2026 -0400"
      },
      "message": "Rollup merge of #154742 - Jules-Bertholet:casefold, r\u003dMark-Simulacrum\n\nAdd APIs for case folding to the standard library\n\n[Libs-api requested these](https://github.com/rust-lang/rust/pull/154287#issuecomment-4165104865), so here they are.\n\nNew public API (gated behind `#[feature(casefold)]`):\n\n```rust\nimpl char {\n    pub fn to_casefold(self) -\u003e ToCasefold;\n}\n\nimpl str {\n    pub fn to_casefold(\u0026self) -\u003e String;\n    pub fn eq_ignore_case(\u0026self) -\u003e bool;\n}\n\npub struct ToCasefold { ... }\nimpl Iterator for ToCasefold { type Item \u003d char; ... }\nimpl DoubleEndedIterator for ToCasefold { ... }\nimpl FusedIterator for ToCasefold { }\nimpl ExactSizeIterator for ToCasefold { ... }\nimpl fmt::Display for ToCasefold { ... }\n```\n\n## Notes\n\n- This only adds a negligible amount of static data to `core::unicode`. To accomplish that, we compute the case-folding for most characters as the lowercase of their uppercase; this double mapping adds some complexity to the implementation.\n- No normalization (e.g. NFC) is performed, so visually and semantically equivalent strings can compare unequal.\n- I have not put any effort into optimizing `eq_ignore_case()`; there may be a more performant implementation.\n- `char::eq_ignore_case()` is left to future work—it\u0027s a potential footgun, so we may want to think more deeply about how to expose and document that API.\n\n@rustbot label T-libs-api A-unicode\n"
    },
    {
      "commit": "7028bdcd8c63d5e59afb390054f15c8626882f64",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "598954aa6007626f6dc7e600157c3e1a8832ccc7",
        "e233a81e6c1f825feeeaf1ab5607881a9215dfc3"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Sun Jun 07 00:37:44 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 00:37:44 2026 -0400"
      },
      "message": "Rollup merge of #157251 - lnicola:sync-from-ra, r\u003dlnicola\n\n`rust-analyzer` subtree update\n\nSubtree update of `rust-analyzer` to https://github.com/rust-lang/rust-analyzer/commit/123c1660f4d80443aea20329cfcc5185b1c233ad.\n\nCreated using https://github.com/rust-lang/josh-sync.\n\nr? @ghost\n"
    },
    {
      "commit": "fb29be48245f92aa8f7cc42e381d0159386ce8ba",
      "tree": "08142332743230766bdb4ad4c55f7c64d915cd15",
      "parents": [
        "10a64299d95bd599ff3afd93a3616f203496397d",
        "f73b30b63dfbcaf6fab7595abea4687cba0c5e6c"
      ],
      "author": {
        "name": "Ben Kimock",
        "email": "kimockb@gmail.com",
        "time": "Sat Jun 06 23:30:04 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 23:30:04 2026 +0000"
      },
      "message": "Merge pull request #5094 from RalfJung/sticker\n\nadd Miri sticker to README\n"
    },
    {
      "commit": "f73b30b63dfbcaf6fab7595abea4687cba0c5e6c",
      "tree": "08142332743230766bdb4ad4c55f7c64d915cd15",
      "parents": [
        "10a64299d95bd599ff3afd93a3616f203496397d"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Jun 06 12:23:42 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Jun 06 12:30:56 2026 +0200"
      },
      "message": "add Miri sticker to README\n"
    },
    {
      "commit": "10a64299d95bd599ff3afd93a3616f203496397d",
      "tree": "11121ec9d96b154aa6ce3bcfd37ff825d8ea9b64",
      "parents": [
        "d66d7e5e8a56a7c3c1288d5d324dcead6ce5b4d8",
        "0980c22eb81faa41e788a68b359f633cf41c0a6f"
      ],
      "author": {
        "name": "Oli Scherer",
        "email": "github35764891676564198441@oli-obk.de",
        "time": "Sat Jun 06 07:51:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 07:51:48 2026 +0000"
      },
      "message": "Merge pull request #5076 from RalfJung/native-tests\n\n./miri test: run some tests natively\n"
    },
    {
      "commit": "e51eefea3b2b4a58010b9c8719ef1d820bbd180d",
      "tree": "f0fd9a44ac1bd0467fd4ed67c534f4a3b8d08fb6",
      "parents": [
        "598954aa6007626f6dc7e600157c3e1a8832ccc7"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 23:59:58 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Jun 06 00:09:57 2026 +0200"
      },
      "message": "remove solaris implementation for File::lock, it has the wrong semantics\n"
    },
    {
      "commit": "d66d7e5e8a56a7c3c1288d5d324dcead6ce5b4d8",
      "tree": "c5e648c2db3ed874af03fa4524cd8993c0c452e0",
      "parents": [
        "64625031430e29fcc872be8ec09f4fbef10dde1d",
        "ebf54db1e590c3da45ca7f4b47a48308ceba57ba"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 15:12:16 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 15:12:16 2026 +0000"
      },
      "message": "Merge pull request #5091 from RalfJung/cron\n\nmove cron job earlier\n"
    },
    {
      "commit": "64625031430e29fcc872be8ec09f4fbef10dde1d",
      "tree": "372f55e6b0a6691e3887a5b5cfd3da3384555dc9",
      "parents": [
        "d3c30f13bd6b4630d56ffe2116ad153f4889eac8",
        "d8075e131bfcb900601c3792573793855c928912"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 13:51:58 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 13:51:58 2026 +0000"
      },
      "message": "Merge pull request #5093 from RalfJung/minor\n\nuse Size::unsigned_int_max to make code more readable\n"
    },
    {
      "commit": "598954aa6007626f6dc7e600157c3e1a8832ccc7",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "b2966334954415dfca6d0f67f3d7255f676b0eb8",
        "99593b482e0d8afa02da85dc5f36c2677542809b"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Fri Jun 05 13:25:41 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Fri Jun 05 13:25:41 2026 +0000"
      },
      "message": "Auto merge of #143328 - oli-obk:ty-decl-wf-check, r\u003dcjgillot\n\nAvoid loading HIR for check_well_formed on type declarations\n\n\n\nr? @compiler-errors "
    },
    {
      "commit": "d8075e131bfcb900601c3792573793855c928912",
      "tree": "372f55e6b0a6691e3887a5b5cfd3da3384555dc9",
      "parents": [
        "605e1abf26b270d5814c3b0fa7376fefd6670e66"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 15:17:39 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 15:19:38 2026 +0200"
      },
      "message": "use Size::unsigned_int_max to make code more readable\n"
    },
    {
      "commit": "605e1abf26b270d5814c3b0fa7376fefd6670e66",
      "tree": "4fbec191b45c7cc13e3a73ab7e8af357a704dc20",
      "parents": [
        "d3c30f13bd6b4630d56ffe2116ad153f4889eac8"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 15:17:22 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 15:17:45 2026 +0200"
      },
      "message": "add missing FIXME for Windows TLS API tests\n"
    },
    {
      "commit": "d3c30f13bd6b4630d56ffe2116ad153f4889eac8",
      "tree": "c0de5f1800eb421ded1388682b97074c183b29fb",
      "parents": [
        "2eda1d1ef15d82d51ef253aabf95e0b9b95dbd01",
        "6386541aea209a760be5aa3e5d9fb9ef39472c65"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 07:19:49 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 07:19:49 2026 +0000"
      },
      "message": "Merge pull request #5092 from RalfJung/aes\n\nbump \u0027aes\u0027\n"
    },
    {
      "commit": "2eda1d1ef15d82d51ef253aabf95e0b9b95dbd01",
      "tree": "83568211524b0085ad93d8489ffd37f30df84961",
      "parents": [
        "2a3d56a322269ccbae285d72144bda1fe0b6c31d",
        "4c14c9644c320ab2035b2eb0d5f79c53cdc5cb4a"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 06:53:22 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 06:53:22 2026 +0000"
      },
      "message": "Merge pull request #5090 from rust-lang/rustup-2026-06-05\n\nAutomatic Rustup\n"
    },
    {
      "commit": "6386541aea209a760be5aa3e5d9fb9ef39472c65",
      "tree": "f479d77658d6275f8f3cf8342aec305cb74f312c",
      "parents": [
        "052dde604b83f5eb0312cbda178777cb48166747"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 08:49:19 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 08:49:19 2026 +0200"
      },
      "message": "bump \u0027aes\u0027\n"
    },
    {
      "commit": "ebf54db1e590c3da45ca7f4b47a48308ceba57ba",
      "tree": "782a4615a4d77cdaf472e690d7e2ef068fcb945c",
      "parents": [
        "2a3d56a322269ccbae285d72144bda1fe0b6c31d"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 08:29:10 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Jun 05 08:29:10 2026 +0200"
      },
      "message": "move cron job earlier\n"
    },
    {
      "commit": "4c14c9644c320ab2035b2eb0d5f79c53cdc5cb4a",
      "tree": "83568211524b0085ad93d8489ffd37f30df84961",
      "parents": [
        "327cc650501e98288c2ba3f833597583bc1de7c2",
        "b2966334954415dfca6d0f67f3d7255f676b0eb8"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Fri Jun 05 06:22:39 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Fri Jun 05 06:22:39 2026 +0000"
      },
      "message": "Merge ref \u00273179a47d6771\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@3179a47d67719a92b4d3c3689aca391c40ff1a04\nFiltered ref: rust-lang/miri@b2966334954415dfca6d0f67f3d7255f676b0eb8\nUpstream diff: https://github.com/rust-lang/rust/compare/76dfce2cb2d3f7b7f34d62e6ffe044f7e7d76948...3179a47d67719a92b4d3c3689aca391c40ff1a04\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "327cc650501e98288c2ba3f833597583bc1de7c2",
      "tree": "f351cc66b77f99e3643d36f0ddcd8c5a40c46f20",
      "parents": [
        "2a3d56a322269ccbae285d72144bda1fe0b6c31d"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Fri Jun 05 06:14:58 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Fri Jun 05 06:14:58 2026 +0000"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to 3179a47d67719a92b4d3c3689aca391c40ff1a04.\n"
    },
    {
      "commit": "b2966334954415dfca6d0f67f3d7255f676b0eb8",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "80b532e87d3da8e03bdaf60e993271726a62de18",
        "d27784be2008619731bc64e5391acbc52d53a2c3"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Fri Jun 05 01:20:45 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Fri Jun 05 01:20:45 2026 +0000"
      },
      "message": "Auto merge of #157417 - RalfJung:windows-tls-miri, r\u003dChrisDenton\n\nWindows TLS: avoid atexit call in Miri\n\nThis was added in https://github.com/rust-lang/rust/pull/148799. I did not realize that we\u0027re actually falsely pretending that `atexit` worked, I thought we\u0027d always return an error. Having it pretend to work when really it did nothing seems like a bad idea so let\u0027s just skip that call under `cfg(miri)`.\r\n\r\nr? @ChrisDenton \r\nCc @ohadravid "
    },
    {
      "commit": "d27784be2008619731bc64e5391acbc52d53a2c3",
      "tree": "b4e3d858d579d1d531982603fe9cc664aa4bc318",
      "parents": [
        "d3a4cd94639ae64c49a6703dd4221a68b7d1c81a"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Jun 04 09:51:38 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Jun 04 09:52:56 2026 +0200"
      },
      "message": "Windows TLS: avoid atexit call in Miri\n"
    },
    {
      "commit": "2a3d56a322269ccbae285d72144bda1fe0b6c31d",
      "tree": "2cc23841d038b5f81c0b6f43ce8986b59d43fc30",
      "parents": [
        "052dde604b83f5eb0312cbda178777cb48166747",
        "a83692f08c19997c881633eed83e73f7cfb3da13"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Jun 04 07:30:51 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 07:30:51 2026 +0000"
      },
      "message": "Merge pull request #5087 from RalfJung/CreateFileW\n\nCreateFileW: retry to deal with race conditions\n"
    },
    {
      "commit": "80b532e87d3da8e03bdaf60e993271726a62de18",
      "tree": "597309852156e9940114279b88df962b1459337b",
      "parents": [
        "d3a4cd94639ae64c49a6703dd4221a68b7d1c81a",
        "d2f8ee1833d26437288cdf97163356023c1d9085"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Thu Jun 04 07:23:40 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Thu Jun 04 07:23:40 2026 +0000"
      },
      "message": "Auto merge of #157274 - kupiakos:open-enums-feature-gate, r\u003dKivooeo\n\nAdd experimental `unnamed_enum_variants` feature gate\n\nThis parses the basic syntax and defines a feature gate for the unnamed enum variants lang experiment, tracking issue rust-lang/rust#156628.\r\n\r\ncc @joshtriplett, @scottmcm, @tmandry\r\n"
    },
    {
      "commit": "052dde604b83f5eb0312cbda178777cb48166747",
      "tree": "3c405ec23f44aed61e18ec12a140b93aaba2b414",
      "parents": [
        "e5bd4a843abdbad43fd4c3ff4396b654e7b0a95f",
        "a8d2354f97a7b45a3c8fb01f736b2e473453d30a"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Jun 04 07:14:15 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 07:14:15 2026 +0000"
      },
      "message": "Merge pull request #5089 from rust-lang/rustup-2026-06-04\n\nAutomatic Rustup\n"
    },
    {
      "commit": "a83692f08c19997c881633eed83e73f7cfb3da13",
      "tree": "0f2ce27a74fc2f8e32c58e454d713482060ab284",
      "parents": [
        "e5bd4a843abdbad43fd4c3ff4396b654e7b0a95f"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Tue Jun 02 22:40:46 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Jun 04 09:00:03 2026 +0200"
      },
      "message": "CreateFileW: retry to deal with race conditions\n"
    },
    {
      "commit": "a8d2354f97a7b45a3c8fb01f736b2e473453d30a",
      "tree": "3c405ec23f44aed61e18ec12a140b93aaba2b414",
      "parents": [
        "1ebadf5e7da92cef2b220a215181558b6fb9de28"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Jun 04 08:44:57 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Jun 04 08:44:57 2026 +0200"
      },
      "message": "clippy\n"
    },
    {
      "commit": "1ebadf5e7da92cef2b220a215181558b6fb9de28",
      "tree": "7038ff280b06cc550ae9d6d0c277b8956a609dc2",
      "parents": [
        "e14f9e8b63ae9f0b3dc73b628a63aa2b67149a08"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Jun 04 06:37:11 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Jun 04 06:37:11 2026 +0000"
      },
      "message": "fmt\n"
    },
    {
      "commit": "e14f9e8b63ae9f0b3dc73b628a63aa2b67149a08",
      "tree": "bb0f1f738a6b72863f335e7a4bb21023c6b203ae",
      "parents": [
        "a7493d954fe5891bd0857f3d344f7e6b69bf21fc",
        "d3a4cd94639ae64c49a6703dd4221a68b7d1c81a"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Jun 04 06:36:35 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Jun 04 06:36:35 2026 +0000"
      },
      "message": "Merge ref \u002776dfce2cb2d3\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@76dfce2cb2d3f7b7f34d62e6ffe044f7e7d76948\nFiltered ref: rust-lang/miri@d3a4cd94639ae64c49a6703dd4221a68b7d1c81a\nUpstream diff: https://github.com/rust-lang/rust/compare/4f84d9fac456d973d592cf3fb48db958ecf22506...76dfce2cb2d3f7b7f34d62e6ffe044f7e7d76948\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "a7493d954fe5891bd0857f3d344f7e6b69bf21fc",
      "tree": "7b69e7ded33a82d5829a2e215cdd70264627a424",
      "parents": [
        "e5bd4a843abdbad43fd4c3ff4396b654e7b0a95f"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Jun 04 06:27:38 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Jun 04 06:27:38 2026 +0000"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to 76dfce2cb2d3f7b7f34d62e6ffe044f7e7d76948.\n"
    },
    {
      "commit": "d3a4cd94639ae64c49a6703dd4221a68b7d1c81a",
      "tree": "597309852156e9940114279b88df962b1459337b",
      "parents": [
        "bfb833a1bd68c8342b78fa3247753bdf975db1a8",
        "97e6fbb018966e1aa870ebe93922c91f96694e48"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Jun 03 23:14:30 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Jun 03 23:14:30 2026 +0000"
      },
      "message": "Auto merge of #145477 - cjgillot:codegen-mode, r\u003doli-obk\n\nIntroduce `TypingMode::Codegen` to avoid layout cycles on coroutines\n\n\r\n\r\nComputing layout of coroutines depends on their `optimized_mir`. At the same time, MIR opts can require using layouts to work. For instance to evaluate constants. This leads to cycles and clumsy workarounds.\r\n\r\nThis PR creates a new typing mode for layout computations:\r\n- when a coroutine\u0027s layout is requested with `TypingMode::PostAnalysis` or earlier, return `LayourError::TooGeneric`;\r\n- when a coroutine\u0027s layout is requested with `TypingMode::Codegen`, actually compute it.\r\n\r\n`TypingMode::Codegen` is meant be be used by codegen code, and analyses that require coroutine layout, like transmute check and coroutine recursion check.\r\n\r\nWith this PR, we can remove all `is_coroutine` checks from `rustc_mir_transform` and unlock simplifying coroutine MIR.\r\n\r\nPerf is not terrific. This PR causes recomputation of a few queries, and I had to insert workarounds."
    },
    {
      "commit": "bfb833a1bd68c8342b78fa3247753bdf975db1a8",
      "tree": "597309852156e9940114279b88df962b1459337b",
      "parents": [
        "c70f274650b0847ab09b53372d8031d94cee9725",
        "9b62f9a6e04bb6d32d4401524abef3a38261330f"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Jun 03 19:50:26 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Jun 03 19:50:26 2026 +0000"
      },
      "message": "Auto merge of #157398 - jhpratt:rollup-qXar4uR, r\u003djhpratt\n\nRollup of 12 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#157085 (powerpc: warn against incorrect values for ABI-relevant target features)\n - rust-lang/rust#157170 (Use `impl` restrictions in `std`, `core`)\n - rust-lang/rust#157217 ([tiny] remove unecessary `.into()` calls)\n - rust-lang/rust#157262 (rustdoc: IXCRE: Preserve sizedness bounds on type params belonging to the parent item)\n - rust-lang/rust#157379 (Some more simple per-owner resolver changes)\n - rust-lang/rust#157381 (librustdoc: fix CSS border issue to support Firefox high contrast mode)\n - rust-lang/rust#155512 (interpreter: improve comments and error message in mir_assign_valid_types)\n - rust-lang/rust#157254 (Correct description of panic.rs)\n - rust-lang/rust#157290 (interpret: fix mir::UnOp layout computation)\n - rust-lang/rust#157332 (Rewrite target checking for `#[sanitize]`)\n - rust-lang/rust#157351 (Avoid leaking the query-job collection warning into the panic query stack)\n - rust-lang/rust#157389 (Add @clarfonthey to libs review rotation)\n\n\n\n"
    },
    {
      "commit": "9b62f9a6e04bb6d32d4401524abef3a38261330f",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "96887a216252c62d3b74a33d75fac16696734328",
        "d2f8ee1833d26437288cdf97163356023c1d9085"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Wed Jun 03 15:16:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 15:16:00 2026 -0400"
      },
      "message": "Rollup merge of #157290 - RalfJung:unop-layout, r\u003doli-obk\n\ninterpret: fix mir::UnOp layout computation\n\n\"The operand always has the same type as the result\" was correct when I wrote the comment, but more `UnOp`s have been added since, making this incorrect now. This hasn\u0027t caused issues yet because apparently the local variable layout cache means we hardly ever (never?) actually use the \"known\" layout.\n\nr? @oli-obk\n"
    },
    {
      "commit": "96887a216252c62d3b74a33d75fac16696734328",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "131e5e25cc71ed1f0e2e325e03e1ee7f1bb73ae8",
        "c10c68993ae62fc6be7ababf75d675d0515d3156"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Wed Jun 03 15:15:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 15:15:59 2026 -0400"
      },
      "message": "Rollup merge of #157254 - felix91gr:patch-1, r\u003djhpratt\n\nCorrect description of panic.rs\n\nI was perusing the module documentation and stumbled upon the existing description, which confused me for a minute.\n\n## Summary:\n\nThe foremost description of this module was:\n\u003e Panic support in the standard library.\n\nThis commit changes that to:\n\u003e Panic support in core.\n"
    },
    {
      "commit": "131e5e25cc71ed1f0e2e325e03e1ee7f1bb73ae8",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "a6f616f5fc2ce31efb32b2f278bbddc64427f6ad",
        "1aa2d78abd2b03b7365181e947f4e9c5cd2e5585"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Wed Jun 03 15:15:58 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 15:15:58 2026 -0400"
      },
      "message": "Rollup merge of #155512 - RalfJung:interpret-assignment-validity, r\u003doli-obk\n\ninterpreter: improve comments and error message in mir_assign_valid_types\n\nI looked at this while debugging https://github.com/rust-lang/rust/issues/155477, but this makes no progress on that issue.\n"
    },
    {
      "commit": "a6f616f5fc2ce31efb32b2f278bbddc64427f6ad",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "f1dda6412a2517134d82725e340c94c26d8ea571",
        "3cc96541233f2dbf4334e5b83ccdd7aabebf0768"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Wed Jun 03 15:15:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 15:15:57 2026 -0400"
      },
      "message": "Rollup merge of #157379 - oli-obk:more-per-owner, r\u003dpetrochenkov\n\nSome more simple per-owner resolver changes\n\nFairly straight forward ones. The remaining data structures are either more involved or blocked on other changes waiting to happen.\n\nI especially like how the import res map stops being a map, as there can only be one import res per owner (each import is its own owner)\n\nr? @petrochenkov\n"
    },
    {
      "commit": "f1dda6412a2517134d82725e340c94c26d8ea571",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "2c6eb00b9d473dac35cf9d61cc98c45d56cbc306",
        "3cc96541233f2dbf4334e5b83ccdd7aabebf0768"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Wed Jun 03 15:15:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 15:15:56 2026 -0400"
      },
      "message": "Rollup merge of #157262 - fmease:rustdoc-preserve-sizedness-bounds-on-parent-params, r\u003dnotriddle\n\nrustdoc: IXCRE: Preserve sizedness bounds on type params belonging to the parent item\n\nFixes rust-lang/rust#144015.\n"
    },
    {
      "commit": "2c6eb00b9d473dac35cf9d61cc98c45d56cbc306",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "2757783d15c3a8565270bc71329a42b0801c788f",
        "850caebe44e037a71496e866bbfa8ccd5a5e11bf"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Wed Jun 03 15:15:55 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 15:15:55 2026 -0400"
      },
      "message": "Rollup merge of #157217 - estebank:useless-into-rust, r\u003dpetrochenkov\n\n[tiny] remove unecessary `.into()` calls\n\nWhile working on rust-lang/rust#129249, encountered these cases in the codebase of calling `.into()` unecessarily. Splitting them out so that they can land independently of the lint.\n"
    },
    {
      "commit": "2757783d15c3a8565270bc71329a42b0801c788f",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "97e6fbb018966e1aa870ebe93922c91f96694e48",
        "3cc96541233f2dbf4334e5b83ccdd7aabebf0768"
      ],
      "author": {
        "name": "Jacob Pratt",
        "email": "jacob@jhpratt.dev",
        "time": "Wed Jun 03 15:15:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 15:15:54 2026 -0400"
      },
      "message": "Rollup merge of #157170 - jhpratt:dogfood-restrictions, r\u003dUrgau\n\nUse `impl` restrictions in `std`, `core`\n\nThis should all be quite self-explanatory. I\u0027ve used the tightest module permitted by current implementation, which is overwhelmingly `self` as I had expected.\n\nr? @Urgau\n"
    },
    {
      "commit": "c70f274650b0847ab09b53372d8031d94cee9725",
      "tree": "597309852156e9940114279b88df962b1459337b",
      "parents": [
        "97e6fbb018966e1aa870ebe93922c91f96694e48",
        "905462dc3a261bd18811e1b38817992b38373e5c"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Jun 03 16:26:56 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Jun 03 16:26:56 2026 +0000"
      },
      "message": "Auto merge of #148799 - ohadravid:windows-thread-local-dtors-using-fls, r\u003dChrisDenton\n\nSwitch the destructors implementation for thread locals on Windows to use FLS\n\n\r\n\r\n\r\n\r\n## Summary\r\n\r\nSwitch the thread local **destructors** implementation on Windows to use the _Fiber Local Storage_ APIs, which provide native support for setting a callback to be called on thread termination, replacing the current `tls_callback` symbol-based implementation.\r\n\r\n_Except for some spellchecking, no LLMs were used to produce code / comments / text in this PR._\r\n\r\n## Current Implementation\r\n\r\nOn Windows, in order to support thread locals with destructors,\r\nthe standard library uses a special `tls_callback` symbol that is used to call the `destructors::run()` hook on thread termination.\r\n\r\nThis has two downsides:\r\n1. It is not well documented, and seems to cause some problems [1] [2] [3].\r\n2. It disallows some synchronization operations, as mentioned in [`LocalKey`\u0027s documentation](https://doc.rust-lang.org/std/thread/struct.LocalKey.html#synchronization-in-thread-local-destructors).\r\n\r\n[1]: https://github.com/rust-lang/rust/pull/144234\r\n[2]: https://github.com/rust-lang/rust/issues/145154\r\n[3]: https://github.com/rust-lang/rust/issues/140798\r\n\r\nas an example of point 2, this code, which uses `JoinHandle::join` in a thread local Drop impl, will deadlock on stable:\r\n\r\n\u003cdetails\u003e\r\n\r\n\u003csummary\u003eJoin-on-Drop Deadlock Example\u003c/summary\u003e\r\n\r\n```rust\r\nstruct JoinOnDrop(Option\u003cJoinHandle\u003c()\u003e\u003e);\r\n\r\nimpl Drop for JoinOnDrop {\r\n    fn drop(\u0026mut self) {\r\n        self.0.take().unwrap().join().unwrap();\r\n    }\r\n}\r\n\r\nthread_local! {\r\n    static HANDLE: JoinOnDrop \u003d {\r\n        let thread \u003d std::thread::spawn(|| {   \r\n            println!(\"Starting...\");\r\n            // std::thread::sleep(Duration::from_secs(3));\r\n            println!(\"Done\");\r\n        });\r\n\r\n        JoinOnDrop(Some(thread))\r\n    };\r\n}\r\n\r\n\r\nfn main() {\r\n    let thread \u003d std::thread::spawn(|| {\r\n        HANDLE.with(|_| {\r\n            println!(\"Some other thread\");\r\n        })\r\n    });\r\n\r\n    thread.join().unwrap();\r\n\r\n    println!(\"Done\");\r\n}\r\n```\r\n\r\n\u003c/details\u003e\r\n\r\n## Proposed Change\r\n\r\nWe can use the `Fls{Alloc,Set,Get,Free}` functions (see https://devblogs.microsoft.com/oldnewthing/20191011-00/?p\u003d102989)\r\nto implement the dtor callback needed for thread locals that have a Drop implementation.\r\n\r\nWe allocate a single key, and use its destructor callback to run all the registered destructors when a thread is shutting down.\r\n\r\nWith this implementation, the above code sample will not deadlock (but it still might not be a good idea to do this!).\r\n\r\n## Safety and Compatibility\r\n\r\nWe use the common `thread_local` + atomic pattern to only set a single FLS key.\r\nThe destructor callback is only called when that value is non-zero.\r\n\r\nDestructors will only run at thread exit: we verify that we are not running in a fiber during the destructors callback. **This means that using fibers (which is very rare) will result in thread locals being leaked**, unless the fiber is converted back to a thread using `ConvertFiberToThread` before thread termination. This is not ideal, but should be OK as destructors are not guaranteed to run, but it needs to be documented.\r\n\r\nIt might be possible for the user to use something like the current `tls_callback` to observe an already-freed thread locals, which is something that can also happen in the current implementation.\r\n\r\n~Destructors will only run on the correct thread: Fibers cannot be moved between threads.~\r\nDestructors will only run on the correct thread: the hook uses a `#[thread_local]` list, so fiber movement between threads does not change which which thread executes the destructors.\r\n\r\nDestructors will only run once: even if the hook is called multiple time, the `#[thread_local]` list is cleared after the first run.\r\n\r\nUsers cannot observe different locals because they are using fibers: because we only use an Fls local marker to trigger the destructors callback, we don\u0027t change anything about how users interact with \"normal\" thread locals and fiber locals.\r\n\r\n### DLL Unloading\r\n\r\nIt is possible to build a `cdylib` which uses thread locals and unload it dynamically  using `FreeLibrary`. This can cause the OS to call into an unmapped cleanup hook, so we use `atexit` to manually free the special FLS key, which will also trigger the cleanup hook for each registered thread. This is safe because similar to thread shutdown, no user code can ran after this point, and only the destructors of the running thread will run.\r\n\r\nsee `tests/run-make/dynamic-loading-cdylib/load_and_unload.rs`.\r\n\r\n## Other Notes\r\n\r\nThe implementation is based on the `key::racy` and `guard::apple` code, because we need a `LazyKey`-like racey static and an `enable` function.\r\n\r\nWhile TLS slots are [limited to 1088](https://devblogs.microsoft.com/oldnewthing/20170712-00/?p\u003d96585), FLS slots are currently [limited to 4000](https://devblogs.microsoft.com/windows-music-dev/effectively-removing-the-fls-slot-allocation-limit-in-windows-10/) per process.\r\n\r\n### Miri\r\n\r\nBecause miri is aware to the thread local implementation, I also implemented these functions and support for them in the interpreter here:\r\n\r\nhttps://github.com/rust-lang/miri/compare/master...ohadravid:miri:windows-fls-support?expand\u003d1\r\n\r\nI guess that this will need to be merged before this PR (if this is accepted) - let me know and I\u0027ll open that PR as well.\r\n\r\n### Targets without `target_thread_local`\r\n\r\nIn `*-gnu` Windows targets, the `target_thread_local` feature is unavailable.\r\n\r\nWe could also change the \"key\" (non-`target_thread_local`) Windows impl at\r\n`library\\std\\src\\sys\\thread_local\\key\\windows.rs`\r\nto be based on the Fls functions. I can add it to this PR, or as a separate PR, if you think this is preferable. \r\n\r\n`Cell` in a `#[thread_local]` is used to store the resulting key, like the other implementations. When `target_thread_local` isn\u0027t available, we always fetch the atomic and set the FLS key\u0027s value."
    },
    {
      "commit": "97e6fbb018966e1aa870ebe93922c91f96694e48",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "e6219c24458ee2241b40901cb3462741acd73aa0",
        "3cc96541233f2dbf4334e5b83ccdd7aabebf0768"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Jun 03 06:03:20 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Jun 03 06:03:20 2026 +0000"
      },
      "message": "Auto merge of #154144 - Human9000-bit:const-prop-transmute-async-fix, r\u003dcjgillot\n\nFix malformed transmute handling during mir build\n\n\n\nRunning dataflow const prop optimization on  `std::mem::transmute` of mismatched sizes failed the assertion in interpreter and caused ICE.\r\n\r\nSo it\u0027s better to not let those transmutations into the interpreter at all\r\n\r\nFixes rust-lang/rust#149920 "
    },
    {
      "commit": "e6219c24458ee2241b40901cb3462741acd73aa0",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "df1f8ed263ac6d34ee07fda3bb9b42b839d305a2",
        "e1c172980348b397d7e1aa5e4d31364c894fc807"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Tue Jun 02 16:07:57 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Tue Jun 02 16:07:57 2026 +0000"
      },
      "message": "Auto merge of #157320 - JonathanBrouwer:rollup-ECUZfbo, r\u003dJonathanBrouwer\n\nRollup of 6 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#155418 (transmute: fix check for whether newtypes have equal size)\n - rust-lang/rust#156603 (Clarify E0381 diagnostics for branch conditions)\n - rust-lang/rust#156643 (Document run-make external dependencies)\n - rust-lang/rust#157009 (Avoid `unreachable_code` on required return values)\n - rust-lang/rust#157308 (make typing mode exhaustive again...)\n - rust-lang/rust#157312 (disallow most attrs on eiis)\n\n\n\n"
    },
    {
      "commit": "e1c172980348b397d7e1aa5e4d31364c894fc807",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "c560cc2aaef6543f78a90a6bb4ac1dcc72c4bd38",
        "f11795ea1260427f962d9c18902caf66d4c50f81"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 17:53:40 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 17:53:40 2026 +0200"
      },
      "message": "Rollup merge of #157312 - jdonszelmann:reject-attrs-eii, r\u003dJonathanBrouwer\n\ndisallow most attrs on eiis\n\nMost attributes do not make sense on EIIs. Whether they\u0027re copied to the macro, default, or foreign item is also highly dependent per attribute.\n\nI was thinking of ways to configure this, though I don\u0027t think we need that kind of complexity rn. For now I just reject them all, except for ones that obviously make sense or are necessary for current usage in std.\n\nuser attr macros are blanket-rejected with this too, which seems good, it seems cursed to present expanded eiis to them.\n\nr? @jonathanbrouwer\n"
    },
    {
      "commit": "c560cc2aaef6543f78a90a6bb4ac1dcc72c4bd38",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "2062a04fd66676af6306621776ef3e6d26e4ee00",
        "f11795ea1260427f962d9c18902caf66d4c50f81"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 17:53:40 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 17:53:40 2026 +0200"
      },
      "message": "Rollup merge of #157308 - jdonszelmann:tm-exhaustive, r\u003doli-obk\n\nmake typing mode exhaustive again...\n\nr? @oli-obk\n\nSee https://github.com/rust-lang/rust/pull/155443#discussion_r3339820756\n"
    },
    {
      "commit": "2062a04fd66676af6306621776ef3e6d26e4ee00",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "56d0cd2b550435d64052a15634e1f7ab26da0d91",
        "355d066c4ab710b7c6dd2e3a7076a7b72aae7b3a"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 17:53:39 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 17:53:39 2026 +0200"
      },
      "message": "Rollup merge of #157009 - qaijuang:unreachable-return-tail, r\u003dcjgillot\n\nAvoid `unreachable_code` on required return values\n\nThis PR skips return-place assignment plumbing when selecting user code to lint after an uninhabited call.\n\nFixes rust-lang/rust#152559\n\nr? cjgillot\n"
    },
    {
      "commit": "56d0cd2b550435d64052a15634e1f7ab26da0d91",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "07ef1daaad9faffb4dbbf510ecdfe034cf5bceb3",
        "3004bec762e16e71a8fef062b6a3ea8625dd660d"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 17:53:38 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 17:53:38 2026 +0200"
      },
      "message": "Rollup merge of #156643 - majiayu000:document-run-make-external-deps, r\u003dnikomatsakis\n\nDocument run-make external dependencies\n\nPart of rust-lang/rust#125585.\n\nThis documents the common external tool helpers available to run-make recipes and the environment variables that compiletest uses to provide those tools. It also points tests that require optional tools or LLVM components toward the relevant compiletest directives.\n\nValidation:\n- `./x test tidy`\n"
    },
    {
      "commit": "07ef1daaad9faffb4dbbf510ecdfe034cf5bceb3",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "0ba8fa5d2af5ca2b5b4356c01b12f0d0dbe3ab10",
        "4daf2b44f796bb83781b146c9898c25bd0bb872d"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 17:53:37 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 17:53:37 2026 +0200"
      },
      "message": "Rollup merge of #156603 - eval-exec:e0381-diagnostic-condition-note, r\u003dnikomatsakis\n\nClarify E0381 diagnostics for branch conditions\n\nthis pr want to fix: https://github.com/rust-lang/rust/issues/156494\n"
    },
    {
      "commit": "0ba8fa5d2af5ca2b5b4356c01b12f0d0dbe3ab10",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "4889255b277628eaa5194b221e438cb019639dd9",
        "47b2d6ff867b7b8f76eb17551b89ca6912d2fdd7"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 17:53:36 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 17:53:36 2026 +0200"
      },
      "message": "Rollup merge of #155418 - RalfJung:transmute-newtypes, r\u003dnikomatsakis\n\ntransmute: fix check for whether newtypes have equal size\n\nThe `transmute` check has some logic to be able to tell whether two types that involve generics will always have the same size. That logic has a bug: it ignores the fact that `repr(align)` can affect the size of a type. This PR fixes that bug by making the check bail out for most `repr` flags. That rejects some previously accepted code, hence the @rust-lang/lang  nomination.\n\nThe new logic says that a type is a transparent newtype wrapper around a pointer for `transmute` purposes only if\n- It is a struct without any `repr` flags except for `repr(transparent)` and `repr(C)`.\n- It is a single-variant enum without any `repr` flags except for `repr(transparent)`.\n- Or it is a two-variant enum without any `repr` flags except for `repr(transparent)` that matches the NPO rules. The inner type must be `non_zero: true` (which holds for references and `NonNull`), and the wrapper type is then marked as `non_zero: false`.\n\nFixes https://github.com/rust-lang/rust/issues/155412\nFixes rust-lang/rust#88290\n\nI manually checked that the playground example linked in https://github.com/rust-lang/rust/issues/88290 now emits all three expected errors (and we have equivalent cases in the tests, either preexisting or added by this PR, so it didn\u0027t seem worth adding that example as well).\n"
    },
    {
      "commit": "df1f8ed263ac6d34ee07fda3bb9b42b839d305a2",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "4889255b277628eaa5194b221e438cb019639dd9",
        "c1670d1ae0c2e5699363315c688e8b512b895974"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Tue Jun 02 12:44:47 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Tue Jun 02 12:44:47 2026 +0000"
      },
      "message": "Auto merge of #157303 - JonathanBrouwer:rollup-EWrtFmY, r\u003dJonathanBrouwer\n\nRollup of 14 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#156467 (mark the \u0027import linkage\u0027 statics as unnamed_addr)\n - rust-lang/rust#156923 (Couple of diagnostics improvements for EII)\n - rust-lang/rust#157240 (Enable Enzyme for aarch64-apple-darwin)\n - rust-lang/rust#157244 (Privacy: tweak macros + more tests)\n - rust-lang/rust#157276 (miri subtree update)\n - rust-lang/rust#157130 (Use a `ArrayVec` in `CastTarget`)\n - rust-lang/rust#157131 (Add regression test for issue rust-lang/rust#144888)\n - rust-lang/rust#157195 (Move feature gating to the new attr parsing infrastructure)\n - rust-lang/rust#157233 (rustdoc: Fix trait impl ordering)\n - rust-lang/rust#157256 (tests: adapt for LLVM codegen change)\n - rust-lang/rust#157265 (Update books)\n - rust-lang/rust#157277 (triagebot.toml: add LawnGnome to libs reviewers)\n - rust-lang/rust#157291 (Clean up attribute target checking diagnostics)\n - rust-lang/rust#157301 (Remove unused import from a test)\n\n\n\n"
    },
    {
      "commit": "c1670d1ae0c2e5699363315c688e8b512b895974",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "6b18b18646e260bbc96199ea39d84d4b80e1b332",
        "4889255b277628eaa5194b221e438cb019639dd9"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:56 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:56 2026 +0200"
      },
      "message": "Rollup merge of #157301 - bjorn3:simplify_a_test, r\u003dpetrochenkov\n\nRemove unused import from a test\n\nI forgot to remove this import when I changed this test.\n\nFixes https://github.com/rust-lang/rust/pull/156924#event-26214891478\n"
    },
    {
      "commit": "6b18b18646e260bbc96199ea39d84d4b80e1b332",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "60832ce98b5f78280c9f194b8d1917f3ea11148b",
        "4889255b277628eaa5194b221e438cb019639dd9"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:55 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:55 2026 +0200"
      },
      "message": "Rollup merge of #157291 - JonathanBrouwer:cleanup-target-checking, r\u003dmejrs\n\nClean up attribute target checking diagnostics\n\nSplit off from me trying to process your review comments in https://github.com/rust-lang/rust/pull/157215\n\nThanks to @GuillaumeGomez for making this possible \u003c3\n\nr? @mejrs\n"
    },
    {
      "commit": "60832ce98b5f78280c9f194b8d1917f3ea11148b",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "8244692d83eee829d9d7f4a5707c25d84f9815b4",
        "d2f8ee1833d26437288cdf97163356023c1d9085"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:54 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:54 2026 +0200"
      },
      "message": "Rollup merge of #157277 - LawnGnome:add-self-to-triagebot, r\u003dLawnGnome\n\ntriagebot.toml: add LawnGnome to libs reviewers\n\nr? me\n"
    },
    {
      "commit": "8244692d83eee829d9d7f4a5707c25d84f9815b4",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "e4e4b97628805ceebf5916d81a76e102cd0f995a",
        "d2f8ee1833d26437288cdf97163356023c1d9085"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:53 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:53 2026 +0200"
      },
      "message": "Rollup merge of #157265 - rustbot:docs-update, r\u003dehuss\n\nUpdate books\n\n## rust-lang/reference\n\n10 commits in ad35aca481751a06afeb23820a672b0f3b11a476..01b0ee707f4571e803c8b2c471d8335a448f5d60\n2026-05-31 18:52:24 UTC to 2026-05-20 14:06:08 UTC\n\n- Update `naked` to use the attribute template (rust-lang/reference#1908)\n- Update link_name for updated restrictions (rust-lang/reference#2268)\n- parens are not optional in guard chains that have || operators (rust-lang/reference#2224)\n- Document `target_has_atomic_primitive_alignment` (rust-lang/reference#2273)\n- Fix grammar rules pertaining to obsolete range patterns (rust-lang/reference#2259)\n- Unwrap a few remaining chapters (rust-lang/reference#2276)\n- Guarantee alignment of `repr(C)` structs with no fields (rust-lang/reference#2264)\n- avoid using \u0027place projection\u0027 for only some of the projections (rust-lang/reference#2253)\n- add xtask doctest (rust-lang/reference#2255)\n- Grammar: Don\u0027t allow inner attrs in certain block expressions (rust-lang/reference#2269)\n\n## rust-lang/rust-by-example\n\n7 commits in 898f0ac1479223d332309e0fce88d44b39927d28..d3117f6c873acbbf331c1d510371d061dfcc975c\n2026-06-01 14:19:19 UTC to 2026-05-25 13:19:23 UTC\n\n- Fix Spanish translation typos in es.po (rust-lang/rust-by-example#2018)\n- Match comment module \u0026 file order (rust-lang/rust-by-example#2009)\n- Fix Spanish translation typos in es.po (rust-lang/rust-by-example#2011)\n- Update expression.md: renamed variable x_cube to x_cubed (rust-lang/rust-by-example#2012)\n- Update comment.md - Fixed comments related to asterisk column (rust-lang/rust-by-example#2013)\n- Minor typo in meta.md (rust-lang/rust-by-example#2016)\n- Fix erroroneous implication (rust-lang/rust-by-example#2017)\n"
    },
    {
      "commit": "e4e4b97628805ceebf5916d81a76e102cd0f995a",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "4ee055a5bb32c58eca77a91d51b596189be6f71a",
        "c10c68993ae62fc6be7ababf75d675d0515d3156"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:52 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:52 2026 +0200"
      },
      "message": "Rollup merge of #157256 - krasimirgg:llvm23-addp, r\u003ddurin42\n\ntests: adapt for LLVM codegen change\n\nAdapts for https://github.com/llvm/llvm-project/commit/7966cbbdd02b686dbee9134514ea113772bcfa62.\n\n@rustbot label: +llvm-main\nr? @durin42\n"
    },
    {
      "commit": "4ee055a5bb32c58eca77a91d51b596189be6f71a",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "4b68efd98b651325957fcd8581415b94f2d62cfa",
        "3cc96541233f2dbf4334e5b83ccdd7aabebf0768"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:51 2026 +0200"
      },
      "message": "Rollup merge of #157233 - nnethercote:rustdoc-impl-order, r\u003dGuillaumeGomez\n\nrustdoc: Fix trait impl ordering\n\nFor types, rustdoc produces different impl orderings in the sidebar vs. the main section.\n\nE.g. for `std::cell::UnsafeCell` the \"Trait Implementations\" sidebar order is this:\n```\n!Freeze\n!RefUnwindSafe\n!Sync\nCoerceUnsized\u003cUnsafeCell\u003cU\u003e\u003e\nDebug\nDefault\nDispatchFromDyn\u003cUnsafeCell\u003cU\u003e\u003e\nFrom\u003cT\u003e\n```\nThe primary sort is on polarity, and the secondary sort is alphabetical. Makes sense.\n\nThe main section order is this:\n```\nimpl\u003cT\u003e Debug for UnsafeCell\u003cT\u003e\nimpl\u003cT\u003e Default for UnsafeCell\u003cT\u003e\nimpl\u003cT\u003e From\u003cT\u003e for UnsafeCell\u003cT\u003e\nimpl\u003cT, U\u003e CoerceUnsized\u003cUnsafeCell\u003cU\u003e\u003e for UnsafeCell\u003cT\u003e\nimpl\u003cT, U\u003e DispatchFromDyn\u003cUnsafeCell\u003cU\u003e\u003e for UnsafeCell\u003cT\u003e\nimpl\u003cT\u003e !Freeze for UnsafeCell\u003cT\u003e\nimpl\u003cT\u003e !RefUnwindSafe for UnsafeCell\u003cT\u003e\nimpl\u003cT\u003e !Sync for UnsafeCell\u003cT\u003e\n```\nThis strange ordering occurs because the entries are sorted on the generated HTML. Impls with methods (the first three) come first because they start with a `\u003cdetails\u003e` tag while the others start with a `\u003csection\u003e` tag. After that, the order depends on a section id of the form `impl-{trait}-for-{type}` that doesn\u0027t include the polarity, which is why the secondary ordering is alphabetical but ignores the `!`.\n\nThe sidebar ordering is the better of the two. This commit changes the main section to use the same ordering as the sidebar. This involves creating a new function `impl_trait_key` shared between the two parts.\n\nr? @GuillaumeGomez\n"
    },
    {
      "commit": "4b68efd98b651325957fcd8581415b94f2d62cfa",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "40f8bed5fa98368bac97903a09e6b9516cf4dd00",
        "3cc96541233f2dbf4334e5b83ccdd7aabebf0768"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:51 2026 +0200"
      },
      "message": "Rollup merge of #157195 - JonathanBrouwer:gating-port, r\u003dmejrs\n\nMove feature gating to the new attr parsing infrastructure\n\nDoes the feature gate checking for attributes during attribute parsing, rather than during expansion.\nThis is one more step towards removing `BUILTIN_ATTRIBUTES`.\n\nMy goal was to keep the diagnostics mostly the same during this PR, and do some improvements and cleanups later, to reduce the diff. Some diagnostics still had minor changes to keep the implementation simpler.\n\nThis PR was fully manually written, I triple-checked that I didn\u0027t accidentally stabilize or change the gate of an attribute, but I\u0027m terrified of a mistake still slipping through so please check this again.\n\nr? @mejrs @jdonszelmann\ncc @nnethercote @scrabsha @Bryntet\n"
    },
    {
      "commit": "40f8bed5fa98368bac97903a09e6b9516cf4dd00",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "3e1a0511995aa435f496a9720c1abb16690b7c2c",
        "204645561d57d42a2a38ac6f677cea5b2d7ac568"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:50 2026 +0200"
      },
      "message": "Rollup merge of #157131 - pbkx:issue-144888-ui-test, r\u003dpetrochenkov\n\nAdd regression test for issue #144888\n\nIssue rust-lang/rust#144888 is labeled E-needs-test for an ICE involving `unhandled node Crate(Mod)`.\n\nThis adds a focused UI regression test for the reduced example. The test is compile-fail, checks the current non-ICE diagnostics, and avoids the unrelated missing-main diagnostic by compiling as a library.\n\nFixes rust-lang/rust#144888.\n"
    },
    {
      "commit": "3e1a0511995aa435f496a9720c1abb16690b7c2c",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "12c5c9ff6051731440034d76eb5951f58546ebf7",
        "a1b1b38b824ed64bcf2001dd549743021759053f"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:49 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:49 2026 +0200"
      },
      "message": "Rollup merge of #157130 - alexcrichton:refactor-cast-target-internals, r\u003dnnethercote\n\nUse a `ArrayVec` in `CastTarget`\n\nThis commit switches a fixed-size list of `[Option\u003cReg\u003e; 8]` to instead\nholding `ArrayVec\u003cReg, 8\u003e` in the `CastTarget` type used when\ncalculating ABIs. This is inspired by [discussion on Zulip][link] where\nI\u0027m hoping to in the near future extend the usage of this to possibly\nbeyond 8 elements for a new WebAssembly ABI taking advantage of\nmulti-value. For now though this mostly just switches to\narray/slice-like idioms of accessors rather than dealing with\n`Option\u003cReg\u003e` as the unit.\n\n[link]: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Using.20.60ArgAbi.3A.3Amake_direct_deprecated.60/with/598607139\n"
    },
    {
      "commit": "12c5c9ff6051731440034d76eb5951f58546ebf7",
      "tree": "63af29038835227e4b143ee1a1321ee891173f10",
      "parents": [
        "695349c3df3293fd1cc8c1c8badd3dd60c6fe337",
        "9fde9f5504172f9783b478d4b5f6a17d9f796a1c"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:48 2026 +0200"
      },
      "message": "Rollup merge of #157276 - RalfJung:miri, r\u003dRalfJung\n\nmiri subtree update\n\nSubtree update of `miri` to https://github.com/rust-lang/miri/commit/9fde9f5504172f9783b478d4b5f6a17d9f796a1c.\n\nCreated using https://github.com/rust-lang/josh-sync.\n\nr? @ghost\n"
    },
    {
      "commit": "695349c3df3293fd1cc8c1c8badd3dd60c6fe337",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "1eba0237ccd7316ff57c71f938eba2740b42132c",
        "355d066c4ab710b7c6dd2e3a7076a7b72aae7b3a"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:47 2026 +0200"
      },
      "message": "Rollup merge of #157244 - Bryanskiy:macro-fix-3, r\u003dpetrochenkov\n\nPrivacy: tweak macros + more tests\n\n__tests/ui/definition-reachable/auxiliary/field-access-macro.rs:__\n\nDemonstrates how a private field can accidentally be leaked via macros 2.0. I think we need something like private-in-public lints for macros to notify the user about such cases.\n\n__tests/ui/definition-reachable/auxiliary/transitive-macro.rs:__\n\n\"Missing MIR\" issue due to https://github.com/rust-lang/rust/blob/4530eac197dfc6975c23d5d01e85e44bf7f18d69/compiler/rustc_resolve/src/effective_visibilities.rs#L271\n\nI tried to remove this, but it leads to a lot of \u0027missing stability attribute\u0027 errors, which are hard to debug since macros make all the surrounding code reachable. I think we need either some lint((maybe the same mechanism as for the previous test) or an analog of `[rustc_effective_visibility]` to make progress on this.\n\n__tests/ui/privacy/effective-visibilities-macro.rs + tests/ui/privacy/effective-visibilities-macro-2.rs:__\n\nThese justify the changes in rustc_resolve.\n\nr? @petrochenkov\n"
    },
    {
      "commit": "1eba0237ccd7316ff57c71f938eba2740b42132c",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "d67f3b12a24bf30f38d61c7fbe9c63ae3da4e73d",
        "3cc96541233f2dbf4334e5b83ccdd7aabebf0768"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:47 2026 +0200"
      },
      "message": "Rollup merge of #157240 - sgasho:enable_enzyme, r\u003dZuseZ4\n\nEnable Enzyme for aarch64-apple-darwin\n\nEnable Enzyme for aarch64-apple-darwin.\n\nI linked LLVM dynamically on MacOS on the PR: https://github.com/rust-lang/rust/pull/157205\nWe can use Enzyme since the PR landed.\n\nr? @ZuseZ4\n"
    },
    {
      "commit": "d67f3b12a24bf30f38d61c7fbe9c63ae3da4e73d",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "6aaaa4901f583a0db58212eb01f86cd13aca38b4",
        "a7cf008be25b61eebdfdd00149eee14cbae1ed29"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:46 2026 +0200"
      },
      "message": "Rollup merge of #156923 - bjorn3:eii_diagnostics, r\u003djdonszelmann\n\nCouple of diagnostics improvements for EII\n\nI found these while porting `#[panic_handler]` to EII.\n\nr? @jdonszelmann\n"
    },
    {
      "commit": "6aaaa4901f583a0db58212eb01f86cd13aca38b4",
      "tree": "eddf1c1d6d56c71ced4e8b36c19f5705e85c667b",
      "parents": [
        "4889255b277628eaa5194b221e438cb019639dd9",
        "b930b47bd45408781cca6d4e9267dad388944305"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Jun 02 13:20:45 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 13:20:45 2026 +0200"
      },
      "message": "Rollup merge of #156467 - RalfJung:weak-import-addr, r\u003dbjorn3\n\nmark the \u0027import linkage\u0027 statics as unnamed_addr\n"
    }
  ],
  "next": "e5bd4a843abdbad43fd4c3ff4396b654e7b0a95f"
}
