)]}'
{
  "commit": "ffe94f0bcbe7f974e0970965fedec2e4a806324d",
  "tree": "5fbc568ce62dc7d78d913ff2972687ec948384d1",
  "parents": [
    "a00818dfb4cec4431c042e6e005946c050484f81",
    "caad6ee2404cbe49915052f342b6227437e4d2a9"
  ],
  "author": {
    "name": "Stuart Cook",
    "email": "Zalathar@users.noreply.github.com",
    "time": "Fri Mar 20 15:33:10 2026 +1100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Mar 20 15:33:10 2026 +1100"
  },
  "message": "Rollup merge of #154109 - Enselic:unifying-function-types-involving-hrtb, r\u003djackh726\n\ntests: Add regression test for async closures involving HRTBs\n\nI suspect the original code from rust-lang/rust#59337 had several problems. The last problem fixed that made the code compile entered `nightly-2024-02-11`. The code fails to build with `nightly-2024-02-10`:\n\n    $ rustc +nightly-2024-02-10 --edition 2018 tests/ui/async-await/async-closures/unifying-function-types-involving-hrtb.rs\n    error[E0277]: expected a `FnOnce(\u0026u8)` closure, found `{coroutine-closure@tests/ui/async-await/async-closures/unifying-function-types-involving-hrtb.rs:31:9: 31:30}`\n      --\u003e tests/ui/async-await/async-closures/unifying-function-types-involving-hrtb.rs:31:9\n       |\n    31 |     foo(async move | f: \u0026u8 | { *f });\n       |     --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `FnOnce(\u0026u8)` closure, found `{coroutine-closure@tests/ui/async-await/async-closures/unifying-function-types-involving-hrtb.rs:31:9: 31:30}`\n       |     |\n       |     required by a bound introduced by this call\n       |\n\n(Note that you must add `#![feature(async_closure)]` to test with such old nightlies, since they are from before stabilization of async closures.)\n\nSo one of the following commits made the code build:\n\n\u003cdetails\u003e\n\n\u003csummary\u003egit log d44e3b95cb9d4..6cc4843512d613f  --no-merges --oneline\u003c/summary\u003e\n\n4def37386c1 manually bless an aarch64 test\n04bc624ea0a rebless after rebase\n77f8c3caea9 detect consts that reference extern statics\n9c0623fe8f2 validation: descend from consts into statics\n4e77e368ebc unstably allow constants to refer to statics and read from immutable statics\na2479a4ae75 Remove unnecessary `min_specialization` after bootstrap\n7b73e4fd44c Allow restricted trait impls in macros with `min_specialization`\ne6f5af96713 Remove unused fn\nfde695a2d19 Add a helpful suggestion\nd7263d7aada Change wording\n973bbfbd23d No more associated type bounds in dyn trait\ncf1096eb72e Remove unnecessary `#![feature(min_specialization)]`\n3d4a9f50478 Turn the \"no saved object file in work product\" ICE into a translatable fatal error\nbb60ded24b6 Loosen an assertion to account for stashed errors.\n69a5264a521 Move some tests\n4ef1790b4e5 tidy\ne59d9b171ed Avoid a collection and iteration on empty passes\n8b6b9c5efc6 ast_lowering: Fix regression in `use ::{}` imports.\n83f3bc42714 Update jobserver-rs to 0.1.28\n14e0dab96bb Unify item relative path computation in one function\nf3c24833c5a Add regression test for non local items link generation\nf0d002b890a Correctly generate path for non-local items in source code pages\nc94bbb24db3 Clarify that atomic and regular integers can differ in alignment\n7057188c549 make it recursive\n7a63d3f16a4 Add tests for untested capabilities\n548929dc5e7 Don\u0027t unnecessarily lower associated type bounds to impl trait\n22d582a38d3 For a rigid projection, recursively look at the self type\u0027s item bounds\n540be28f6c2 sort suggestions for object diagnostic\n9322882adeb Add a couple more tests\n3bb384aad6e Prefer AsyncFn* over Fn* for coroutine-closures\naa6f45eb791 Use `ensure` when the result of the query is not needed beyond its `Result`ness\n8ff1994ec06 Fix whitespace issues that tidy caught\nf0c6f5a7feb Add documentation on `str::starts_with`\n63cc3c7b8f4 test `llvm_out` behaviour\n7fb4512ee8d fix `llvm_out` to use the correct LLVM root\nb8c93f12236 Coroutine closures implement regular Fn traits, when possible\n08af64e96be Regular closures now built-in impls for AsyncFn*\n0dd40786b55 Harmonize blanket implementations for AsyncFn* traits\nf3d32f2f0cd Flatten confirmation logic\n9a819ab8f7f static mut: allow reference to arbitrary types, not just slices and arrays\n\n\u003c/details\u003e\n\nThis was probably fixed by 3bb384aad6e7f6 (https://github.com/rust-lang/rust/pull/120712). That PR does not have a big tests diff, so I assume the test we add does not exist elsewhere. It\u0027s hard to know for sure.\n\nCloses rust-lang/rust#59337 since we add the test from that issue. In that issue there is a [proposal](https://github.com/rust-lang/rust/issues/59337#issuecomment-826441716) for two minimized versions, but they both fail to compile with `nightly-2024-02-11`, so those reproducers are for different problem(s).\n\n### Tracking Issue\n- https://github.com/rust-lang/rust/issues/62290\n",
  "tree_diff": []
}
