)]}'
{
  "log": [
    {
      "commit": "8f64757126b2f095705100b301b162d89db5f8d7",
      "tree": "79f736f645f375b896d13ab198cb98139cb7d82b",
      "parents": [
        "92ea60bf0effd37aea533cd19c9702c43b90abe7",
        "d928a243719b3df179fbccc84a65a574229372f9"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Sep 11 09:26:44 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 11 09:26:44 2026 +0000"
      },
      "message": "Merge pull request #5315 from RalfJung/sig-ptr-types\n\nuse proper c_void for \u0027*_\u0027 shim signatures\n"
    },
    {
      "commit": "d928a243719b3df179fbccc84a65a574229372f9",
      "tree": "79f736f645f375b896d13ab198cb98139cb7d82b",
      "parents": [
        "92ea60bf0effd37aea533cd19c9702c43b90abe7"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Sep 11 10:45:26 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Sep 11 10:55:04 2026 +0200"
      },
      "message": "use proper c_void for \u0027*_\u0027 shim signatures\n"
    },
    {
      "commit": "92ea60bf0effd37aea533cd19c9702c43b90abe7",
      "tree": "f2aea27ae1d6dae5943527aa00a36fd609ac79ef",
      "parents": [
        "dd2b897c64d0564103f322f5aa6f08f6c9ec8621",
        "5f78c8b405d1dc76ebe8fde763dbf3505e52680f"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 10 07:14:10 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 10 07:14:10 2026 +0000"
      },
      "message": "Merge pull request #5313 from rust-lang/rustup-2026-09-10\n\nAutomatic Rustup\n"
    },
    {
      "commit": "5f78c8b405d1dc76ebe8fde763dbf3505e52680f",
      "tree": "f2aea27ae1d6dae5943527aa00a36fd609ac79ef",
      "parents": [
        "833a2a9d0b04a257dff00790c9bbd45cea31de1b"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 10 08:40:20 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 10 08:42:57 2026 +0200"
      },
      "message": "adjust CI: 32bit windows hosts are no more\n"
    },
    {
      "commit": "833a2a9d0b04a257dff00790c9bbd45cea31de1b",
      "tree": "813381faa65360cee6fe21fe83019e578be7a221",
      "parents": [
        "1e08bd386d15364c00bbbeb3d28c84250f85a3e4"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Sep 10 04:38:41 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Sep 10 04:38:41 2026 +0000"
      },
      "message": "fmt\n"
    },
    {
      "commit": "1e08bd386d15364c00bbbeb3d28c84250f85a3e4",
      "tree": "fd6228baa46fa03fdd2fc139a8c589dd41473044",
      "parents": [
        "6482f60ecd8ca9db79f3cd5a52dacd8b74c21b96",
        "e8c919d33e4e13e14d1aa3c8152ddce7ce4b9ace"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Sep 10 04:38:03 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Sep 10 04:38:03 2026 +0000"
      },
      "message": "Merge ref \u0027315ecf4a939d\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@315ecf4a939def16631c2b25c3782ad67fc22160\nFiltered ref: rust-lang/miri@e8c919d33e4e13e14d1aa3c8152ddce7ce4b9ace\nUpstream diff: https://github.com/rust-lang/rust/compare/f248f4038796913873f11ca65b1b901e311c8dae...315ecf4a939def16631c2b25c3782ad67fc22160\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "6482f60ecd8ca9db79f3cd5a52dacd8b74c21b96",
      "tree": "4d9d9a8ebd279ef9aa2ad6727f5df4aa42f8a83f",
      "parents": [
        "dd2b897c64d0564103f322f5aa6f08f6c9ec8621"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Sep 10 04:33:29 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Thu Sep 10 04:33:29 2026 +0000"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to 315ecf4a939def16631c2b25c3782ad67fc22160.\n"
    },
    {
      "commit": "e8c919d33e4e13e14d1aa3c8152ddce7ce4b9ace",
      "tree": "fd02ee57859736cb32606c0343019c4e84462e45",
      "parents": [
        "f6e527823867efaf0b6f103d4a6802f39e59696b",
        "2e902b10a36c244657c30b0f28964acce759c4f0"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 09 23:56:45 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 09 23:56:45 2026 +0000"
      },
      "message": "Auto merge of #162523 - Dnreikronos:trait_selection/revert_preserve_type_op_constraints, r\u003dBoxyUwU\n\nRevert \"trait_selection: Keep type-op region constraints in borrowck\"\n\nThis reverts rust-lang/rust#161423.\n\nBoxy pointed out the problem after it landed: the code I touched there runs a lot, and I made it do the new region constraint work every time, even when assumptions-on-binders is off and the constraint is just `true`. So in the common case you end up paying for building and carrying around something nobody ever looks at. Fair point, and honestly I should have seen it myself while writing it. I was thinking about getting the correctness right and not really about how often those functions get called.\n\nThe plan is to revert now and then re-land the same thing with the new logic behind checks for whether AoB is actually on, so we can get a perf run and look at real numbers instead of guessing.\n\nThere is nothing clever in this PR. It is just `git revert -m 1` on the rollup merge, so the diff is the exact opposite of what went in. It applied with no conflicts on current main and `x check compiler` is fine, which I wanted to confirm because rust-lang/rust#162238 landed after this one and touches some of the same files.\n\nr? @BoxyUwU\n"
    },
    {
      "commit": "f6e527823867efaf0b6f103d4a6802f39e59696b",
      "tree": "fd02ee57859736cb32606c0343019c4e84462e45",
      "parents": [
        "734918886479726bf5fdfda4aa22d009d3a1612b",
        "2e902b10a36c244657c30b0f28964acce759c4f0"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 09 17:00:25 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 09 17:00:25 2026 +0000"
      },
      "message": "Auto merge of #162288 - mati865:i686-msvc-no-host, r\u003djieyouxu\n\nDrop host tools from `i686-pc-windows-msvc`\n\n\r\n\r\nImplements [RFC 3999](https://github.com/rust-lang/rfcs/pull/3999).\r\nFixes https://github.com/rust-lang/rust/issues/158378\r\n\r\nI have collapsed two test jobs into one because the second one no longer runs any tests: https://github.com/rust-lang/rust/pull/162288#issuecomment-5540379777"
    },
    {
      "commit": "734918886479726bf5fdfda4aa22d009d3a1612b",
      "tree": "fd02ee57859736cb32606c0343019c4e84462e45",
      "parents": [
        "2e902b10a36c244657c30b0f28964acce759c4f0",
        "bacc5f1708c5fbb70c3e1bc90834bc1e3875c451"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 09 13:25:31 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 09 13:25:31 2026 +0000"
      },
      "message": "Auto merge of #162532 - JonathanBrouwer:rollup-ovIus25, r\u003dJonathanBrouwer\n\nRollup of 5 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#162470 (Subtree sync for rustc_codegen_cranelift)\n - rust-lang/rust#161734 (miri: enforce proper types for c-variadic arguments in shims)\n - rust-lang/rust#161821 (Add missing option to `-Zself-profile-event` help message as well as information about what the default options are)\n - rust-lang/rust#162453 (Minimize `DiagCtxt` methods)\n - rust-lang/rust#162528 (Add a mention to docs about promoting and demoting platform support)\n\n\n\n"
    },
    {
      "commit": "bacc5f1708c5fbb70c3e1bc90834bc1e3875c451",
      "tree": "fd02ee57859736cb32606c0343019c4e84462e45",
      "parents": [
        "99b63b43cc10a4225733585e17a31996ed8388cc",
        "2e902b10a36c244657c30b0f28964acce759c4f0"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Wed Sep 09 15:01:31 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 15:01:31 2026 +0200"
      },
      "message": "Rollup merge of #162528 - apiraino:mention-target-promotion-docs, r\u003doli-obk\n\nAdd a mention to docs about promoting and demoting platform support\n\nI wanted to jump from the target support page and learn about how these targets are promototed/demoted but couldn\u0027t find a direct link for that.\n\nWould it make sense to link the (great) [forge docs](https://forge.rust-lang.org/compiler/proposals-and-stabilization.html#targets) about that?\n\nr? @jieyouxu\n\nNo LLM was harmed when writing these 2 sentences.\n"
    },
    {
      "commit": "99b63b43cc10a4225733585e17a31996ed8388cc",
      "tree": "fd02ee57859736cb32606c0343019c4e84462e45",
      "parents": [
        "b04ec8c1849a0ef3d95d0021e221da83b2112063",
        "ee23d618c51c8213a5109121595c1cf3b7bae824"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Wed Sep 09 15:01:30 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 15:01:30 2026 +0200"
      },
      "message": "Rollup merge of #162453 - nnethercote:min-DiagCtxt-methods, r\u003doli-obk\n\nMinimize `DiagCtxt` methods\n\nWe have `DiagCtxt`, `DiagCtxtInner`, and `DiagCtxtHandle`. They\u0027re all necessary, but the method placement is inconsistent. This commit establishes a clearer rule: methods should *not* go on `DiagCtxt` whenever possible.\n\nBenefits:\n\n- Simpler rule for deciding where to put a method.\n\n- `impl Deref for DiagCtxtHandle` can be removed, including its non-standard double-reference `\u0026\u0026\u0027a DiagCtxt` return value. This makes it impossible to accidentally discard a taint target by calling `handle` on a `DiagCtxtHandle`.\n\n- Catches some places where we were calling `dcx.handle()` when `dcx` was already a handle.\n\nr? @oli-obk\n"
    },
    {
      "commit": "b04ec8c1849a0ef3d95d0021e221da83b2112063",
      "tree": "fd02ee57859736cb32606c0343019c4e84462e45",
      "parents": [
        "ce37de36ecd6e493fba73f513251f7bf67750f9a",
        "79d5c90e96a75e820ff71e5eb060eb8889d48dee"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Wed Sep 09 15:01:29 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 15:01:29 2026 +0200"
      },
      "message": "Rollup merge of #161821 - steffahn:self-profile-help-message, r\u003dtiif\n\nAdd missing option to `-Zself-profile-event` help message as well as information about what the default options are\n\nThe `query-cache-hit-count` option was forgotten to be added to the help text when it was added.\n\nThe new help text also documents which of the options are part of `default`, and now conveys the information that `args` is also a compound/group option and what it contains.\n"
    },
    {
      "commit": "ce37de36ecd6e493fba73f513251f7bf67750f9a",
      "tree": "fd02ee57859736cb32606c0343019c4e84462e45",
      "parents": [
        "2e902b10a36c244657c30b0f28964acce759c4f0",
        "5a2016143c706f50ca668c3d4d07592f34594665"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Wed Sep 09 15:01:28 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 15:01:28 2026 +0200"
      },
      "message": "Rollup merge of #161734 - RalfJung:c-variadic-types, r\u003doli-obk\n\nmiri: enforce proper types for c-variadic arguments in shims\n\nThis adds proper type checks for c-variadic argument handling in Miri shims. So far we would have ICEd for many type mismatches since the innards of the interpreter generally assume that things are well-typed. The checks we are using are the same as for [`next_arg`](https://doc.rust-lang.org/nightly/std/ffi/struct.VaList.html#method.next_arg).\n\nThis uncovered some interesting points:\n-  We should accept `\u0026mut` as equivalent to `*mut`. We don\u0027t allow `\u0026mut` as a type in `next_arg` but we do allow it for c-variadic calls, so this change also affects a bit more code in const-eval (if the caller passes an `\u0026mut` and the callee expects a `*mut`). Even CFI is okay with treating `\u0026mut` and `*mut` as equivalent so this should be fine. Cc @folkertdev\n- Some places in the standard library futex handling used types for their variadic arguments that are not quite correct according to these rules. I fixed those. Cc @m-ou-se\n- One variadic function takes pointers to `libc::timespec`. A program with a libc dependency has two copies of libc (one in the sysroot, and the normal dependency). When Miri looks up the expected argument type, it picks one of them, leading to Miri seeing a type mismatch when there is a call using the other copy. C generally considers two copies of the same type to be identical, so I implemented logic that does the same: two `repr(C)` types are \"identical\" if the names of the types, and the names and types of all fields, are identical. I then also used that logic for the normal ABI checks, where it will also help since we had similar trouble there in the past (that we had to find other work-arounds for).\n"
    },
    {
      "commit": "2e902b10a36c244657c30b0f28964acce759c4f0",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "ee23d618c51c8213a5109121595c1cf3b7bae824",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Sep 06 21:31:26 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Sep 06 21:31:26 2026 +0000"
      },
      "message": "Auto merge of #162092 - Kobzol:ci-job-refactor, r\u003djieyouxu\n\nImplement test- naming convention for CI jobs\n\n\n\nThis PR implements a naming convention for all jobs. Either they have to start with `dist-` (jobs that build artifacts) or `test-` (jobs that test stuff). It also performs some other minor cleanups and sorts the jobs, to make it easier to search through them in the GitHub UI.\r\n\r\nr? jieyouxu\r\n"
    },
    {
      "commit": "ee23d618c51c8213a5109121595c1cf3b7bae824",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "bb7b99af85af5b6fe87bf1d4663dd8eea370a6dd",
        "e2b305dadbab4ab00b1efe5904c037e2097be85b"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Sep 06 13:21:21 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Sep 06 13:21:21 2026 +0000"
      },
      "message": "Auto merge of #159541 - camsteffen:inhabited-variant-query, r\u003dNadrieril\n\nUse query for Variant InhabitedPredicate\n\n\n\nIt looks like there may be some benefit from caching.\r\n"
    },
    {
      "commit": "dd2b897c64d0564103f322f5aa6f08f6c9ec8621",
      "tree": "8a26e73d3a7964ecbd84e14e9823a84bdc4c8405",
      "parents": [
        "4a26d60041a15f9ffd6cbe43e237f2fda197c076",
        "3383e07dab84e13e9a84f6b8e186af4451b56969"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sun Sep 06 07:54:57 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 06 07:54:57 2026 +0000"
      },
      "message": "Merge pull request #5309 from rust-lang/rustup-2026-09-06\n\nAutomatic Rustup\n"
    },
    {
      "commit": "3383e07dab84e13e9a84f6b8e186af4451b56969",
      "tree": "8a26e73d3a7964ecbd84e14e9823a84bdc4c8405",
      "parents": [
        "16e47c102d174746876d901bd505904ae61f2277",
        "bd615224e822a667a86bb728f242b228c26a8113"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Sun Sep 06 04:33:44 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Sun Sep 06 04:33:44 2026 +0000"
      },
      "message": "Merge ref \u0027f248f4038796\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@f248f4038796913873f11ca65b1b901e311c8dae\nFiltered ref: rust-lang/miri@bd615224e822a667a86bb728f242b228c26a8113\nUpstream diff: https://github.com/rust-lang/rust/compare/0ed41eb4142dda2df61eb1145a312c1a9d62eb56...f248f4038796913873f11ca65b1b901e311c8dae\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "16e47c102d174746876d901bd505904ae61f2277",
      "tree": "c5105f5541248d8ffa9e29e8bf93290051ea3ac7",
      "parents": [
        "4a26d60041a15f9ffd6cbe43e237f2fda197c076"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Sun Sep 06 04:30:19 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Sun Sep 06 04:30:19 2026 +0000"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to f248f4038796913873f11ca65b1b901e311c8dae.\n"
    },
    {
      "commit": "bb7b99af85af5b6fe87bf1d4663dd8eea370a6dd",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "bd615224e822a667a86bb728f242b228c26a8113",
        "1f6e2b2408e11c6f5158bd385b21786f467ce6bf"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Sep 06 02:32:06 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sun Sep 06 02:32:06 2026 +0000"
      },
      "message": "Auto merge of #162105 - Zalathar:arena-cache, r\u003dnnethercote\n\nAvoid the `arena_cache` modifier for several queries\n\n\n\nThe `arena_cache` query modifier is convenient, but we can potentially avoid some overhead by allocating values into the central `tcx.arena` when possible.\r\n\r\nThere should be no change to compiler output."
    },
    {
      "commit": "4a26d60041a15f9ffd6cbe43e237f2fda197c076",
      "tree": "cd837daf26d901f77f6d5226592b0f12751b7a3e",
      "parents": [
        "cb8d705a1a51da803de6bd9865647bd9ab90adbb",
        "a12a6d055a2f8b28bdc1a37e2f002040784ae267"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Sep 05 21:13:46 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 21:13:46 2026 +0000"
      },
      "message": "Merge pull request #5299 from WhySoBad/default-tcp-socket-readiness\n\nManually set initial TCP socket readiness\n"
    },
    {
      "commit": "bd615224e822a667a86bb728f242b228c26a8113",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "8f57d36a7e7275ebcfbaa31671855fde67e462c4",
        "2fc20560a661f4f6a650eb5c51b0a5c18afc7724"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sat Sep 05 20:19:46 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sat Sep 05 20:19:46 2026 +0000"
      },
      "message": "Auto merge of #160524 - clubby789:opt-level-opt-none, r\u003dRalfJung\n\nmir-transform: Treat `optimize(none)` the same as `opt-level\u003d0`\n\n\r\n\r\ncc @RalfJung "
    },
    {
      "commit": "a12a6d055a2f8b28bdc1a37e2f002040784ae267",
      "tree": "d571c819a93da9936fa32d68c110dc8c4eab44d1",
      "parents": [
        "b52295abbbe94410323dfe6f8b99ecb840e89171"
      ],
      "author": {
        "name": "WhySoBad",
        "email": "49595640+WhySoBad@users.noreply.github.com",
        "time": "Mon Aug 31 23:05:22 2026 +0200"
      },
      "committer": {
        "name": "WhySoBad",
        "email": "49595640+WhySoBad@users.noreply.github.com",
        "time": "Sat Sep 05 21:08:12 2026 +0200"
      },
      "message": "Manually set initial TCP socket readiness\n\nBecause shimmed TCP sockets only receive host readiness events after\n`connect` or `listen` has been invoked, we need to manually set the\ninitial readiness of a TCP socket.\n"
    },
    {
      "commit": "8f57d36a7e7275ebcfbaa31671855fde67e462c4",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "1f6e2b2408e11c6f5158bd385b21786f467ce6bf",
        "841bb21d4ed1346b36d76fcd6457a9f15d2b67bb"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sat Sep 05 17:04:57 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Sat Sep 05 17:04:57 2026 +0000"
      },
      "message": "Auto merge of #162333 - Zalathar:rollup-DdpfsFl, r\u003dZalathar\n\nRollup of 14 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#162324 (miri subtree update)\n - rust-lang/rust#162170 (bootstrap: use target\u0027s LLVM libdir when cross-compiling)\n - rust-lang/rust#158312 (Adds support for AArch64 SVE to inline assembly)\n - rust-lang/rust#159792 (A more readable debug map for IndexMaps)\n - rust-lang/rust#160745 (make closures act like MaybeDangling)\n - rust-lang/rust#161263 (break rustc_expand-rustc_middle dependency)\n - rust-lang/rust#161895 (std::sys::pal::sgx: fix mismatched alloc/free alignment)\n - rust-lang/rust#161940 (Promote `wasm32-wasip3` to a tier 2 target)\n - rust-lang/rust#161397 (coverage: Tidy tests and add some new ones)\n - rust-lang/rust#161616 (Report precondition violation for `\u003cusize as SliceIndex\u003e::get_unchecked` in const-eval)\n - rust-lang/rust#162248 (Add regression test for unsized const parameter default ICE)\n - rust-lang/rust#162250 (Fix hashing of span end columns in incremental compilation)\n - rust-lang/rust#162265 (cargotest: add lockfiles)\n - rust-lang/rust#162318 (bootstrap: Fix broken path for `./x doc compiler/rustc --open`)\n\n\n\n"
    },
    {
      "commit": "841bb21d4ed1346b36d76fcd6457a9f15d2b67bb",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "f48c1c08fb4c5ab849d98cc20ec4d0d3e4b3e233",
        "1f6e2b2408e11c6f5158bd385b21786f467ce6bf"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:53 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:53 2026 +1000"
      },
      "message": "Rollup merge of #162318 - Zalathar:doc-rustc-open, r\u003dKobzol\n\nbootstrap: Fix broken path for `./x doc compiler/rustc --open`\n\nCurrently this fails because the correct path contains `rustc_main`, but bootstrap tries to use a path containing `rustc-main` instead.\n\nThe existing bug is amplified by the fact that currently doing `./x doc rustc_middle --open` for *any* compiler crate will instead document the entire compiler, and then try to open the docs for `rustc-main`, since it\u0027s the first crate in the crate list.\n\nWith this fix, it is at least possible to view the resulting whole-compiler docs.\n\nr? Kobzol (or bootstrap)\n"
    },
    {
      "commit": "f48c1c08fb4c5ab849d98cc20ec4d0d3e4b3e233",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "27a9b4c359d8f3d3ce17b3288ef975d02bf935c7",
        "fa4559e36f4c7f5be89468296e7f603cf782e219"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:52 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:52 2026 +1000"
      },
      "message": "Rollup merge of #162265 - jnkel:cargotest-lockfile, r\u003djieyouxu\n\ncargotest: add lockfiles\n\nThe `cargotest` suite clones (specific commit hashes of) some repos from GitHub and builds them. One such repo ([iron](https://github.com/iron/iron)) had no lockfile, and one of its dependencies (`tinyvec`) [pushed an update which failes to compile](https://github.com/Lokathor/tinyvec/issues/225).\n\nAdd a lockfile for this test to downgrade tinyvec, unblock CI, and prevent this from happening in the future. Also add lockfiles for other tests that were missing them (`diesel` and `stylo`), as not having them risks both broken builds and supply-chain attacks on CI.\n"
    },
    {
      "commit": "27a9b4c359d8f3d3ce17b3288ef975d02bf935c7",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "d38daf6a43adf4bc3f6a98259abe525895e14c7f",
        "aefa9c97732d2c3d5bf198af21afba76214a0abd"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:52 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:52 2026 +1000"
      },
      "message": "Rollup merge of #162250 - cuishuang:master, r\u003dmu001999\n\nFix hashing of span end columns in incremental compilation\n\n`stable_hash_span` packs the span start/end line and column together with its length, but the `col_hi` mask was shifted before being applied, so the end column was effectively omitted from the hash.\n\nParenthesize the mask operation so `col_hi` is masked with `0xFF` before being shifted into bits 32..39.\n"
    },
    {
      "commit": "d38daf6a43adf4bc3f6a98259abe525895e14c7f",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "3431f3aa37ed7f37dc61f8e69b5c930f83777bc1",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:51 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:51 2026 +1000"
      },
      "message": "Rollup merge of #162248 - zakrad:regr-test-146084, r\u003dKivooeo\n\nAdd regression test for unsized const parameter default ICE\n\nFixes rust-lang/rust#146084\n"
    },
    {
      "commit": "3431f3aa37ed7f37dc61f8e69b5c930f83777bc1",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "9cf2d5af4506ba6b942481152007bf6e69e31a7f",
        "fe0cb69f5a954265bd4b5f7bf1a0543c0a532f81"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:50 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:50 2026 +1000"
      },
      "message": "Rollup merge of #161616 - bardiharborow:get-unchecked-index-precondition-const-eval, r\u003dRalfJung\n\nReport precondition violation for `\u003cusize as SliceIndex\u003e::get_unchecked` in const-eval\n\nThe precondition check was gated on `check_language_ub`, which is disabled in const-eval and Miri, on the grounds that the `assume` below it is language UB that the interpreter will catch anyway. It does catch it, but only as \"`assume` called with `false`\", which says nothing about what the caller did wrong.\n\nThis PR instead gates the check on `check_library_ub`, matching `get_unchecked_mut`, so that the interpreter reports the violated precondition.\n\nFixes rust-lang/rust#161611\n"
    },
    {
      "commit": "9cf2d5af4506ba6b942481152007bf6e69e31a7f",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "0d6b0f7b4234bbc049ab4ec0493ac90104dcc194",
        "6eb0b8e4a2a2b45868fc54acd2391eb87cd95095"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:50 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:50 2026 +1000"
      },
      "message": "Rollup merge of #161397 - Zalathar:tests-coverage, r\u003ddavidtwco\n\ncoverage: Tidy tests and add some new ones\n\nWhile experimenting with some coverage changes, I noticed that some of our tests are not very useful for diagnosing problems, and that we lack good simple tests for some common Rust constructs.\n"
    },
    {
      "commit": "0d6b0f7b4234bbc049ab4ec0493ac90104dcc194",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "7f29b976a1ce511452a2a8b2c63c5ae5961c2a2a",
        "aefa9c97732d2c3d5bf198af21afba76214a0abd"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:49 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:49 2026 +1000"
      },
      "message": "Rollup merge of #161940 - alexcrichton:wasip3, r\u003ddavidtwco\n\nPromote `wasm32-wasip3` to a tier 2 target\n\nThis commit updates documentation, configuration, etc, within the compiler to promote the `wasm32-wasip3` target to tier 2. This means that precompiled binaries will be made available in `rustup` for usage. This target MCP for this change is [rust-lang/compiler-team/100][mcp].\n\nThis target requires LLVM 23 which rustc recently has updated to, and then additionally requires wasi-sdk-34 which additionally uses LLVM 23 which was also updated recently. With these ingredients in place the ABI for `wasm32-wasip3` is all lined up and ready to go. These changes were all necessary to bring cooperative threading to the target in the future, but that\u0027s not quite ready in the ecosystem yet.\n\nI\u0027ve locally been testing this target and it\u0027s done well so far, but I suspect this\u0027ll need subsequent bug fixes here and there as other new issues crop up. I don\u0027t expect anything major will be necessary, however.\n\n[mcp]: https://github.com/rust-lang/compiler-team/issues/1001\n"
    },
    {
      "commit": "7f29b976a1ce511452a2a8b2c63c5ae5961c2a2a",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "f7349459bf87cd645e88e8c4213a5f0650ba8bae",
        "1f6e2b2408e11c6f5158bd385b21786f467ce6bf"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:48 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:48 2026 +1000"
      },
      "message": "Rollup merge of #161895 - phlip9:phlip9/fix-sgx-alloc-align, r\u003dJohnTitor\n\nstd::sys::pal::sgx: fix mismatched alloc/free alignment\n\n### Why the PR?\n\nI\u0027ve got a local `miri` branch that\u0027s able to test `x86_64-fortanix-unknown-sgx`, so I can get better assurance about our enclaves. It\u0027s now complaining about a bunch of stuff in std :sweat_smile:\n\n### Context\n\n1. `x86_64-fortanix-unknown-sgx` enclaves can request the untrusted host enclave runner to allocate/free memory in userspace and get a pointer to it in return.\n\n2. There\u0027s a userspace/enclave space memory split for `x86_64-fortanix-unknown-sgx` enclaves. It\u0027s a bit like the userspace/kernel space split, where the kernel doesn\u0027t trust pointers from userspace and is very paranoid about copying data to/from userspace.\n\n### Problem\n\nIn the enclave, `User::new_uninit_bytes` and `User::drop` are requesting the host to alloc/dealloc memory with potentially mismatched alignment, as the enclave side is unconditionally over-aligning on allocation but not doing the same on free.\n\n- Ex: `User::\u003cByteBuffer\u003e` -\u003e `alloc(_, align\u003d8)` -\u003e `drop()` -\u003e `free(_, align\u003d1)`\n\nSee: \u003chttps://github.com/rust-lang/rust/blob/main/library/std/src/sys/pal/sgx/abi/usercalls/alloc.rs\u003e\n\n```rust\n// Enclave-side\n\nimpl\u003cT: ?Sized\u003e User\u003cT\u003e\nwhere\n    T: UserSafe,\n{\n    // This function returns memory that is practically uninitialized, but is\n    // not considered \"unspecified\" or \"undefined\" for purposes of an\n    // optimizing compiler. This is achieved by returning a pointer from\n    // from outside as obtained by `super::alloc`.\n    fn new_uninit_bytes(size: usize) -\u003e Self {\n        unsafe {\n            // Mustn\u0027t call alloc with size 0.\n            let ptr \u003d if size \u003e 0 {\n                // `copy_to_userspace` is more efficient when data is 8-byte aligned\n                let alignment \u003d cmp::max(T::align_of(), 8); // \u003c------------------------- HERE\n                rtunwrap!(Ok, super::alloc(size, alignment)) as _\n            } else {\n                T::align_of() as _ // dangling pointer ok for size 0\n            };\n            if let Ok(v) \u003d crate::panic::catch_unwind(|| T::from_raw_sized(ptr, size)) {\n                User(NonNull::new_userref(v))\n            } else {\n                rtabort!(\"Got invalid pointer from alloc() usercall\")\n            }\n        }\n    }\n    // ...\n}\n\n// ...\n\nimpl\u003cT: ?Sized\u003e Drop for User\u003cT\u003e\nwhere\n    T: UserSafe,\n{\n    fn drop(\u0026mut self) {\n        unsafe {\n            let ptr \u003d (*self.0.as_ptr()).0.get();\n            //                                            vvvvvvvvvvvvv------------------ HERE\n            super::free(ptr as _, size_of_val(\u0026mut *ptr), T::align_of());\n        }\n    }\n}\n```\n\nThis min. alignment optimization was introduced in https://github.com/rust-lang/rust/commit/6f7d1937e20edf00ea2b5d7c2c8ce2dab2830452. See below for more details on why.\n\nThe two usercalls, `super::alloc` and `super::free`, are eventually handled by the host runner. They just delegate to the `System` allocator:\n\nSee: \u003chttps://github.com/fortanix/rust-sgx/blob/master/intel-sgx/enclave-runner-sgx/src/usercalls/mod.rs\u003e\n\n```rust\n// Host-side / userspace\n\nimpl\u003c\u0027tcs\u003e IOHandlerInput\u003c\u0027tcs\u003e {\n    // ...\n\n    #[inline(always)]\n    fn alloc(\u0026self, size: usize, alignment: usize) -\u003e IoResult\u003c*mut u8\u003e {\n        unsafe {\n            //                                         vvvvvvvvv--------------- UNCHANGED\n            let layout \u003d Layout::from_size_align(size, alignment)\n                .map_err(|_| IoErrorKind::InvalidInput)?;\n            if layout.size() \u003d\u003d 0 {\n                return Err(IoErrorKind::InvalidInput.into());\n            }\n            let ptr \u003d System.alloc(layout);\n            if ptr.is_null() {\n                Err(IoErrorKind::Other.into())\n            } else {\n                Ok(ptr)\n            }\n        }\n    }\n\n    #[inline(always)]\n    fn free(\u0026self, ptr: *mut u8, size: usize, alignment: usize) -\u003e IoResult\u003c()\u003e {\n        unsafe {\n            //                                         vvvvvvvvv--------------- UNCHANGED\n            let layout \u003d Layout::from_size_align(size, alignment)\n                .map_err(|_| IoErrorKind::InvalidInput)?;\n            if size \u003d\u003d 0 {\n                return Ok(());\n            }\n            Ok(System.dealloc(ptr, layout))\n        }\n    }\n\n    // ...\n}\n```\n\nIt also appears that `enclave-runner-sgx` assumes that there\u0027s no `#[global_allocator]` override (\u003chttps://github.com/fortanix/rust-sgx/blob/master/intel-sgx/enclave-runner-sgx/src/usercalls/interface.rs#L333\u003e).\n\nFor most enclave hosts running stock x86_64-unknown-linux-gnu (glibc malloc), I don\u0027t believe this mismatch is currently an issue, since posix `free` ignores the alignment anyway.\n\nIf you did swap in jemalloc, which does care about the dealloc alignment, then something would definitely go wrong elsewhere, as the you\u0027d have mismatched allocators (`System` above vs `Box\u003c_\u003e`/`Vec\u003c_\u003e` using `Global`).\n\n### Solutions\n\nIt\u0027s not clear that we can round-up the alignment on `free`, since `User::from_raw` exists, and there\u0027s various places that call it outside std.\n\nWe should probably just remove the in-enclave min. alignment until we come up with a more satisfactory solution. My guess is that the right place to do the min. alignment optimization is on enclave-runner-sgx side: \u003chttps://github.com/fortanix/rust-sgx/blob/master/intel-sgx/enclave-runner-sgx/src/usercalls/mod.rs#L1596\u003e and other places that hand memory to the SGX enclave.\n\n### Why over-align in the first place?\n\nThe min. alignment exists for performance reasons (see: `copy_from_userspace`). It\u0027s highly preferable if all memory copied from userspace is at least 8 byte aligned, otherwise we have to fallback to a super slow copy routine for the unaligned prefix (and suffix).\n"
    },
    {
      "commit": "f7349459bf87cd645e88e8c4213a5f0650ba8bae",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "1d44009cb6cc186c312d71fda31363c0cabfae72",
        "1f6e2b2408e11c6f5158bd385b21786f467ce6bf"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:48 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:48 2026 +1000"
      },
      "message": "Rollup merge of #161263 - mejrs:expand, r\u003dpetrochenkov,JonathanBrouwer\n\nbreak rustc_expand-rustc_middle dependency\n\nBack in https://github.com/rust-lang/rust/pull/145354 (cc @Kobzol), support for caching derive macros was added. With this, rustc_expand was made to depend on rustc_middle.\n\nThis PR breaks that dependency so that rustc_expand and rustc_builtin_macros can compile in parallel with rustc_middle.\n\nThe timing graph goes from this:\n\u003cimg width\u003d\"451\" height\u003d\"438\" alt\u003d\"image\" src\u003d\"https://github.com/user-attachments/assets/2d48b0d4-443c-4ec8-b4f0-a6412e86a62f\" /\u003e\n\nto this:\n\u003cimg width\u003d\"456\" height\u003d\"309\" alt\u003d\"image\" src\u003d\"https://github.com/user-attachments/assets/66519857-fa65-4794-ad66-aa565170e196\" /\u003e\n\nNote that the interval where we\u0027re exclusively compiling rustc_middle has become much shorter.\nFull graphs here:\n[cargo-timing-main.html](https://github.com/user-attachments/files/31157361/cargo-timing-main.html)\n[cargo-timing-expand2.html](https://github.com/user-attachments/files/31157373/cargo-timing-expand2.html)\n\nIt\u0027s somewhat hard to benchmark reliably but a full bootstrap is about 5-10 seconds faster overall, on a machine with an Amd Ryzen 5900x 12-core processor.\n"
    },
    {
      "commit": "1d44009cb6cc186c312d71fda31363c0cabfae72",
      "tree": "334e68dee171e3beeb81da84b400c19289cfcb93",
      "parents": [
        "a78e3b27f061644616814cd9de4c49a2d1f5ba67",
        "95e2e2580de83060e57e74fe01821777d6ac0a27"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:47 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:47 2026 +1000"
      },
      "message": "Rollup merge of #160745 - RalfJung:closure-maybe-dangling, r\u003dWaffleLapkin\n\nmake closures act like MaybeDangling\n\nThis makes closures (and types like them: coroutines and coroutine closures) act like MaybeDangling. This means that the aliasing model will entirely ignore references and `Box`es passed around as closure captures, removing a pretty subtle footgun that has already caused multiple soundness issues:\n\n- The standard library thread spawning logic was unsound because it passed around arbitrary user data in a closure capture. See https://github.com/rust-lang/rust/issues/101983 for details. I doubt that this is the only such unsoundness in the ecosystem, this is just very hard to find -- you need to not only run your code in Miri but also pass very specific types through your API to trigger the UB.\n- Movable (unpinned) generators can contain mutable references that are reborrowed from other references stored in the same generator. This is currently [unsound](https://github.com/rust-lang/rust/issues/159443). The only way this is sound is if the reborrowed-from references are inside MaybeDangling; without this, moving the generator (which retags its contents) invalidates the reborrowed reference. So at least for generators, we have to do this change anyway one way or another.\n\nHere\u0027s an example of code that no longer has UB under this PR:\n```rust\nfn invoke(f: impl FnOnce()) {\n    f()\n}\n\nfn main() {\n    let p \u003d Box::leak(Box::new(0i32));\n    invoke(move || {\n        drop(unsafe { Box::from_raw(p) });\n    });\n}\n```\nBasically, what we are establishing here is that immediately invoking a closure should be (almost) equivalent to just inlining its body. (There is still a caveat here in that if you capture things that violate their validity invariant, the inlined body might not care but immediately invoking the closure will. But at least for all the subtle questions around aliasing, the two will be equivalent under this PR.)\n\nOverall I think the fact that moving a closure / generator will alter its contents (by retagging) is just a bit too subtle. It\u0027s already subtle for \"normal\" types but there at least one can see the type with its fields. For closures, that\u0027s all entirely implicit. At the same time, the benefit we get from this at the moment is tiny -- we can only actually tell LLVM about these references if the closure/generator has scalar / scalar-pair representation, which can only happen when it captures at most 2 scalar values.\n\nThis PR just implements the semantics without updating any docs. I am not sure where we\u0027d document this, given our general lack of documentation around the aliasing model. Still we should t-opsem FCP this PR to ensure we have team consensus for not retagging or requiring reference dereferenceability inside closoures and closure-like types (and then we can involve lang if/when we start making official promises about this).\n\nOn the implementation side, I realized this by introducing the notion of \"maybe-dangling-like\" types, so that the semantics is not hard-coded specifically to `MaybeDangling`. This also lets us simplify `ManuallyDrop`, reducing its field nesting a bit, which should help with some of the query limit issues people encountered when we added the extra field nesting. It also means generators get the desired semantics without increasing their field nesting. Cc @WaffleLapkin\n\nFixes https://github.com/rust-lang/rust/issues/159443\n"
    },
    {
      "commit": "a78e3b27f061644616814cd9de4c49a2d1f5ba67",
      "tree": "fa7202690362dee261ffaf41ec2f8dfaf829bad1",
      "parents": [
        "8289d3ed6be6eb2144d35032be719b40a4f6630a",
        "1b13e103a1d0502ce9e5ecd7b27efd5fe4e18834"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:46 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:46 2026 +1000"
      },
      "message": "Rollup merge of #159792 - dingxiangfei2009:coro-debug-map, r\u003dcjgillot\n\nA more readable debug map for IndexMaps\n\nLet\u0027s ship rust-lang/rust#135527 more.\n\nTo help future debugging, let us print the maps with a more readable format.\n\nr? @cjgillot\n"
    },
    {
      "commit": "8289d3ed6be6eb2144d35032be719b40a4f6630a",
      "tree": "fa7202690362dee261ffaf41ec2f8dfaf829bad1",
      "parents": [
        "3dae4b7a9e50edd52638c56c8bcb8cab19edfe5a",
        "cbc111eaf4bd7bf7447652b8ff467cdf09586c0d"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:46 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:46 2026 +1000"
      },
      "message": "Rollup merge of #158312 - CrooseGit:dev/reucru01/sve-asm-support, r\u003dAmanieu\n\nAdds support for AArch64 SVE to inline assembly\n"
    },
    {
      "commit": "3dae4b7a9e50edd52638c56c8bcb8cab19edfe5a",
      "tree": "fa7202690362dee261ffaf41ec2f8dfaf829bad1",
      "parents": [
        "8750e04f54985fc51c6225cc27bcb7c1eecb01fe",
        "6eb0b8e4a2a2b45868fc54acd2391eb87cd95095"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:45 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:45 2026 +1000"
      },
      "message": "Rollup merge of #162170 - heiher:fix-llvm-libdir, r\u003dKobzol\n\nbootstrap: use target\u0027s LLVM libdir when cross-compiling\n\n`Cargo::cargo` adds LLVM\u0027s library search path to `rustflags` for `ToolRustcPrivate`/`Codegen` so that tools linking against compiler libraries can find `libLLVM`. However, it always queried `host_llvm_config()`, which resolves to the *host*\u0027s `llvm-config` regardless of the requested `target`. When cross-compiling, this appends the host\u0027s LLVM libdir to the target\u0027s link flags, which can cause linking to fail.\n\nOnly use `llvm-config --libdir` when `target` is the host. Otherwise, ensure the `Llvm` step for `target` and derive the libdir from its `root_dir()` instead of invoking `llvm-config`, since the resulting binary may not be executable on the host if it was built for a different target.\n"
    },
    {
      "commit": "8750e04f54985fc51c6225cc27bcb7c1eecb01fe",
      "tree": "fa7202690362dee261ffaf41ec2f8dfaf829bad1",
      "parents": [
        "1f6e2b2408e11c6f5158bd385b21786f467ce6bf",
        "cb8d705a1a51da803de6bd9865647bd9ab90adbb"
      ],
      "author": {
        "name": "Stuart Cook",
        "email": "Zalathar@users.noreply.github.com",
        "time": "Sat Sep 05 23:04:44 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 23:04:44 2026 +1000"
      },
      "message": "Rollup merge of #162324 - RalfJung:miri, r\u003dRalfJung\n\nmiri subtree update\n\nSubtree update of `miri` to https://github.com/rust-lang/miri/commit/cb8d705a1a51da803de6bd9865647bd9ab90adbb.\n\nCreated using https://github.com/rust-lang/josh-sync.\n\nr? @ghost\n"
    },
    {
      "commit": "cb8d705a1a51da803de6bd9865647bd9ab90adbb",
      "tree": "fa7202690362dee261ffaf41ec2f8dfaf829bad1",
      "parents": [
        "127b35a5417f9f1310cdcf45019c80b41a0f1637",
        "f5c55a64cc52ac28e022e0740badad35bb33a2ab"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Sep 05 09:00:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 09:00:48 2026 +0000"
      },
      "message": "Merge pull request #5298 from newpavlov/aeskeygenassist\n\nAdd `llvm.x86.aesni.aeskeygenassist` support\n"
    },
    {
      "commit": "f5c55a64cc52ac28e022e0740badad35bb33a2ab",
      "tree": "07e1c9a93318503021e44568a33f16a220fb0fa7",
      "parents": [
        "b52295abbbe94410323dfe6f8b99ecb840e89171"
      ],
      "author": {
        "name": "Артём Павлов [Artyom Pavlov]",
        "email": "newpavlov@gmail.com",
        "time": "Wed Sep 02 17:33:04 2026 +0300"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Sep 05 10:29:14 2026 +0200"
      },
      "message": "Add `llvm.x86.aesni.aeskeygenassist` support\n"
    },
    {
      "commit": "127b35a5417f9f1310cdcf45019c80b41a0f1637",
      "tree": "be6b1fb77ee2b7444fe34fd31c44c25af7a7e471",
      "parents": [
        "165a9c3c96f0f4e6232278e62cb64648215bbc37",
        "87b9101cdff4d7b6552494622f4a9cba26636720"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Sep 05 07:29:40 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 05 07:29:40 2026 +0000"
      },
      "message": "Merge pull request #5307 from rust-lang/rustup-2026-09-05\n\nAutomatic Rustup\n"
    },
    {
      "commit": "87b9101cdff4d7b6552494622f4a9cba26636720",
      "tree": "be6b1fb77ee2b7444fe34fd31c44c25af7a7e471",
      "parents": [
        "24a2b18c029b645f3182c3b0f166849617f0ad4c",
        "1f6e2b2408e11c6f5158bd385b21786f467ce6bf"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Sat Sep 05 04:36:17 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Sat Sep 05 04:36:17 2026 +0000"
      },
      "message": "Merge ref \u00270ed41eb4142d\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@0ed41eb4142dda2df61eb1145a312c1a9d62eb56\nFiltered ref: rust-lang/miri@1f6e2b2408e11c6f5158bd385b21786f467ce6bf\nUpstream diff: https://github.com/rust-lang/rust/compare/a69a63265cfd9e006d43137f98301b8d274ad4c9...0ed41eb4142dda2df61eb1145a312c1a9d62eb56\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "24a2b18c029b645f3182c3b0f166849617f0ad4c",
      "tree": "2f5d01271b75c5064e757d846cfee5263016b037",
      "parents": [
        "165a9c3c96f0f4e6232278e62cb64648215bbc37"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Sat Sep 05 04:31:36 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Sat Sep 05 04:31:36 2026 +0000"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to 0ed41eb4142dda2df61eb1145a312c1a9d62eb56.\n"
    },
    {
      "commit": "95e2e2580de83060e57e74fe01821777d6ac0a27",
      "tree": "de3950a81bc8a2998f629de607b9aee1418a23b6",
      "parents": [
        "a9892078c1c7207b386ce647ab22a8fb9294abdc"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sun Aug 16 10:59:10 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Sep 04 16:35:10 2026 +0200"
      },
      "message": "add another movable-generator regression test\n"
    },
    {
      "commit": "a9892078c1c7207b386ce647ab22a8fb9294abdc",
      "tree": "16e8a726b9d7e6d084cfb4f18408c3ad6957003d",
      "parents": [
        "eee8682efaba8c2b16b761a3a2778c5856fcdcbb"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Aug 08 16:54:03 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Sep 04 16:35:10 2026 +0200"
      },
      "message": "simplify ManuallyDrop by making it natively \u0027like MaybeDangling\u0027\n"
    },
    {
      "commit": "eee8682efaba8c2b16b761a3a2778c5856fcdcbb",
      "tree": "3b34dceb68e678f2c4cd6ec2f7f7c27582129f52",
      "parents": [
        "cbc111eaf4bd7bf7447652b8ff467cdf09586c0d"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Sat Aug 08 16:47:00 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Sep 04 16:35:10 2026 +0200"
      },
      "message": "make closure-like types act like MaybeDangling\n"
    },
    {
      "commit": "1f6e2b2408e11c6f5158bd385b21786f467ce6bf",
      "tree": "7db1ac52ae7fd42fe8b74cf1a8f8b484184aff2a",
      "parents": [
        "cbc111eaf4bd7bf7447652b8ff467cdf09586c0d",
        "aefa9c97732d2c3d5bf198af21afba76214a0abd"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Fri Sep 04 10:56:43 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Fri Sep 04 10:56:43 2026 +0000"
      },
      "message": "Auto merge of #161795 - adwinwhite:hidden-is-opaque, r\u003dlcnr\n\nalways rerun if we normalize local opaques\n\n\n\n\r\nFixes rust-lang/rust#135062\r\n\r\nThe problem is that we rerun goals too late such that we compute auto trait for wrongly-marked-as-rigid opaques.\r\nWe call `type_of` on those opaques which would trigger query cycle if we\u0027re already in typeck/borrowck of the same opaques.\r\n\r\nIt\u0027s fixed by eagerly rerun if we ever normalize a local opaque. \r\nTo be more consersative, we could also rerun if we normalize remote opaque. But that causes regression for `wg-grammar`. Since we wouldn\u0027t be in typeck/borrowck if we\u0027re in post analysis mode, we don\u0027t have the query cycle problem. We **might** get away with not rerunning there.\r\n\r\n`OpaqueInStorage` removal doesn\u0027t affect behavior and can be done in a followup.\r\n\r\nr? @lcnr"
    },
    {
      "commit": "cbc111eaf4bd7bf7447652b8ff467cdf09586c0d",
      "tree": "7db1ac52ae7fd42fe8b74cf1a8f8b484184aff2a",
      "parents": [
        "6eb0b8e4a2a2b45868fc54acd2391eb87cd95095",
        "7386d0a0f5bcfd92bcb8cf6517f80d1cd48e98d7"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Fri Sep 04 07:45:41 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Fri Sep 04 07:45:41 2026 +0000"
      },
      "message": "Auto merge of #162284 - JonathanBrouwer:rollup-xBLkMAP, r\u003dJonathanBrouwer\n\nRollup of 7 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#157808 (sanitizers: Implement support for the sanitize ignorelist)\n - rust-lang/rust#160660 (c-variadic: use `emit_ptr_va_arg` for `va_arg` on `sparc`)\n - rust-lang/rust#162237 (make -Ctarget-feature warnings more explicitly FCWs)\n - rust-lang/rust#160111 (Generalize Decodable impl for arrays to all types)\n - rust-lang/rust#162174 (Update internal docs \u0026 tests to use `!` rather than `Infallible` in relation to `Try`)\n - rust-lang/rust#162226 (Clean up the AST visitor)\n - rust-lang/rust#162281 (rustc-dev-guide subtree update)\n\n\n\n"
    },
    {
      "commit": "7386d0a0f5bcfd92bcb8cf6517f80d1cd48e98d7",
      "tree": "7db1ac52ae7fd42fe8b74cf1a8f8b484184aff2a",
      "parents": [
        "000341ba596e1d6e73d571f2bc70fa418f7ce481",
        "96dab96fa76a47f3b50d6d8bcbf4ffa926a70e7d"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Fri Sep 04 09:44:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 09:44:50 2026 +0200"
      },
      "message": "Rollup merge of #162281 - tshepang:rdg-sync, r\u003dtshepang\n\nrustc-dev-guide subtree update\n\nSubtree update of `rustc-dev-guide` to https://github.com/rust-lang/rustc-dev-guide/commit/a6da1624bbddfa694742769c1b17731115e1b376.\n\nCreated using https://github.com/rust-lang/josh-sync.\n\nr? @ghost\n"
    },
    {
      "commit": "000341ba596e1d6e73d571f2bc70fa418f7ce481",
      "tree": "7db1ac52ae7fd42fe8b74cf1a8f8b484184aff2a",
      "parents": [
        "6420f0c545d5343dcaddb7df5db56b98363262ff",
        "25a3c067b87f2376280a26899b7fbb6254f852b2"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Fri Sep 04 09:44:49 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 09:44:49 2026 +0200"
      },
      "message": "Rollup merge of #162226 - nnethercote:clean-up-AST-visitor, r\u003dfee1-dead\n\nClean up the AST visitor\n\nThe AST visitor is macro-heavy and complicated. This PR simplifies some aspects of it. Details in individual commits.\n\nr? @fee1-dead\n"
    },
    {
      "commit": "6420f0c545d5343dcaddb7df5db56b98363262ff",
      "tree": "7db1ac52ae7fd42fe8b74cf1a8f8b484184aff2a",
      "parents": [
        "4f19b4682e13dbf71488dd9720f1bda8674a6322",
        "4c181b9bf9ae260402a2455140c3fcf6aa509426"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Fri Sep 04 09:44:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 09:44:48 2026 +0200"
      },
      "message": "Rollup merge of #162174 - MusicalNinjaDad:try_is_never, r\u003dnnethercote\n\nUpdate internal docs \u0026 tests to use `!` rather than `Infallible` in relation to `Try`\n\n- Update docs, internal comments and tests to use `!` rather than `Infallible` in `Try` situations.\n- Add a custom `enum Uninhabited {}` to specific clippy tests where unintentional future divergence in handling `!` vs other uninhabited types may be a possible concern\n\nRefs:\n- Never is ~~meow~~ now rust-lang/rust#155499\n- Try: rust-lang/rust#84277 \u0026 rust-lang/goals#654\n"
    },
    {
      "commit": "4f19b4682e13dbf71488dd9720f1bda8674a6322",
      "tree": "7db1ac52ae7fd42fe8b74cf1a8f8b484184aff2a",
      "parents": [
        "9453984f7a71b09d7422fa8f6ce3e2863d261cc7",
        "1b13e103a1d0502ce9e5ecd7b27efd5fe4e18834"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Fri Sep 04 09:44:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 09:44:47 2026 +0200"
      },
      "message": "Rollup merge of #160111 - panstromek:generalize-decodable-array, r\u003dmu001999\n\nGeneralize Decodable impl for arrays to all types\n\nThis is almost the only impl that is not symetric with its Encodable counterpart. I tried to find out why in the history but it looks like this impl predates most of the generic symetric ones that are in this file, so it looks like it\u0027s not intentional.\n\nI bumped into this randomly by changing a Vec to an array in some Mir types. The error was pretty confusing and It took me a while to figure out so I think it\u0027s worth generalizing this for somebody else in the future,  even though it\u0027s technically not necessary at the moment.\n\n~~We piggyback off of `SmallVec` impl to avoid adding a `Default` bound or `MaybeUninit` unsafe dance. This moves the assert from the begining to the end of the loop.~~ We use `array::from_fn`\n"
    },
    {
      "commit": "9453984f7a71b09d7422fa8f6ce3e2863d261cc7",
      "tree": "7db1ac52ae7fd42fe8b74cf1a8f8b484184aff2a",
      "parents": [
        "967a9ace68c36f359d8a9c5b4b7990db5ead19aa",
        "c606921b4d40d867ff435085a9f5441fdde6dcd9"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Fri Sep 04 09:44:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 09:44:46 2026 +0200"
      },
      "message": "Rollup merge of #162237 - RalfJung:target-feature, r\u003dJohnTitor\n\nmake -Ctarget-feature warnings more explicitly FCWs\n\nIn https://github.com/rust-lang/compiler-team/issues/994 we agreed that\n\n\u003e We also change the warning emitted for unknown features in -Ctarget-feature to be explicitly a future-compat warning, and eventually we make unknown features in -Ctarget-feature a hard error.\n\nThis PR implements that.\nI also created a new tracking issue specifically for this FCW as the old one has all sorts of discussion about us even figuring out the problem in the first place: https://github.com/rust-lang/rust/issues/162235.\n"
    },
    {
      "commit": "967a9ace68c36f359d8a9c5b4b7990db5ead19aa",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "684274b8b3d29588f22c7e1fd60ab3f8a5f6efe2",
        "ff892499b5b93cf8452f0da6a7bb23d307c3462f"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Fri Sep 04 09:44:45 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 09:44:45 2026 +0200"
      },
      "message": "Rollup merge of #160660 - folkertdev:sparc-va-arg, r\u003dsaethlin\n\nc-variadic: use `emit_ptr_va_arg` for `va_arg` on `sparc`\n\nI\u0027ve built GCC for the target and validated pretty extensively that this works. Using our helper does generate worse code for `i64` unfortunately, I\u0027ve reported that as https://github.com/llvm/llvm-project/issues/214594. But, given that this is a tier-3 target etc. I don\u0027t think it makes sense to go out of our way to do better, we can just wait for LLVM to resolve that issue.\n"
    },
    {
      "commit": "684274b8b3d29588f22c7e1fd60ab3f8a5f6efe2",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "6eb0b8e4a2a2b45868fc54acd2391eb87cd95095",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Fri Sep 04 09:44:44 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 09:44:44 2026 +0200"
      },
      "message": "Rollup merge of #157808 - 1c3t3a:sanitizer-ignorelist, r\u003drcvalle\n\nsanitizers: Implement support for the sanitize ignorelist\n\nThe sanitize ignorelist gives central controls over which functions, files, etc. should be ignored and not sanitized. It is a common file format for clang and explained here:\nhttps://clang.llvm.org/docs/SanitizerSpecialCaseList.html. This change adds support for this list in Rust as well.\n\nr? @rcvalle\n"
    },
    {
      "commit": "c606921b4d40d867ff435085a9f5441fdde6dcd9",
      "tree": "7db1ac52ae7fd42fe8b74cf1a8f8b484184aff2a",
      "parents": [
        "6eb0b8e4a2a2b45868fc54acd2391eb87cd95095"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 14:38:38 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Sep 04 08:22:14 2026 +0200"
      },
      "message": "make -Ctarget-feature warnings more explicitly FCWs\n"
    },
    {
      "commit": "165a9c3c96f0f4e6232278e62cb64648215bbc37",
      "tree": "eaea2d725242737ada055d9badad2970c66f1a5a",
      "parents": [
        "8eed962bb9be0af5f9c40030819d83df2a85a082",
        "223a96a89e17328b55b2066d26c7f3cb61d001ab"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Fri Sep 04 06:19:27 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 06:19:27 2026 +0000"
      },
      "message": "Merge pull request #5304 from rust-lang/rustup-2026-09-04\n\nAutomatic Rustup\n"
    },
    {
      "commit": "223a96a89e17328b55b2066d26c7f3cb61d001ab",
      "tree": "eaea2d725242737ada055d9badad2970c66f1a5a",
      "parents": [
        "913254ee0b5112b8611227db2b77df778ab083a3",
        "6eb0b8e4a2a2b45868fc54acd2391eb87cd95095"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Fri Sep 04 04:38:27 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Fri Sep 04 04:38:27 2026 +0000"
      },
      "message": "Merge ref \u0027a69a63265cfd\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@a69a63265cfd9e006d43137f98301b8d274ad4c9\nFiltered ref: rust-lang/miri@6eb0b8e4a2a2b45868fc54acd2391eb87cd95095\nUpstream diff: https://github.com/rust-lang/rust/compare/2e2b193f8ada105f27608b7be81c293e0d7292cb...a69a63265cfd9e006d43137f98301b8d274ad4c9\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "913254ee0b5112b8611227db2b77df778ab083a3",
      "tree": "8595b58251078dac08f8c2eba3a544d7bc2af171",
      "parents": [
        "8eed962bb9be0af5f9c40030819d83df2a85a082"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Fri Sep 04 04:33:31 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Fri Sep 04 04:33:31 2026 +0000"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to a69a63265cfd9e006d43137f98301b8d274ad4c9.\n"
    },
    {
      "commit": "6eb0b8e4a2a2b45868fc54acd2391eb87cd95095",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "1b13e103a1d0502ce9e5ecd7b27efd5fe4e18834",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Thu Sep 03 16:44:58 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Thu Sep 03 16:44:58 2026 +0000"
      },
      "message": "Auto merge of #161716 - notriddle:remake-bootstrap-doc-mergeable, r\u003dKobzol,jieyouxu\n\nbootstrap: Enable rustdoc mergeable CCI for std and internal docs\n\n\n\nTakes a different approach to https://github.com/rust-lang/rust/pull/160098, where the internal docs are merged by bootstrap directly invoking rustdoc. This requires bootstrap to gather the list of metadata directories by inspecting cargo\u0027s fingerprint files (which aren\u0027t stable). The first commit is written by @camelid, but I wrote the other two.\r\n\r\nThis feature is needed because:\r\n\r\n1. The search index (that powers [web-based search](https://doc.rust-lang.org/nightly/nightly-rustc/?search\u003dty%20-%3E%20rustdoc%3A%3Atype)) needs to contain all of the crates in the nightly-rustc project. In particular, I\u0027d prefer if it contained Clippy, Rustdoc, and Rustc, since those crates share type checker stuff and the ability to search all three at once is convenient.\r\n2. For every crate that rustdoc *currently* documents, it has to load the search index from the doc output dir, and rebuild the search index with the new crate added to it. Loading the search index requires $O(\\text{crates})$ work, so doing it once for every crate means we\u0027re doing $O(\\text{crates}^2)$ work overall.\r\n3. It would be more efficient, *instead*, if each crate wrote its data separately, and then the final search index was generated at the end by merging them all at once. Obviously, this would make the work linear instead of quadratic. For the record, Hoogle and Sherlodoc have a similar index-generating step.\r\n4. We call this \"Mergeable Cross-Crate-Information.\" Cargo stores it in the build directory, and supplies it to Rustdoc in a separate phase that runs after everything else. When we eventually stabilize this feature, it will be invisible to (most) end users. `cargo doc` will just be faster.\r\n5. So, in order for crates to share their cross-crate info, we need them to share a build directory.\r\n6. Tools, like Rustdoc and Cargo, don\u0027t normally share a build directory with Rustc.\r\n7. To make them share a build directory while generating documentation, without forcing them to share a build directory while compiling, I added a new mode.\r\n\r\n---\r\n\r\nThis rustdoc feature is unstable but will be stabilized soon, and this is a good way of dogfooding it to make sure it works properly. It should have no effect on the generated docs, but it provides a significant speedup. For example, I measure a 3x speedup locally (3m 11s -\u003e 1m 1s) for `x doc src/tools` -- note that this is with the latest rustdoc perf improvements (rust-lang/rust#159854).\r\n\r\nr? @Kobzol "
    },
    {
      "commit": "1b13e103a1d0502ce9e5ecd7b27efd5fe4e18834",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "aefa9c97732d2c3d5bf198af21afba76214a0abd",
        "f8e7464269ea69765e55021e0d8a30189a5920f6"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Thu Sep 03 13:35:45 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Thu Sep 03 13:35:45 2026 +0000"
      },
      "message": "Auto merge of #162229 - JonathanBrouwer:rollup-pXEadbd, r\u003dJonathanBrouwer\n\nRollup of 25 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#161694 (add `Complex` ABI run-make test)\n - rust-lang/rust#162014 (Move more `rustdoc-html` tests using `--test` into the right folder)\n - rust-lang/rust#162164 (Revert \"Implement Debug for C-like enums with a concatenated string\")\n - rust-lang/rust#160564 (volatile: allow accesses to non-AM memory to trap)\n - rust-lang/rust#161579 (suggest calling a fn item used as the iterator of a `for` loop)\n - rust-lang/rust#162044 (coverage: Resolve spans to file-coordinates in a separate step)\n - rust-lang/rust#162120 (Introduce `PerOwnerLoweringState`)\n - rust-lang/rust#162132 (std: improve safety documentation in UNIX stack overflow code)\n - rust-lang/rust#162151 (Test itanium mangling of `f16` and `f128`)\n - rust-lang/rust#162162 (Don\u0027t special-case `!` in stability checks anymore)\n - rust-lang/rust#162181 (Remove wrong UnusedBraces lint for iterator loop in edition 2024 )\n - rust-lang/rust#162187 (Rename `thir::ExprKind::Use` to `ValueExpr`)\n - rust-lang/rust#158401 (mgca: Don\u0027t ICE when evaluating ValTrees that contain error constants)\n - rust-lang/rust#159873 (fuchsia: Add safestack as a supported sanitizer for x86_64 fuchsia)\n - rust-lang/rust#161135 (Add `f16` and `f128` inline ASM support for PowerPC)\n - rust-lang/rust#161847 (Preserve visibility in nested macro import suggestions)\n - rust-lang/rust#161972 (Improve tests for `#[track_caller]` in async)\n - rust-lang/rust#162008 (Render the `box` pattern removal diagnostic more actionable \u0026 remove `box` expression recovery)\n - rust-lang/rust#162065 (std: don\u0027t reference `libc::O_NOFOLLOW` on VxWorks in `set_perm_nofollow`)\n - rust-lang/rust#162076 (docs(num): clarify conditions under which error occurs in `impl TryFrom\u003cint\u003e for int`)\n - rust-lang/rust#162111 (Update mailmap for Will Crichton and Petr Hosek)\n - rust-lang/rust#162152 (Revert \"retrieve supported GCC targets from the sysroot\")\n - rust-lang/rust#162153 (Prefer `LLVMGetVersion` for runtime info)\n - rust-lang/rust#162168 (fix ICE in project_goals/inherent)\n - rust-lang/rust#162171 (Explain LoongArch f16 NaN-boxing in inline asm)\n\n\n\n"
    },
    {
      "commit": "5a2016143c706f50ca668c3d4d07592f34594665",
      "tree": "c991e77c49e2965534e66819b0dfdfbbba183c36",
      "parents": [
        "c0df49d60ab2befc205a7009c4670f99a7ea934e"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Tue Aug 25 12:27:48 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 14:17:36 2026 +0200"
      },
      "message": "share identical-c-type logic with regular ABI checks\n"
    },
    {
      "commit": "c0df49d60ab2befc205a7009c4670f99a7ea934e",
      "tree": "cec76e657b9c200914c0ea77cf2b0aed37a7f7ce",
      "parents": [
        "25a3c067b87f2376280a26899b7fbb6254f852b2"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Tue Aug 25 11:35:48 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 14:10:40 2026 +0200"
      },
      "message": "miri: enforce proper types for c-variadic arguments in shims\n"
    },
    {
      "commit": "f8e7464269ea69765e55021e0d8a30189a5920f6",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "a4c3e4cece6ba47e714e4240abdba7faa6a8e083",
        "4c181b9bf9ae260402a2455140c3fcf6aa509426"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:13 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:13 2026 +0200"
      },
      "message": "Rollup merge of #162171 - heiher:loong-f16-nan-box, r\u003dfolkertdev\n\nExplain LoongArch f16 NaN-boxing in inline asm\n\nThe psABI leaves the upper bits of a widened f16 value undefined, so the NaN-boxing here isn\u0027t ABI-required. It\u0027s intentional: it matches LLVM\u0027s own codegen and avoids an f16 value being mistaken for a valid f32 value. Update the comment to reflect this.\n\nr? @folkertdev\n"
    },
    {
      "commit": "a4c3e4cece6ba47e714e4240abdba7faa6a8e083",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "c010cb53e1a93b52f2230b3048362e173e8dd508",
        "4c181b9bf9ae260402a2455140c3fcf6aa509426"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:12 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:12 2026 +0200"
      },
      "message": "Rollup merge of #162168 - khyperia:ice-inherent-next, r\u003dBoxyUwU\n\nfix ICE in project_goals/inherent\n\nI\u0027m a silly goose. The next solver has the exact same bug as https://github.com/rust-lang/rust/pull/161858 - merely enabling next-solver on the test added in that PR causes an ICE :upside_down_face:\n\nICE was technically introduced by https://github.com/rust-lang/rust/pull/161929 but this bug has always been present, it\u0027s just that PR explicitly tracked things better and ICEd on the bug instead of silently continuing.\n\nfixes https://github.com/rust-lang/rust/issues/162147\n\nexplanation: `push_const_arg_has_type_goal` expects its term to have rebased, `impl`-format args, not `Self` format args. See doc comment on `AliasConstKind::InherentSelf` for what \"impl format\" and \"self format\" mean: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_type_ir/enum.AliasConstKind.html#variant.InherentSelf\n\nr? @BoxyUwU since we chatted about this yesterday but honestly anyone vaguely t-types and/or const-generics feel free to review as well, should be relatively straightforward!\n"
    },
    {
      "commit": "c010cb53e1a93b52f2230b3048362e173e8dd508",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "beee0eca64f04ccaf3b4eddb9ba40e867e25db97",
        "25a3c067b87f2376280a26899b7fbb6254f852b2"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:11 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:11 2026 +0200"
      },
      "message": "Rollup merge of #162153 - cuviper:llvm-get-version, r\u003dwesleywiser\n\nPrefer `LLVMGetVersion` for runtime info\n\nOur `LLVMRustVersion*` functions get hard-coded `LLVM_VERSION_*` values\nwhen we build `RustWrapper.cpp`, but this could be different than the\nactual LLVM library at runtime. This should never happen with toolchains\nfrom `rustup`, but with external LLVM in a distro build, for example,\n`rustc` and `LLVM` can be upgraded independently.\n\nMost of the time when we check the LLVM version, we\u0027re only looking at\nthe major version anyway, and we already assert that these are equal in\n`configure_llvm`. However, for anything that does check the minor or\npatch version too, the runtime version is probably more relevant.\n"
    },
    {
      "commit": "beee0eca64f04ccaf3b4eddb9ba40e867e25db97",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "aa8c1154e4c31870de2da8d01c721a480a696e75",
        "25a3c067b87f2376280a26899b7fbb6254f852b2"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:10 2026 +0200"
      },
      "message": "Rollup merge of #162152 - folkertdev:revert-skip-gcc-tests, r\u003djieyouxu\n\nRevert \"retrieve supported GCC targets from the sysroot\"\n\nsee [#t-infra/bootstrap \u003e cg_gcc sysroot?](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/cg_gcc.20sysroot.3F/with/620307625)\n"
    },
    {
      "commit": "aa8c1154e4c31870de2da8d01c721a480a696e75",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "7b62fcc46f008c71ec51bcd2846c429b78bfbdca",
        "01177f86e687c8bf1a9a763a37d5e6ee4727f6c2"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:10 2026 +0200"
      },
      "message": "Rollup merge of #162111 - Kobzol:update-mailmap, r\u003djieyouxu\n\nUpdate mailmap for Will Crichton and Petr Hosek\n\nThey are now in the team database, so they don\u0027t need to be hardcoded in `thanks` anymore. However, when I ran thanks locally, their entries were duplicated. This PR should merge their entries for different e-mails.\n\nCC @willcrichton @petrhosek To confirm that the e-mails look right.\n"
    },
    {
      "commit": "7b62fcc46f008c71ec51bcd2846c429b78bfbdca",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "de8504839dc3b127e85116e855318a596a2554b2",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:09 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:09 2026 +0200"
      },
      "message": "Rollup merge of #162076 - sorairolake:clarify-int-try-from-docs, r\u003dJohnTitor\n\ndocs(num): clarify conditions under which error occurs in `impl TryFrom\u003cint\u003e for int`\n\n`impl_try_from_unbounded` always returns `Ok(T)`, but the documentation is written as if it may return an error, so I fixed this.\n\nI also clarified that `impl_try_from_lower_bounded` returns an error only when the source value is less than `T::MIN`, and `impl_try_from_upper_bounded` returns an error only when the source value is greater than `T::MAX`.\n\nWhile the original text\n\n\u003e This returns an error if the source value is outside of the range of the target type.\n\nis fine for both cases, but I think the revised text makes it clearer that the error occurs at either the lower bound or the upper bound.\n\nAs for `impl_try_from_both_bounded`, I think the current text is fine, so I have not made any changes to it.\n"
    },
    {
      "commit": "de8504839dc3b127e85116e855318a596a2554b2",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "6ec4790961ce1ddd4d06eeb4b87a31c431afbc3a",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:08 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:08 2026 +0200"
      },
      "message": "Rollup merge of #162065 - physwkim:vxworks-set-perm-nofollow, r\u003dChrisDenton\n\nstd: don\u0027t reference `libc::O_NOFOLLOW` on VxWorks in `set_perm_nofollow`\n\n`set_permissions_nofollow` was consolidated into `sys/fs/unix.rs::set_perm_nofollow` by rust-lang/rust#160170, which dropped the `not(target_os \u003d \"vxworks\")` guard the previous `sys/fs/mod.rs` implementation carried. VxWorks\u0027 libc defines no `O_NOFOLLOW` (the platform\u0027s `\u003csys/fcntlcom.h\u003e` stops at `O_CLOEXEC`, and `rust-lang/libc` correctly does not bind it for `vxworks`), so building `std` for `x86_64-wrs-vxworks` now fails:\n\n```\nerror[E0425]: cannot find value `O_NOFOLLOW` in crate `libc`\n    --\u003e library/std/src/sys/fs/unix.rs:1916\n     |\n     |             options.read(true).custom_flags(libc::O_NOFOLLOW);\n     |                                                    ^^^^^^^^^^ not found in `libc`\n```\n\n`x86_64-wrs-vxworks` is tier 3 and isn\u0027t built in CI, so this wasn\u0027t caught. `set_perm_nofollow` is the only `O_NOFOLLOW` reference compiled for VxWorks — the `remove_dir_all` \"modern\" path already lists `vxworks` in its fallback set, and the remaining occurrences are a doc example and comments.\n\nUnlike ESP-IDF and Horizon (which skip `O_NOFOLLOW` because their filesystems have no symbolic links), VxWorks *does* have symlinks, so it can\u0027t just drop `O_NOFOLLOW` and follow the link silently. This returns `ErrorKind::Unsupported`, matching the existing Android stub.\n\n## `Unsupported` is the platform-correct result\n\nVerified on-target against the shipped VxWorks 7 SDK (`wrsdk-vxworks7-qemu-1.17.0`, the QEMU BSP). VxWorks has no way to express a no-follow permission change:\n\n- No `O_NOFOLLOW`. The only related flag is `O_NOLINK` (\"open the symlink itself\"), which is different semantics and not what the `open` + `fchmod` path wants.\n- `fchmodat` *is* provided — by the UTILS_UNIX component in `libunix`, not core `libc` — and `AT_SYMLINK_NOFOLLOW` is defined as `0x100`. But the shipped `libunix.so` **rejects the flag with `ENOTSUP`**:\n\n```asm\n0000000000009300 \u003cfchmodat\u003e:            ; (dirfd\u003dedi, path\u003drsi, mode\u003dedx, flag\u003decx)\n    cmpl   $0x100,-0x18(%rbp)           ; flag \u003d\u003d AT_SYMLINK_NOFOLLOW ?\n    jne    9340 \u003cfchmodat+0x40\u003e\n    mov    $0x23,%edi                   ; errno \u003d 0x23 (35 \u003d ENOTSUP)\n    call   errnoSet\n    movl   $0xffffffff,-0x4(%rbp)       ; return -1\n    ...\n9340:                                   ; flag \u003d\u003d 0\n    call   taskSafe\n    ...  atCatPath(dirfd, path)\n    call   chmod                        ; plain chmod -\u003e follows the symlink\n```\n\nSo `fchmodat(.., AT_SYMLINK_NOFOLLOW)` returns `-1`/`ENOTSUP`, and `flag \u003d\u003d 0` degrades to `chmod`, which follows symlinks. A `fchmodat`-based implementation is not viable on this release — the platform\u0027s own `fchmodat` reports `ENOTSUP` for exactly this request, which is why `Unsupported` is correct rather than merely conservative. cc @biabbas @hax0kartik\n\n## Build verification\n\nOn `1.100.0-nightly (908501772 2026-08-30)` + `rust-src` (stock `libc` 0.2.189):\n\n- Before: `cargo +nightly build -Zbuild-std\u003dstd,panic_abort --target x86_64-wrs-vxworks` fails with the E0425 above (1 error).\n- After this patch: the same command finishes successfully.\n"
    },
    {
      "commit": "6ec4790961ce1ddd4d06eeb4b87a31c431afbc3a",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "37a73a9e71c230e03a297792e55c7556e5a12f47",
        "ff892499b5b93cf8452f0da6a7bb23d307c3462f"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:07 2026 +0200"
      },
      "message": "Rollup merge of #162008 - fmease:actionable-box-pat-diag, r\u003dfee1-dead\n\nRender the `box` pattern removal diagnostic more actionable \u0026 remove `box` expression recovery\n\nFollow-up to https://github.com/rust-lang/rust/pull/156749. This way, users don\u0027t have to comb through (probably outdated) tracking issues trying to piece together how to fix their code (in the most idiomatic way). Lemme know if you think this is unnecessary.\n\nRe. `box` expression removal, see https://github.com/rust-lang/rust/pull/162008#issuecomment-5468614277 (TL;DR: it\u0027s been 3 years).\n\ncc @cyrgani\n\n\u003csub\u003e(No LLM was or will be used by me during the entire creation process of this PR)\u003c/sub\u003e\n"
    },
    {
      "commit": "37a73a9e71c230e03a297792e55c7556e5a12f47",
      "tree": "f0b9f000dac754aaa7491570413742b16f63acde",
      "parents": [
        "d7c1d23ec75b99e4a0c55945d6c5f8bfedde815b",
        "bff8a6ab9dc914b2689763bbe6f66e1b270bd14f"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:07 2026 +0200"
      },
      "message": "Rollup merge of #161972 - theemathas:async-track_caller-tests, r\u003dShoyuVanilla\n\nImprove tests for `#[track_caller]` in async\n\nTracking issue for `async_fn_track_caller`: rust-lang/rust#110011\n\nTracking issue for `closure_track_caller`: rust-lang/rust#87417\n\nI recommend reviewing each commit individually.\n\ncc @RalfJung, who requested the test to be added to Miri.\n\n---\n\nFor your convenience, below is the output of `diff tests/ui/async-await/track-caller/panic-track-caller.rs src/tools/miri/tests/pass/async-panic-track-caller.rs`:\n\n```diff\n2c2\n\u003c // src/tools/miri/tests/pass/async-panic-track-caller.rs\n---\n\u003e // tests/ui/async-await/track-caller/panic-track-caller.rs\n4,6d3\n\u003c // FIXME: catch_unwind is broken in gcc. Will be fixed in the next rustc_codegen_gcc sync.\n\u003c //@ ignore-backends: gcc\n\u003c //@ run-pass\n9,10c6,10\n\u003c //@ needs-unwind\n\u003c // gate-test-async_fn_track_caller\n---\n\u003e //\n\u003e //\n\u003e //\n\u003e //\n\u003e // Padding comment so that the line numbers are the same as panic-track-caller.rs\n58a59\n\u003e #[cfg_attr(any(cls, nofeat), expect(ungated_async_fn_track_caller))]\n60d60\n\u003c //[cls,nofeat]~^ WARN `#[track_caller]` on async functions is a no-op\n72a73\n\u003e     #[cfg_attr(any(cls, nofeat), expect(ungated_async_fn_track_caller))]\n74d74\n\u003c     //[cls,nofeat]~^ WARN `#[track_caller]` on async functions is a no-op\n107a108\n\u003e #[cfg_attr(any(cls, nofeat), expect(ungated_async_fn_track_caller))]\n109d109\n\u003c //[cls,nofeat]~^ WARN `#[track_caller]` on async functions is a no-op\n```\n"
    },
    {
      "commit": "d7c1d23ec75b99e4a0c55945d6c5f8bfedde815b",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "59c680122d6b850dec2a28fc1553564ebb2e5413",
        "22d0f587ff021c5928f5269fbc33274a2643b6cd"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:06 2026 +0200"
      },
      "message": "Rollup merge of #161847 - chenyukang:yukang-fix-141134-nested-import-visibility, r\u003dfee1-dead\n\nPreserve visibility in nested macro import suggestions\n\nFixes rust-lang/rust#141134\n\nHere we use `span_to_snippet(import.vis_span)` instead of using `.vis.to_string(..)`.\nThe latter produces a semantically equivalent but canonicalized form, which may causing unnecessary source changes.\n"
    },
    {
      "commit": "59c680122d6b850dec2a28fc1553564ebb2e5413",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "d477d234d9e0e5d4aca064403f997d18c80f796a",
        "cefb50cc952bef90aefd9415bc9754c426336ae3"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:05 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:05 2026 +0200"
      },
      "message": "Rollup merge of #161135 - beetrees:f16-f128-inline-asm-powerpc, r\u003dfolkertdev\n\nAdd `f16` and `f128` inline ASM support for PowerPC\n\nThis PR adds support for `f16`, `f128` and `f16x8` in PowerPC inline ASM vector registers ([PowerPC ISA](https://files.openpowerfoundation.org/s/AKX2KtLkwCXxEaC)).\n\nPing target maintainers: @daltenty @gilamn5tr @amy-kwan @Gelbpunkt @famfo @neuschaefer\n\nTracking issue: rust-lang/rust#125398 (part of rust-lang/rust#116909)\n"
    },
    {
      "commit": "d477d234d9e0e5d4aca064403f997d18c80f796a",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "b064acd5382aad46294d08428bac4ce1ef73c6c1",
        "00a42f3a7771e539c9ba126a57c03f2c9cc53d4c"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:03 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:03 2026 +0200"
      },
      "message": "Rollup merge of #158401 - lapla-cogito:issue_154632, r\u003dcamelid\n\nmgca: Don\u0027t ICE when evaluating ValTrees that contain error constants\n\nFixes rust-lang/rust#154632\nFixes rust-lang/rust#150969\n\n`mir::Const::eval` now checks `error_reported()` and returns `Err` instead of converting such values to `ConstValue`.\n"
    },
    {
      "commit": "b064acd5382aad46294d08428bac4ce1ef73c6c1",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "267bebdc00af399f62f6aa96a4441c1a66714838",
        "01177f86e687c8bf1a9a763a37d5e6ee4727f6c2"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:02 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:02 2026 +0200"
      },
      "message": "Rollup merge of #162181 - chenyukang:yukang-fix-160741-unused-braces-for-iterator, r\u003djieyouxu\n\nRemove wrong UnusedBraces lint for iterator loop in edition 2024\n\nFixes rust-lang/rust#160741\n\nThere are false negative for this fix, but since this is an early lint, seems we don\u0027t have a good way for better filter.\n"
    },
    {
      "commit": "267bebdc00af399f62f6aa96a4441c1a66714838",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "c7e17d0e99827516157ac256df85e19491a18497",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:43:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:43:00 2026 +0200"
      },
      "message": "Rollup merge of #162132 - joboet:safe_stack_overflow, r\u003dChrisDenton\n\nstd: improve safety documentation in UNIX stack overflow code\n\nThe UNIX stack overflow handling code was only partially documented, and applied `#![forbid(unsafe_op_in_unsafe_fn)]` inconsistently. Also, the existing safety documentation wasn\u0027t very clear on the assumptions made by `std` and the reasoning behind those assumptions. I\u0027ve tried to rectify all that here by adding some `unsafe`, removing some `unsafe` and writing a lot of comments. There are no functional changes however, I\u0027ll get started on those once this is merged.\n"
    },
    {
      "commit": "c7e17d0e99827516157ac256df85e19491a18497",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "ccd4cf7beda1b6da5863a4dc95b35fbbe802cbdf",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:42:58 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:42:58 2026 +0200"
      },
      "message": "Rollup merge of #162044 - Zalathar:resolved, r\u003dfolkertdev\n\ncoverage: Resolve spans to file-coordinates in a separate step\n\nOne of the key tasks in coverage codegen is to take the source-code spans that were recorded during MIR instrumentation, and resolve them to physical coordinates in their respective files.\n\nIn rare cases this resolution can fail, which leads to the awkward possibility that a function might lose _all_ of its mappings for a particular file/expansion. If that happens, we need to avoid emitting a covfun file section containing no regions, because doing so would trigger errors in LLVM.\n\nThe existing code does handle this edge case, but in a way that won\u0027t generalise to multiple files/expansions. Having an explicit intermediate resolution step will make it easier to add support for expansion regions in the future.\n\nThere should be no change to compiler output.\n"
    },
    {
      "commit": "ccd4cf7beda1b6da5863a4dc95b35fbbe802cbdf",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "c52b94f671e1ec7b752b5d6be5a3aacb910f0887",
        "01177f86e687c8bf1a9a763a37d5e6ee4727f6c2"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:42:58 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:42:58 2026 +0200"
      },
      "message": "Rollup merge of #161579 - Albab-Hasan:suggest-calling-fn-item-in-for-loop, r\u003destebank\n\nsuggest calling a fn item used as the iterator of a `for` loop\n\n`suggest_fn_call` only fired when the failing obligation came from `ObligationCauseCode::FunctionArg`, so a fn item or closure used as the iterator of a `for` loop got no structured suggestion to call it.\n\nthe iterator of a `for` loop is passed to `IntoIterator::into_iter`, so the failing `Iterator` goal is a derived obligation and the cause span carries the loop desugaring, which makes `can_be_used_for_suggestions` return false. carry the `HirId` of the iterator expression in `ObligationCauseCode::ForLoopIterator` and gate the suggestion on the span of that expression instead.\n\nfixes https://github.com/rust-lang/rust/issues/161564\n\nr? @oli-obk\n"
    },
    {
      "commit": "c52b94f671e1ec7b752b5d6be5a3aacb910f0887",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "aefa9c97732d2c3d5bf198af21afba76214a0abd",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Thu Sep 03 12:42:55 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 12:42:55 2026 +0200"
      },
      "message": "Rollup merge of #162014 - GuillaumeGomez:more-ui-tests, r\u003dfmease\n\nMove more `rustdoc-html` tests using `--test` into the right folder\n\nFollow-up of https://github.com/rust-lang/rust/pull/161944.\n\nI double-checked if more `rustdoc-html` tests were in the wrong folder and... yeah. So fixing that too. I\u0027ll send a patch to prevent that in the future (in `compiletest` I guess, doesn\u0027t seem like a `tidy` thing).\n\nOh also second commit is me realizing that some ui tests were using `compile-args` (which doesn\u0027t exist anymore) and without `@`. Anyway, fixed that too.\n\nr? @fmease\n"
    },
    {
      "commit": "8eed962bb9be0af5f9c40030819d83df2a85a082",
      "tree": "796eacc74224aa1d6b4dba0d13c0f89513dd897c",
      "parents": [
        "44690ee99975c7334feeafe2790807b0c378b8d2",
        "63af03f68c73ec6bd59b5cbca8840384ff4a6e28"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 08:17:30 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 08:17:30 2026 +0000"
      },
      "message": "Merge pull request #5302 from RalfJung/rustup\n\nRustup\n"
    },
    {
      "commit": "63af03f68c73ec6bd59b5cbca8840384ff4a6e28",
      "tree": "796eacc74224aa1d6b4dba0d13c0f89513dd897c",
      "parents": [
        "df1e16daed5b91bcff3b7f456216941b1554d0a5"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 09:02:17 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 09:43:02 2026 +0200"
      },
      "message": "update chacha20 (previous version got yanked)\n"
    },
    {
      "commit": "df1e16daed5b91bcff3b7f456216941b1554d0a5",
      "tree": "c60c7bdd629fe281124283a94e65e0b45a67f3a6",
      "parents": [
        "e7d2b22e1a3ca7d1bb9a1c1cbf33e4350875a853"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 09:01:20 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 09:43:02 2026 +0200"
      },
      "message": "suppress unused_crate_dependencies\n"
    },
    {
      "commit": "aefa9c97732d2c3d5bf198af21afba76214a0abd",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "fa4559e36f4c7f5be89468296e7f603cf782e219",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Thu Sep 03 06:01:49 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Thu Sep 03 06:01:49 2026 +0000"
      },
      "message": "Auto merge of #161290 - Kobzol:bootstrap-llvm-4, r\u003djieyouxu\n\nAssorted bootstrap LLVM refactors (part 4/N)\n\n\n\nContinuation on https://github.com/rust-lang/rust/pull/161247.\r\n\r\nThis PR completely removes handling of git changes or LLVM downloads from config parsing, and moves it into the `LlvmFromCi` step. Thanks to that, we now also allow downloading LLVM for non-host targets.\r\n\r\nThere is one annoyance related to that, and that is that `download-ci-llvm` now applies to all targets for which you try to build LLVM (d\u0027uh), but that also means that if (for whatever reason) LLVM fails to be downloaded from CI, the build will fail. So if you build for target T2 from target T1:\r\n- If you want to download T1, but build T2, that\u0027s not possible to express.\r\n- If T2 fails to be downloaded, the build fails, even if it could be built locally.\r\n\r\nI think that we mostly have four options how to deal with this:\r\n1. Just ignore it and wait to see if someone complains.\r\n2. Revert the change and always download only for the host target. Worked so far. However, downloading LLVM for non-host targets would be quite useful for further bootstrap improvements and refactorings, because the current logic around sysroots and libdirs is.. convoluted, to say the last, and making cross-compilation easier would help with that a lot.\r\n3. Allow specifying `download-ci-llvm` *per target* in the target config section. So that you can say that you want to download for T1, but build for T2.\r\n4. Make download failures non-fatal, and cause them to trigger a local build. This would also help with removing the hacky `is_ci_llvm_available_for_target` logic, which hard-codes a bunch of targets to \"know\" which ones offer LLVM and which don\u0027t. We could just try to download, and if the result is 404, then we print a warning and continue with building (but this is slightly orthogonal, we can do this even if we don\u0027t make LLVM build failures non-fatal).\r\n\r\nI think that 3 or 4 would be the best solution, perhaps slightly opting for 4. If we get a 404, there\u0027s no way we can download, so we build instead. If we get a different error, we still make the failed download fail the build. And only if someone has a use-case for 3, we\u0027d add the new config.\r\n\r\nAlready before this PR, we did this:\r\n```\r\n// If download-ci-llvm\u003dtrue we also want to check that CI llvm is available\r\nb \u0026\u0026 llvm::is_ci_llvm_available_for_target(\u0026dwn_ctx.host_target, asserts)\r\n```\r\nso if LLVM wasn\u0027t available, we just silently reverted from `download-ci-llvm\u003dtrue` to `download-ci-llvm\u003dfalse`. The 4. proposal would just generalize that, to actually check whether the LLVM files are present on the CDN or not.\r\n\r\nThe problem with 4. is that you can\u0027t really set any custom build options for LLVM though, because if you also enable `download-ci-llvm`, the config sanity check will tell you to GTFO :( So we would probably need to make some changes there.\r\n\r\nr? jieyouxu"
    },
    {
      "commit": "e7d2b22e1a3ca7d1bb9a1c1cbf33e4350875a853",
      "tree": "b099248a60aa503fc800731cd61e8864ca12bf5a",
      "parents": [
        "1dd95dade60afaafafd6cbefd8d3e2dce9525d8b",
        "fa4559e36f4c7f5be89468296e7f603cf782e219"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 07:45:30 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 07:45:30 2026 +0200"
      },
      "message": "Merge ref \u00272e2b193f8ada\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@2e2b193f8ada105f27608b7be81c293e0d7292cb\nFiltered ref: rust-lang/miri@fa4559e36f4c7f5be89468296e7f603cf782e219\nUpstream diff: https://github.com/rust-lang/rust/compare/edc52f87c28f328c61685a02c47887a5cec7d767...2e2b193f8ada105f27608b7be81c293e0d7292cb\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "1dd95dade60afaafafd6cbefd8d3e2dce9525d8b",
      "tree": "b099248a60aa503fc800731cd61e8864ca12bf5a",
      "parents": [
        "44690ee99975c7334feeafe2790807b0c378b8d2"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 07:45:14 2026 +0200"
      },
      "committer": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Thu Sep 03 07:45:14 2026 +0200"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to 2e2b193f8ada105f27608b7be81c293e0d7292cb.\n"
    },
    {
      "commit": "fa4559e36f4c7f5be89468296e7f603cf782e219",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "ff892499b5b93cf8452f0da6a7bb23d307c3462f",
        "01177f86e687c8bf1a9a763a37d5e6ee4727f6c2"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 02 07:30:38 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 02 07:30:38 2026 +0000"
      },
      "message": "Auto merge of #162133 - nikic:llvm-23.1.0, r\u003dcuviper\n\nUpdate LLVM submodule\n\nUpdate to current release/23.x, which is a bit past the LLVM 23.1.0 release.\r\n\r\nFixes https://github.com/rust-lang/rust/issues/161336."
    },
    {
      "commit": "44690ee99975c7334feeafe2790807b0c378b8d2",
      "tree": "848972e0f038ac8842e66b53c88cc0b034a8b983",
      "parents": [
        "e455483832b1103bfc6723216e767f86f2d43ba0",
        "7a62513b570a7adfaf5536fb1217a88328410e77"
      ],
      "author": {
        "name": "Ralf Jung",
        "email": "post@ralfj.de",
        "time": "Wed Sep 02 06:23:39 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 06:23:39 2026 +0000"
      },
      "message": "Merge pull request #5300 from rust-lang/rustup-2026-09-02\n\nAutomatic Rustup\n"
    },
    {
      "commit": "7a62513b570a7adfaf5536fb1217a88328410e77",
      "tree": "848972e0f038ac8842e66b53c88cc0b034a8b983",
      "parents": [
        "0ce229442e73f501be16033e54dc98c975f6f4f2",
        "4c181b9bf9ae260402a2455140c3fcf6aa509426"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Wed Sep 02 04:40:00 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Wed Sep 02 04:40:00 2026 +0000"
      },
      "message": "Merge ref \u0027edc52f87c28f\u0027 from rust-lang/rust\n\nPull recent changes from https://github.com/rust-lang/rust via Josh.\n\nUpstream ref: rust-lang/rust@edc52f87c28f328c61685a02c47887a5cec7d767\nFiltered ref: rust-lang/miri@4c181b9bf9ae260402a2455140c3fcf6aa509426\nUpstream diff: https://github.com/rust-lang/rust/compare/17fd5b8a37b6667b6cc137f3cc35f09759768a3b...edc52f87c28f328c61685a02c47887a5cec7d767\n\nThis merge was created using https://github.com/rust-lang/josh-sync.\n"
    },
    {
      "commit": "0ce229442e73f501be16033e54dc98c975f6f4f2",
      "tree": "56c773aba78f4946b3c2d77810f0b4ee1a3a776d",
      "parents": [
        "e455483832b1103bfc6723216e767f86f2d43ba0"
      ],
      "author": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Wed Sep 02 04:35:23 2026 +0000"
      },
      "committer": {
        "name": "The Miri Cronjob Bot",
        "email": "miri@cron.bot",
        "time": "Wed Sep 02 04:35:23 2026 +0000"
      },
      "message": "Prepare for merging from rust-lang/rust\n\nThis updates the rust-version file to edc52f87c28f328c61685a02c47887a5cec7d767.\n"
    },
    {
      "commit": "ff892499b5b93cf8452f0da6a7bb23d307c3462f",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "4c181b9bf9ae260402a2455140c3fcf6aa509426",
        "49bb98d01036b0e8e899abddbb819d21d44da23f"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 02 04:20:43 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 02 04:20:43 2026 +0000"
      },
      "message": "Auto merge of #162119 - tgross35:update-builtins, r\u003dfolkertdev\n\ncompiler-builtins subtree update\n\nSubtree update of `compiler-builtins` to https://github.com/rust-lang/compiler-builtins/commit/e91a3d3a6fccc4d0a1655fbda95576317f5e8be3.\r\n\r\nCreated using https://github.com/rust-lang/josh-sync.\r\n\r\nr? @ghost"
    },
    {
      "commit": "4c181b9bf9ae260402a2455140c3fcf6aa509426",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "25a3c067b87f2376280a26899b7fbb6254f852b2",
        "01177f86e687c8bf1a9a763a37d5e6ee4727f6c2"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 02 01:22:53 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Wed Sep 02 01:22:53 2026 +0000"
      },
      "message": "Auto merge of #162128 - clarfonthey:revert-drop-guard, r\u003dclarfonthey\n\nRevert \"Use `drop_guard` in some places in {core,alloc,std}\"\n\ncc @panstromek @GrigorenkoPV \r\n\r\nReverts this PR due to perf issues, so that a fix can be verified to not affect perf. Apologies for not initially running perf; kinda tunnel-visioned \"this just does the same thing\" without considering the changes from non-generic functions to generic closures."
    },
    {
      "commit": "25a3c067b87f2376280a26899b7fbb6254f852b2",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "01177f86e687c8bf1a9a763a37d5e6ee4727f6c2",
        "2847ef4b18cc6c715fa43a25155cb5349a781923"
      ],
      "author": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Tue Sep 01 12:27:29 2026 +0000"
      },
      "committer": {
        "name": "bors",
        "email": "bors@rust-lang.org",
        "time": "Tue Sep 01 12:27:29 2026 +0000"
      },
      "message": "Auto merge of #162117 - JonathanBrouwer:rollup-vMnIfR5, r\u003dJonathanBrouwer\n\nRollup of 16 pull requests\n\nSuccessful merges:\n\n - rust-lang/rust#137720 (support `#[target_feature(enable \u003d ...)]` on `#[naked]` functions)\n - rust-lang/rust#160534 (stabilize smart pointer map functions)\n - rust-lang/rust#160551 (mir_build: Clearly distinguish or/refutable/irrefutable patterns during match lowering)\n - rust-lang/rust#160989 (Make sin, cos, exp, exp2, log, log2, log10 generic)\n - rust-lang/rust#161861 (mir_build: Clarify parts of if-condition lowering)\n - rust-lang/rust#161929 (explicitly track inherent const generic args kind)\n - rust-lang/rust#162040 (bootstrap: stage0 to cbae9b4cae2b108f6a3d18cfe6075714bb739463)\n - rust-lang/rust#162063 (Switch dist-aarch64-linux to EC2 and update dist-x86_64-linux)\n - rust-lang/rust#161353 (Add test for parallel compiler reproducible build)\n - rust-lang/rust#161937 (A series of Polonius Alpha refactors)\n - rust-lang/rust#162051 (`rustc_feature` cleanups)\n - rust-lang/rust#162055 (remove `_{style}` recovery for diagnostic structs)\n - rust-lang/rust#162075 (Move track_caller on closures gating to attribute parsing)\n - rust-lang/rust#162079 (std: implement `File::fsync` for Hermit)\n - rust-lang/rust#162097 (Deduplicate `InstrumentFnAttr`)\n - rust-lang/rust#162115 (fix typo in feature documentation)\n\n\n\n"
    },
    {
      "commit": "2847ef4b18cc6c715fa43a25155cb5349a781923",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "66f5584ae1321f203f2cdfb33d462fa650e18f16",
        "01177f86e687c8bf1a9a763a37d5e6ee4727f6c2"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Sep 01 13:27:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:27:47 2026 +0200"
      },
      "message": "Rollup merge of #162115 - BenjaminBrienen:typos, r\u003dJonathanBrouwer\n\nfix typo in feature documentation\n\nThis is causing failing local executions of `typos-cli` (used in CI) in rust-analyzer. rust-analyzer uses the feature documentation to produce generated code.\n"
    },
    {
      "commit": "66f5584ae1321f203f2cdfb33d462fa650e18f16",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "9f0ca438c1aa9d110e18cc494142088433310fe4",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Sep 01 13:27:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:27:46 2026 +0200"
      },
      "message": "Rollup merge of #162097 - mejrs:instrumentfnattr, r\u003dJonathanBrouwer\n\nDeduplicate `InstrumentFnAttr`\n\ncc @pmur\n\nInstead of having a `Default` variant (which can\u0027t be specified in the attribute, it only does on/off), use an Option to model \"no attribute used\".\n"
    },
    {
      "commit": "9f0ca438c1aa9d110e18cc494142088433310fe4",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "1f680f29a89eece8e6b4cf2c94d6aa269ac91089",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Sep 01 13:27:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:27:46 2026 +0200"
      },
      "message": "Rollup merge of #162079 - stlankes:sync, r\u003djoboet\n\nstd: implement `File::fsync` for Hermit\n\n- hermit-abi 0.5.3 exposes `fsync`, so the operation no longer has to return `Unsupported`.\n\ncc: @mkroening\n"
    },
    {
      "commit": "1f680f29a89eece8e6b4cf2c94d6aa269ac91089",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "6c60314533dd588e8a479e827227bc3378a7b27a",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Sep 01 13:27:45 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:27:45 2026 +0200"
      },
      "message": "Rollup merge of #162075 - mejrs:track_caller_closure_gating, r\u003dJonathanBrouwer\n\nMove track_caller on closures gating to attribute parsing\n\nI noticed this while reviewing rust-lang/rust#161958\n"
    },
    {
      "commit": "6c60314533dd588e8a479e827227bc3378a7b27a",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "835b45e5f26f02518cb895999bd5abf8937346e7",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Sep 01 13:27:44 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:27:44 2026 +0200"
      },
      "message": "Rollup merge of #162055 - mejrs:_style, r\u003dJonathanBrouwer\n\nremove `_{style}` recovery for diagnostic structs\n\nFollowup to https://github.com/rust-lang/rust/pull/103575\n\nAlso documents the `style \u003d \"...\"` option.\n"
    },
    {
      "commit": "835b45e5f26f02518cb895999bd5abf8937346e7",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "25eec61283a8d61ce1c3189970ee7be36795d6a5",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Sep 01 13:27:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:27:43 2026 +0200"
      },
      "message": "Rollup merge of #162051 - nnethercote:rustc_feature-cleanups, r\u003dJonathanBrouwer\n\n`rustc_feature` cleanups\n\nVarious cleanups. Details in individual commits.\n\nr? @JonathanBrouwer\n"
    },
    {
      "commit": "25eec61283a8d61ce1c3189970ee7be36795d6a5",
      "tree": "3e71a397890ed42899bec31a99df96fd066b4394",
      "parents": [
        "84873a6f0c8bc2cf7ce60a617a264451e18ec885",
        "e69d4699420c978e2bf9a2cef25ad291c5db4aef"
      ],
      "author": {
        "name": "Jonathan Brouwer",
        "email": "jonathantbrouwer@gmail.com",
        "time": "Tue Sep 01 13:27:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 13:27:43 2026 +0200"
      },
      "message": "Rollup merge of #161937 - jackh726:polonius-cleanups-2, r\u003dlqd\n\nA series of Polonius Alpha refactors\n\nBased on rust-lang/rust#161776\n\nBest reviewed by commit.\n\nThis is a series of refactors to enable lazy liveness calculation. Each commit is relatively targeted.\n\nr? lqd\n"
    }
  ],
  "next": "84873a6f0c8bc2cf7ce60a617a264451e18ec885"
}
