{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":724712,"defaultBranch":"master","name":"rust","ownerLogin":"rust-lang","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-06-16T20:39:03.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5430905?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719706677.0","currentOid":""},"activityList":{"items":[{"before":"8a8ad3433e4168f54ac1364f85da694be9eeca7c","after":"ed7e35f3494045fa1194be29085fa73e2d6dab40","ref":"refs/heads/master","pushedAt":"2024-07-06T22:46:58.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127430 - compiler-errors:rollup-76ni16s, r=compiler-errors\n\nRollup of 4 pull requests\n\nSuccessful merges:\n\n - #127386 (Uplift outlives components to `rustc_type_ir`)\n - #127405 (uplift `PredicateEmittingRelation`)\n - #127410 (Correct description of E0502)\n - #127417 (Show fnsig's unit output explicitly when there is output diff in diagnostics)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127430 - compiler-errors:rollup-76ni16s, r=compiler-er…"}},{"before":"64a1fe67112931359c7c9a222f08fd206255c2b5","after":"e5da71fca9bed167576232912271d7366e29bbc6","ref":"refs/heads/beta","pushedAt":"2024-07-06T20:25:42.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127377 - cuviper:beta-next, r=cuviper\n\n[beta] backports\n\n- Properly gate `safe` keyword in pre-expansion #126757\n- Switch back `non_local_definitions` lint to allow-by-default #127015\n- Stall computing instance for drop shim until it has no unsubstituted const params #127068\n- Update LLVM submodule #127190\n- Change to the NetBSD archive URL rather than the CDN #127232\n\nr? cuviper","shortMessageHtmlLink":"Auto merge of #127377 - cuviper:beta-next, r=cuviper"}},{"before":"3bec61736a59d8c3983ba26b01c58174825ee58c","after":"8a8ad3433e4168f54ac1364f85da694be9eeca7c","ref":"refs/heads/master","pushedAt":"2024-07-06T18:10:59.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127388 - compiler-errors:elaboration-tweaks, r=lcnr\n\nElaboration tweaks\n\nRemoves `Filter::OnlySelfThatDefines` and reimplements `transitive_bounds_that_define_assoc_item` as a separate function, since I don't want to have to uplift that mode since it's both an implementation detail (only exists to avoid cycles in astconv) and requires exposing `Ident` as an associated type on `Interner`.\n\nr? lcnr","shortMessageHtmlLink":"Auto merge of #127388 - compiler-errors:elaboration-tweaks, r=lcnr"}},{"before":"28cc0b643d6c07e2e0ba24a85f397963961b4c0d","after":"3bec61736a59d8c3983ba26b01c58174825ee58c","ref":"refs/heads/master","pushedAt":"2024-07-06T14:19:55.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127420 - matthiaskrgr:rollup-vpitwow, r=matthiaskrgr\n\nRollup of 3 pull requests\n\nSuccessful merges:\n\n - #127275 (offset_from, offset: clearly separate safety requirements the user needs to prove from corollaries that automatically follow)\n - #127379 (rustdoc-search: stop constructing pointless arrays in decode)\n - #127391 (Use verbose suggestion for `ptr::null_mut()`)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127420 - matthiaskrgr:rollup-vpitwow, r=matthiaskrgr"}},{"before":"51917e2e69702e5752bce6a4f3bfd285d0f4ae39","after":"28cc0b643d6c07e2e0ba24a85f397963961b4c0d","ref":"refs/heads/master","pushedAt":"2024-07-06T09:34:38.000Z","pushType":"push","commitsCount":15,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127414 - workingjubilee:rollup-lcxw1eh, r=workingjubilee\n\nRollup of 5 pull requests\n\nSuccessful merges:\n\n - #125751 (Add `new_range_api` for RFC 3550)\n - #127098 (Migrate `output-type-permutations` `run-make` test to rmake)\n - #127369 (Match ergonomics 2024: align with RFC again)\n - #127383 (Use verbose style for argument removal suggestion)\n - #127392 (Use verbose suggestion for changing arg type)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127414 - workingjubilee:rollup-lcxw1eh, r=workingjubilee"}},{"before":"5c08cc765af9975d4b176f7a377bbf927791e20d","after":"51917e2e69702e5752bce6a4f3bfd285d0f4ae39","ref":"refs/heads/master","pushedAt":"2024-07-06T04:58:00.000Z","pushType":"push","commitsCount":19,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127403 - compiler-errors:rollup-x2yb5t0, r=compiler-errors\n\nRollup of 8 pull requests\n\nSuccessful merges:\n\n - #123600 (impl PathBuf::add_extension and Path::with_added_extension)\n - #127107 (Improve dead code analysis)\n - #127221 (Improve well known value check-cfg diagnostic for the standard library)\n - #127333 (Split `SolverDelegate` back out from `InferCtxtLike`)\n - #127363 (Improve readability of some fmt code examples)\n - #127366 (Use `ControlFlow` results for visitors that are only looking for a single value)\n - #127368 (Added dots at the sentence ends of rustc AST doc)\n - #127393 (Remove clubby789 from review rotation)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127403 - compiler-errors:rollup-x2yb5t0, r=compiler-er…"}},{"before":"524d806c62a82ecc0cf8634b94997ae506f4d6f9","after":"5c08cc765af9975d4b176f7a377bbf927791e20d","ref":"refs/heads/master","pushedAt":"2024-07-06T02:47:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127364 - DianQK:update-llvm, r=nikic\n\nUpdate LLVM submodule\n\nFixes #127260. Fixes #127286.\n\nr? `@nikic`","shortMessageHtmlLink":"Auto merge of #127364 - DianQK:update-llvm, r=nikic"}},{"before":"6e2780775f5cea9328d37f4b8d0ee79db0056267","after":"524d806c62a82ecc0cf8634b94997ae506f4d6f9","ref":"refs/heads/master","pushedAt":"2024-07-05T22:21:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127312 - Kobzol:ci-org-agnostic, r=jdno\n\nMake CI more agnostic of the owning GitHub organization\n\nThis should make it possible to switch running `auto` and `try` builds from `rust-lang-ci` to `rust-lang`.\n\nr? `@jdno`","shortMessageHtmlLink":"Auto merge of #127312 - Kobzol:ci-org-agnostic, r=jdno"}},{"before":"9a21ac8e7efe9ea26a8065d0959a976ca32039bb","after":"6e2780775f5cea9328d37f4b8d0ee79db0056267","ref":"refs/heads/master","pushedAt":"2024-07-05T20:00:28.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #126957 - Oneirical:artestic-inspiration, r=jieyouxu,kobzol\n\nMigrate `pgo-gen`, `pgo-use` and `profile` `run-make` tests to rmake.rs\n\nPart of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).\n\ntry-job: aarch64-apple\ntry-job: x86_64-msvc","shortMessageHtmlLink":"Auto merge of #126957 - Oneirical:artestic-inspiration, r=jieyouxu,ko…"}},{"before":"11dd90f7613a4b160ed8398a3f1c7c129ad1a372","after":"9a21ac8e7efe9ea26a8065d0959a976ca32039bb","ref":"refs/heads/master","pushedAt":"2024-07-05T17:45:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127365 - aDotInTheVoid:compiler-doc-comments, r=Nilstrieb\n\nFix a few doc comment for compiler-interal API docs.\n\nThey only used `//` instead of `///` so weren't picked up by rustdoc.\n\nr? `@Nilstrieb`","shortMessageHtmlLink":"Auto merge of #127365 - aDotInTheVoid:compiler-doc-comments, r=Nilstrieb"}},{"before":"2ad66306738f8fb4b88f7ac19f3a80491ce28e29","after":"11dd90f7613a4b160ed8398a3f1c7c129ad1a372","ref":"refs/heads/master","pushedAt":"2024-07-05T13:47:03.000Z","pushType":"push","commitsCount":25,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127360 - GuillaumeGomez:rollup-f0zs1qr, r=GuillaumeGomez\n\nRollup of 7 pull requests\n\nSuccessful merges:\n\n - #124290 (DependencyList: removed outdated comment)\n - #126709 (Migrate `include_bytes_deps`, `optimization-remarks-dir-pgo`, `optimization-remarks-dir`, `issue-40535` and `rmeta-preferred` `run-make` tests to rmake)\n - #127214 (Use the native unwind function in miri where possible)\n - #127320 (Update windows-bindgen to 0.58.0)\n - #127349 (Tweak `-1 as usize` suggestion)\n - #127352 (coverage: Rename `mir::coverage::BranchInfo` to `CoverageInfoHi`)\n - #127359 (Improve run make llvm ident code)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127360 - GuillaumeGomez:rollup-f0zs1qr, r=GuillaumeGomez"}},{"before":"d2e6cf7fa78500d6c264e35468278aeffd806258","after":"2ad66306738f8fb4b88f7ac19f3a80491ce28e29","ref":"refs/heads/master","pushedAt":"2024-07-05T11:31:34.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127008 - Jules-Bertholet:tc-ergonomics, r=Nadrieril\n\nMatch ergonomics 2024: Implement TC's match ergonomics proposal\n\nUnder gate `ref_pat_eat_one_layer_2024_structural`. Enabling `ref_pat_eat_one_layer_2024` at the same time allows the union of what the individual gates allow. `@traviscross`\n\nr? `@Nadrieril`\n\ncc https://github.com/rust-lang/rust/issues/123076\n\n`@rustbot` label A-edition-2024 A-patterns","shortMessageHtmlLink":"Auto merge of #127008 - Jules-Bertholet:tc-ergonomics, r=Nadrieril"}},{"before":"51917ba8f215f76e9d3fa8e77cd0a781bb28dab7","after":"d2e6cf7fa78500d6c264e35468278aeffd806258","ref":"refs/heads/master","pushedAt":"2024-07-05T08:33:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127344 - matthiaskrgr:morecrashes, r=jieyouxu\n\ncrashes: add latest\n\nr? `@jieyouxu`\n`@bors` rollup=iffy","shortMessageHtmlLink":"Auto merge of #127344 - matthiaskrgr:morecrashes, r=jieyouxu"}},{"before":"489233170abcc97f59a1ee2211535f0ff67a0b43","after":"51917ba8f215f76e9d3fa8e77cd0a781bb28dab7","ref":"refs/heads/master","pushedAt":"2024-07-05T04:15:29.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #126171 - RalfJung:simd_bitmask_multibyte, r=workingjubilee\n\nsimd_bitmask intrinsic: add a non-power-of-2 multi-byte example\n\nr? `@calebzulawski` `@workingjubilee`","shortMessageHtmlLink":"Auto merge of #126171 - RalfJung:simd_bitmask_multibyte, r=workingjub…"}},{"before":"cc8da78a036dc3c15c35a97651b02af9a6d30c1e","after":"489233170abcc97f59a1ee2211535f0ff67a0b43","ref":"refs/heads/master","pushedAt":"2024-07-05T01:57:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk\n\nMiri function identity hack: account for possible inlining\n\nHaving a non-lifetime generic is not the only reason a function can be duplicated. Another possibility is that the function may be eligible for cross-crate inlining. So also take into account the inlining attribute in this Miri hack for function pointer identity.\n\nThat said, `cross_crate_inlinable` will still sometimes return true even for `inline(never)` functions:\n- when they are `DefKind::Ctor(..) | DefKind::Closure` -- I assume those cannot be `InlineAttr::Never` anyway?\n- when `cross_crate_inline_threshold == InliningThreshold::Always`\n\nso maybe this is still not quite the right criterion to use for function pointer identity.","shortMessageHtmlLink":"Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk"}},{"before":"c4225812973cee4bba952cbf7a421f69871fed0d","after":"cc8da78a036dc3c15c35a97651b02af9a6d30c1e","ref":"refs/heads/master","pushedAt":"2024-07-04T23:39:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127288 - lqd:typelen-cache, r=compiler-errors\n\ncache type sizes in type-size limit visitor\n\nThis is basically https://github.com/rust-lang/rust/pull/125507#issuecomment-2206813779 as lcnr can't open the PR now.\n\nLocally it reduces the `itertools` regression by quite a bit, to \"only +50%\" compared to nightly (that includes overhead from the local lack of artifact post-processing, and is just a data point to compare to the 10-20x timings without the cache).\n\n```console\nBenchmark 1: cargo +stage1 build --release\n Time (mean ± σ): 2.721 s ± 0.009 s [User: 2.446 s, System: 0.325 s]\n Range (min … max): 2.710 s … 2.738 s 10 runs\n\nBenchmark 2: cargo +nightly build --release\n Time (mean ± σ): 1.784 s ± 0.005 s [User: 1.540 s, System: 0.279 s]\n Range (min … max): 1.778 s … 1.792 s 10 runs\n\nSummary\n cargo +nightly build --release ran\n 1.52 ± 0.01 times faster than cargo +stage1 build --release\n```\n\nOn master, it's from 34s to the 2.7s above.\n\nr? compiler-errors","shortMessageHtmlLink":"Auto merge of #127288 - lqd:typelen-cache, r=compiler-errors"}},{"before":"8a9cccb1004e9fa8a189e3288a92e998cefdd3c6","after":"c4225812973cee4bba952cbf7a421f69871fed0d","ref":"refs/heads/master","pushedAt":"2024-07-04T21:16:14.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127317 - RalfJung:miri-sync, r=RalfJung\n\nMiri subtree update\n\nr? `@ghost`","shortMessageHtmlLink":"Auto merge of #127317 - RalfJung:miri-sync, r=RalfJung"}},{"before":"9f877c9cd2c3f8f2f64df1e0c1804ad0682416d0","after":"8a9cccb1004e9fa8a189e3288a92e998cefdd3c6","ref":"refs/heads/master","pushedAt":"2024-07-04T18:56:12.000Z","pushType":"push","commitsCount":29,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127326 - matthiaskrgr:rollup-kz7vd3w, r=matthiaskrgr\n\nRollup of 9 pull requests\n\nSuccessful merges:\n\n - #123043 (Disable dead variant removal for `#[repr(C)]` enums.)\n - #126405 (Migrate some rustc_builtin_macros to SessionDiagnostic)\n - #127037 (Remove some duplicated tests)\n - #127283 (Reject SmartPointer constructions not serving the purpose)\n - #127301 (Tweak some structured suggestions to be more verbose and accurate)\n - #127307 (Allow to have different types for arguments of `Rustc::remap_path_prefix`)\n - #127309 (jsondocck: add `$FILE` built-in variable)\n - #127314 (Trivial update on tidy bless note)\n - #127319 (Remove a use of `StructuredDiag`, which is incompatible with automatic error tainting and error translations)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127326 - matthiaskrgr:rollup-kz7vd3w, r=matthiaskrgr"}},{"before":"e2cf31a6148725bde4ea48acf1e4fe72675257a2","after":"9f877c9cd2c3f8f2f64df1e0c1804ad0682416d0","ref":"refs/heads/master","pushedAt":"2024-07-04T16:36:33.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127170 - bjorn3:no_specialize_index_borrowck, r=michaelwoerister\n\nStop using specialization in rustc_index and rustc_borrowck\n\nFor rustc_borrowck the version with specialization isn't much more readable anyway IMO. For rustc_index it probably doesn't affect perf in any noticeable way anyway.","shortMessageHtmlLink":"Auto merge of #127170 - bjorn3:no_specialize_index_borrowck, r=michae…"}},{"before":"9ffe52e05b063f5fea020d501216a35559ca8620","after":"e2cf31a6148725bde4ea48acf1e4fe72675257a2","ref":"refs/heads/master","pushedAt":"2024-07-04T13:12:40.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127120 - Kobzol:bootstrap-cmd-refactor-3, r=onur-ozkan\n\nBootstrap command refactoring: consolidate output modes (step 3)\n\nThis PR is a continuation to https://github.com/rust-lang/rust/pull/126731. It consolidates the output modes of bootstrap (`Print` vs `CaptureAll` vs `CaptureStdout`) and simplifies the logic around error printing (now a command error is always printed if the failure is not ignored). It also ports even more usages of `Command` to `BootstrapCommand`, most notably the git helpers and many usages of the `output` function.\n\nThe last commit was added because the third commit made two variants of the `Tool` enum unused (no idea why, but it seems to have been a false positive that they were used before).\n\nIt can be reviewed now, but I would wait with merging until at least a few days after https://github.com/rust-lang/rust/pull/126731, just to catch any potential issues from that PR before we move further.\n\nAs a next step, I want to clean up the API of the command a little bit to make usage easier (currently it's a bit verbose), and then continue with the rest of the tasks from the tracking issue.\n\nAs always, best reviewed commit by commit.\n\nTracking issue: https://github.com/rust-lang/rust/issues/126819\n\nr? `@onur-ozkan`\n\ntry-job: aarch64-apple","shortMessageHtmlLink":"Auto merge of #127120 - Kobzol:bootstrap-cmd-refactor-3, r=onur-ozkan"}},{"before":"486bc278ab4cf516ccc176cee4a268e104b6e69c","after":"9ffe52e05b063f5fea020d501216a35559ca8620","ref":"refs/heads/master","pushedAt":"2024-07-04T10:53:37.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127305 - jhpratt:rollup-3p5wf3h, r=jhpratt\n\nRollup of 5 pull requests\n\nSuccessful merges:\n\n - #126792 (wasm64 build with target-feature=+simd128,+atomics)\n - #127195 (Remove unqualified form import of io::Error in process_vxworks.rs and fallback on remove_dir_impl for vxworks)\n - #127287 (jsondocck: Use correct index for error message.)\n - #127289 (rustdoc-json: Better representation of lifetime bounds in where clauses.)\n - #127303 (chore: remove repeat words)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127305 - jhpratt:rollup-3p5wf3h, r=jhpratt"}},{"before":"f6fa358a182b2f8e4d5a10faac4dae950493c9bc","after":"486bc278ab4cf516ccc176cee4a268e104b6e69c","ref":"refs/heads/master","pushedAt":"2024-07-04T08:35:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127293 - ldm0:ldm_coroutine, r=saethlin\n\nUse `IndexVec` for coroutine local mapping\n\nResolves a old FIXME","shortMessageHtmlLink":"Auto merge of #127293 - ldm0:ldm_coroutine, r=saethlin"}},{"before":"66b4f0021bfb11a8c20d084c99a40f4a78ce1d38","after":"f6fa358a182b2f8e4d5a10faac4dae950493c9bc","ref":"refs/heads/master","pushedAt":"2024-07-04T06:17:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127226 - mat-1:optimize-siphash-round, r=nnethercote\n\nOptimize SipHash by reordering compress instructions\n\nThis PR optimizes hashing by changing the order of instructions in the sip.rs `compress` macro so the CPU can parallelize it better. The new order is taken directly from Fig 2.1 in [the SipHash paper](https://eprint.iacr.org/2012/351.pdf) (but with the xors moved which makes it a little faster). I attempted to optimize it some more after this, but I think this might be the optimal instruction order. Note that this shouldn't change the behavior of hashing at all, only statements that don't depend on each other were reordered.\n\nIt appears like the current order hasn't changed since its [original implementation from 2012](https://github.com/rust-lang/rust/commit/fada46c4214f26dbdc0fd150a713aced476e75b5#diff-b751133c229259d7099bbbc7835324e5504b91ab1aded9464f0c48cd22e5e420R35) which doesn't look like it was written with data dependencies in mind.\n\nRunning `./x bench library/core --stage 0 --test-args hash` before and after this change shows the following results:\n\nBefore:\n```\nbenchmarks:\n hash::sip::bench_bytes_4 7.20/iter +/- 0.70\n hash::sip::bench_bytes_7 9.01/iter +/- 0.35\n hash::sip::bench_bytes_8 8.12/iter +/- 0.10\n hash::sip::bench_bytes_a_16 10.07/iter +/- 0.44\n hash::sip::bench_bytes_b_32 13.46/iter +/- 0.71\n hash::sip::bench_bytes_c_128 37.75/iter +/- 0.48\n hash::sip::bench_long_str 121.18/iter +/- 3.01\n hash::sip::bench_str_of_8_bytes 11.20/iter +/- 0.25\n hash::sip::bench_str_over_8_bytes 11.20/iter +/- 0.26\n hash::sip::bench_str_under_8_bytes 9.89/iter +/- 0.59\n hash::sip::bench_u32 9.57/iter +/- 0.44\n hash::sip::bench_u32_keyed 6.97/iter +/- 0.10\n hash::sip::bench_u64 8.63/iter +/- 0.07\n```\nAfter:\n```\nbenchmarks:\n hash::sip::bench_bytes_4 6.64/iter +/- 0.14\n hash::sip::bench_bytes_7 8.19/iter +/- 0.07\n hash::sip::bench_bytes_8 8.59/iter +/- 0.68\n hash::sip::bench_bytes_a_16 9.73/iter +/- 0.49\n hash::sip::bench_bytes_b_32 12.70/iter +/- 0.06\n hash::sip::bench_bytes_c_128 32.38/iter +/- 0.20\n hash::sip::bench_long_str 102.99/iter +/- 0.82\n hash::sip::bench_str_of_8_bytes 10.71/iter +/- 0.21\n hash::sip::bench_str_over_8_bytes 11.73/iter +/- 0.17\n hash::sip::bench_str_under_8_bytes 10.33/iter +/- 0.41\n hash::sip::bench_u32 10.41/iter +/- 0.29\n hash::sip::bench_u32_keyed 9.50/iter +/- 0.30\n hash::sip::bench_u64 8.44/iter +/- 1.09\n```\nI ran this on my computer so there's some noise, but you can tell at least `bench_long_str` is significantly faster (~18%).\n\nAlso, I noticed the same compress function from the library is used in the compiler as well, so I took the liberty of copy-pasting this change to there as well.\n\nThanks `@semisol` for porting SipHash for another project which led me to notice this issue in Rust, and for helping investigate. <3","shortMessageHtmlLink":"Auto merge of #127226 - mat-1:optimize-siphash-round, r=nnethercote"}},{"before":"b45401283fad51849dbb37d78f0b2093a21fb58f","after":"66b4f0021bfb11a8c20d084c99a40f4a78ce1d38","ref":"refs/heads/master","pushedAt":"2024-07-04T04:02:39.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127127 - notriddle:notriddle/pulldown-cmark-0.11, r=GuillaumeGomez\n\nrustdoc: update to pulldown-cmark 0.11\n\nr? rustdoc\n\nThis pull request updates rustdoc to the latest version of pulldown-cmark. Along with adding new markdown extensions (which this PR doesn't enable), the new pulldown-cmark version also fixes a large number of bugs. Because all text files successfully parse as markdown, these bugfixes change the output, which can break people's existing docs.\n\nA crater run, https://github.com/rust-lang/rust/pull/121659, has already been run for this change.\n\nThe first commit upgrades and fixes rustdoc. The second commit adds a lint for the footnote and block quote parser changes, which break the largest numbers of docs in the Crater run. The strikethrough change was mitigated in pulldown-cmark itself.\n\nUnblocks https://github.com/rust-lang/rust-clippy/pull/12876","shortMessageHtmlLink":"Auto merge of #127127 - notriddle:notriddle/pulldown-cmark-0.11, r=Gu…"}},{"before":"aa1d4f6826de006b02fed31a718ce4f674203721","after":"b45401283fad51849dbb37d78f0b2093a21fb58f","ref":"refs/heads/master","pushedAt":"2024-07-04T01:43:41.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127296 - matthiaskrgr:rollup-1t1isa7, r=matthiaskrgr\n\nRollup of 6 pull requests\n\nSuccessful merges:\n\n - #127092 (Change return-type-notation to use `(..)`)\n - #127184 (More refactorings to rustc_interface)\n - #127190 (Update LLVM submodule)\n - #127253 (Fix incorrect suggestion for extra argument with a type error)\n - #127280 (Disable rmake test rustdoc-io-error on riscv64gc-gnu)\n - #127294 (Less magic number for corountine)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127296 - matthiaskrgr:rollup-1t1isa7, r=matthiaskrgr"}},{"before":"2b90614e94cfb400820cfc10fe63b0db74f9e67a","after":"aa1d4f6826de006b02fed31a718ce4f674203721","ref":"refs/heads/master","pushedAt":"2024-07-03T23:24:18.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127044 - Oneirical:fantestic-journey, r=Kobzol,jieyouxu\n\nMigrate `dylib-chain`, `rlib-chain`, `issue-47384`, `msvc-opt-minsize` and `test-harness` `run-make` tests to ui/rmake\n\nPart of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).\n\ntry-job: x86_64-msvc\ntry-job: aarch64-apple","shortMessageHtmlLink":"Auto merge of #127044 - Oneirical:fantestic-journey, r=Kobzol,jieyouxu"}},{"before":"1cfd47fe0b78f48a04ac8fce792a406b638da40b","after":"2b90614e94cfb400820cfc10fe63b0db74f9e67a","ref":"refs/heads/master","pushedAt":"2024-07-03T21:09:25.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127036 - cjgillot:sparse-state, r=oli-obk\n\nMake jump threading state sparse\n\nContinuation of https://github.com/rust-lang/rust/pull/127024\n\nBoth dataflow const-prop and jump threading involve cloning the state vector a lot. This PR replaces the data structure by a sparse vector, considering:\n- that jump threading state is typically very sparse (at most 1 or 2 set entries);\n- that dataflow const-prop is disabled by default;\n- that place/value map is very eager, and prone to creating an overly large state.\n\nThe first commit is shared with the previous PR to avoid needless conflicts.\n\nr? `@oli-obk`","shortMessageHtmlLink":"Auto merge of #127036 - cjgillot:sparse-state, r=oli-obk"}},{"before":"1086affd98ad746e1bb02e187562b9a037e854e3","after":"1cfd47fe0b78f48a04ac8fce792a406b638da40b","ref":"refs/heads/master","pushedAt":"2024-07-03T18:50:58.000Z","pushType":"push","commitsCount":35,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #127278 - matthiaskrgr:rollup-fjexkdr, r=matthiaskrgr\n\nRollup of 8 pull requests\n\nSuccessful merges:\n\n - #126803 (Change `asm-comments` to `verbose-asm`, always emit user comments)\n - #127050 (Make mtime of reproducible tarballs dependent on git commit)\n - #127145 (Add `as_lang_item` to `LanguageItems`, new trait solver)\n - #127202 (Remove global error count checks from typeck)\n - #127233 (Some parser cleanups)\n - #127248 (Add parse fail test using safe trait/impl trait)\n - #127264 (Small `run-make-support` API improvements)\n - #127270 (bootstrap: pass correct struct size to winapi)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #127278 - matthiaskrgr:rollup-fjexkdr, r=matthiaskrgr"}},{"before":"c872a1418a4be3ea84a8d5232238b60d35339ba9","after":"1086affd98ad746e1bb02e187562b9a037e854e3","ref":"refs/heads/master","pushedAt":"2024-07-03T16:30:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #126094 - petrochenkov:libsearch, r=michaelwoerister\n\nlinker: Link dylib crates by path\n\nLinkers seem to support linking dynamic libraries by path.\nNot sure why the previous scheme with splitting the path into a directory (passed with `-L`) and a name (passed with `-l`) was used (upd: likely due to https://github.com/rust-lang/rust/pull/126094#issuecomment-2155063414).\n\nWhen we split a library path `some/dir/libfoo.so` into `-L some/dir` and `-l foo` we add `some/dir` to search directories for *all* libraries looked up by the linker, not just `foo`, and `foo` is also looked up in *all* search directories not just `some/dir`.\nTechnically we may find some unintended libraries this way.\nTherefore linking dylibs via a full path is both simpler and more reliable.\n\nIt also makes the set of search directories more easily reproducible when we need to lookup some native library manually (like in https://github.com/rust-lang/rust/pull/123436).","shortMessageHtmlLink":"Auto merge of #126094 - petrochenkov:libsearch, r=michaelwoerister"}},{"before":"2db4ff40af2b9f93b6240dbd67ed7f2f34b19776","after":"c872a1418a4be3ea84a8d5232238b60d35339ba9","ref":"refs/heads/master","pushedAt":"2024-07-03T14:14:26.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #125507 - compiler-errors:type-length-limit, r=lcnr\n\nRe-implement a type-size based limit\n\nr? lcnr\n\nThis PR reintroduces the type length limit added in #37789, which was accidentally made practically useless by the caching changes to `Ty::walk` in #72412, which caused the `walk` function to no longer walk over identical elements.\n\nHitting this length limit is not fatal unless we are in codegen -- so it shouldn't affect passes like the mir inliner which creates potentially very large types (which we observed, for example, when the new trait solver compiles `itertools` in `--release` mode).\n\nThis also increases the type length limit from `1048576 == 2 ** 20` to `2 ** 24`, which covers all of the code that can be reached with craterbot-check. Individual crates can increase the length limit further if desired.\n\nPerf regression is mild and I think we should accept it -- reinstating this limit is important for the new trait solver and to make sure we don't accidentally hit more type-size related regressions in the future.\n\nFixes #125460","shortMessageHtmlLink":"Auto merge of #125507 - compiler-errors:type-length-limit, r=lcnr"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEeJvOBwA","startCursor":null,"endCursor":null}},"title":"Activity · rust-lang/rust"}