{"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:1716682659.0","currentOid":""},"activityList":{"items":[{"before":"67caf52fbc4f10cdf427f04e6cbb35c8b9d96bb7","after":"50297bb417dc338b475fd7cf8b706fa81df85b25","ref":"refs/heads/master","pushedAt":"2024-06-06T15:17:27.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 #125411 - onur-ozkan:sanity-check-libstdc++, r=Mark-Simulacrum\n\ncheck host's libstdc++ version when using ci llvm\n\nIf the host's libstdc++ version is too old using ci-llvm may result in an ABI mismatch between the local libstdc++ and libLLVM.so. This PR adds a sanity check to immediately fail at the beginning of the bootstrap before starting the actual build. I am not sure if '8' is the best threshold, but it should be a good start and we can increase it anytime if needed.\n\nFixes #123037","shortMessageHtmlLink":"Auto merge of #125411 - onur-ozkan:sanity-check-libstdc++, r=Mark-Sim…"}},{"before":"2d28b6384e5e0a2c9d1500a1f65e35423453fbf6","after":"67caf52fbc4f10cdf427f04e6cbb35c8b9d96bb7","ref":"refs/heads/master","pushedAt":"2024-06-06T12:50:59.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 #125406 - tbu-:pr_rm_path_with_extension, r=Nadrieril\n\nDirectly add extension instead of using `Path::with_extension`\n\n`Path::with_extension` has a nice footgun when the original path doesn't contain an extension: Anything after the last dot gets removed.","shortMessageHtmlLink":"Auto merge of #125406 - tbu-:pr_rm_path_with_extension, r=Nadrieril"}},{"before":"2b6a34273d820df4140a00984d38d40c745fb565","after":"2d28b6384e5e0a2c9d1500a1f65e35423453fbf6","ref":"refs/heads/master","pushedAt":"2024-06-06T10:23:18.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #124482 - spastorino:unsafe-extern-blocks, r=oli-obk\n\nUnsafe extern blocks\n\nThis implements RFC 3484.\n\nTracking issue #123743 and RFC https://github.com/rust-lang/rfcs/pull/3484\n\nThis is better reviewed commit by commit.","shortMessageHtmlLink":"Auto merge of #124482 - spastorino:unsafe-extern-blocks, r=oli-obk"}},{"before":"003a9027927a51de770a1cf22fccade616a5f0e3","after":"2b6a34273d820df4140a00984d38d40c745fb565","ref":"refs/heads/master","pushedAt":"2024-06-06T08:13:51.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #126056 - matthiaskrgr:rollup-ytwg62v, r=matthiaskrgr\n\nRollup of 6 pull requests\n\nSuccessful merges:\n\n - #124731 (Add translation support by mdbook-i18n-helpers to bootstrap)\n - #125168 (Match ergonomics 2024: align implementation with RFC)\n - #125925 (Don't trigger `unsafe_op_in_unsafe_fn` for deprecated safe fns)\n - #125987 (When `derive`ing, account for HRTB on `BareFn` fields)\n - #126045 (check_expr_struct_fields: taint context with errors if struct definit…)\n - #126048 (Fix typos in cargo-specifics.md)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #126056 - matthiaskrgr:rollup-ytwg62v, r=matthiaskrgr"}},{"before":"d0ccb5413ee2d9d40b574ad7998ffa866811d3f8","after":"003a9027927a51de770a1cf22fccade616a5f0e3","ref":"refs/heads/master","pushedAt":"2024-06-06T05:55:00.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 #125958 - BoxyUwU:remove_const_ty, r=lcnr\n\nRemove the `ty` field from type system `Const`s\n\nFixes #125556\nFixes #122908\n\nPart of the work on `adt_const_params`/`generic_const_param_types`/`min_generic_const_exprs`/generally making the compiler nicer. cc rust-lang/project-const-generics#44\n\nPlease review commit-by-commit otherwise I wasted a lot of time not just squashing this into a giant mess (and also it'll be SO much nicer because theres a lot of fluff changes mixed in with other more careful changes if looking via File Changes\n\n---\n\nWhy do this?\n- The `ty` field keeps causing ICEs and weird behaviour due to it either being treated as \"part of the const\" or it being forgotten about leading to ICEs.\n- As we move forward with `adt_const_params` and a potential `min_generic_const_exprs` it's going to become more complex to actually lower the correct `Ty<'tcx>`\n- It muddles the idea behind how we check `Const` arguments have the correct type. By having the `ty` field it may seem like we ought to be relating it when we relate two types, or that its generally important information about the `Const`.\n- Brings the compiler more in line with `a-mir-formality` as that also tracks the type of type system `Const`s via `ConstArgHasType` bounds in the env instead of on the `Const` itself.\n- A lot of stuff is a lot nicer when you dont have to pass around the type of a const lol. Everywhere we construct `Const` is now significantly nicer :sweat_smile:\n\nSee #125671's description for some more information about the `ty` field\n\n---\n\nGeneral summary of changes in this PR:\n\n- Add `Ty` to `ConstKind::Value` as otherwise there is no way to implement `ConstArgHasType` to ensure that const arguments are correctly typed for the parameter when we stop creating anon consts for all const args. It's also just incredibly difficult/annoying to thread the correct `Ty` around to a bunch of ctfe functions otherwise.\n- Fully implement `ConstArgHasType` in both the old and new solver. Since it now has no reliance on the `ty` field it serves its originally intended purpose of being able to act as a double check that trait vs impls have correctly typed const parameters. It also will now be able to be responsible for checking types of const arguments to parameters under `min_generic_const_exprs`.\n- Add `Ty` to `mir::Const::Ty`. I dont have a great understanding of why mir constants are setup like this to be honest. Regardless they need to be able to determine the type of the const and the easiest way to make this happen was to simply store the `Ty` along side the `ty::Const`. Maybe we can do better here in the future but I'd have to spend way more time looking at everywhere we use `mir::Const`.\n- rustdoc has its own `Const` which also has a `ty` field. It was relatively easy to remove this.\n\n---\n\nr? `@lcnr` `@compiler-errors`","shortMessageHtmlLink":"Auto merge of #125958 - BoxyUwU:remove_const_ty, r=lcnr"}},{"before":"72fdf913c53dd0e75313ba83e4aa80df3f6e2871","after":"d0ccb5413ee2d9d40b574ad7998ffa866811d3f8","ref":"refs/heads/master","pushedAt":"2024-06-06T03:40:18.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 #122505 - oli-obk:visit_nested_body2, r=tmiasko\n\nDon't walk the bodies of free constants for reachability.\n\nfollow-up to #122371\n\ncc #119214\n\nThis avoids codegening items (e.g. functions) that are only used during const eval, but do not reach their final constant value (e.g. via function pointers).\n\nr? `@tmiasko`","shortMessageHtmlLink":"Auto merge of #122505 - oli-obk:visit_nested_body2, r=tmiasko"}},{"before":"7ebd2bdbf6d798e6e711a0100981b0ff029abf5f","after":"72fdf913c53dd0e75313ba83e4aa80df3f6e2871","ref":"refs/heads/master","pushedAt":"2024-06-05T23:00:37.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 #126038 - matthiaskrgr:rollup-h4rm3x2, r=matthiaskrgr\n\nRollup of 9 pull requests\n\nSuccessful merges:\n\n - #124840 (resolve: mark it undetermined if single import is not has any bindings)\n - #125622 (Winnow private method candidates instead of assuming any candidate of the right name will apply)\n - #125648 (Remove unused(?) `~/rustsrc` folder from docker script)\n - #125672 (Add more ABI test cases to miri (RFC 3391))\n - #125800 (Fix `mut` static task queue in SGX target)\n - #125871 (Orphanck[old solver]: Consider opaque types to never cover type parameters)\n - #125893 (Handle all GVN binops in a single place.)\n - #126008 (Port `tests/run-make-fulldeps/issue-19371` to ui-fulldeps)\n - #126032 (Update description of the `IsTerminal` example)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #126038 - matthiaskrgr:rollup-h4rm3x2, r=matthiaskrgr"}},{"before":"c1dba09f263cbff6170f130aa418e28bdf22bd96","after":"7ebd2bdbf6d798e6e711a0100981b0ff029abf5f","ref":"refs/heads/master","pushedAt":"2024-06-05T20:51:17.000Z","pushType":"push","commitsCount":36,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #126037 - matthiaskrgr:rollup-7pz1nhr, r=matthiaskrgr\n\nRollup of 10 pull requests\n\nSuccessful merges:\n\n - #124746 (`rustc --explain E0582` additional example)\n - #125407 (Detect when user is trying to create a lending `Iterator` and give a custom explanation)\n - #125505 (Add intra-doc-links to rustc_middle crate-level docs.)\n - #125792 (Don't drop `Unsize` candidate in intercrate mode)\n - #125819 (Various `HirTyLowerer` cleanups)\n - #125861 (rustc_codegen_ssa: fix `get_rpath_relative_to_output` panic when lib only contains file name)\n - #125911 (delete bootstrap build before switching to bumped rustc)\n - #125921 (coverage: Carve out hole spans in a separate early pass)\n - #125940 (std::unix::fs::get_path: using fcntl codepath for netbsd instead.)\n - #126022 (set `has_unconstrained_ty_var` when generalizing aliases in bivariant contexts)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #126037 - matthiaskrgr:rollup-7pz1nhr, r=matthiaskrgr"}},{"before":"db8aca48129d86b2623e3ac8cbcf2902d4d313ad","after":"c1dba09f263cbff6170f130aa418e28bdf22bd96","ref":"refs/heads/master","pushedAt":"2024-06-05T17:49: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 #126005 - weihanglo:update-cargo, r=weihanglo\n\nUpdate cargo\n\n9 commits in 7a6fad0984d28c8330974636972aa296b67c4513..34a6a87d8a2330d8c9d578f927489689328a652d\n2024-05-31 22:26:03 +0000 to 2024-06-04 15:31:01 +0000\n- Silence the warning about forgetting the vendoring (rust-lang/cargo#13886)\n- fix(vendor): Ensure sort happens for vendor (rust-lang/cargo#14004)\n- fix(add): Avoid escaping double-quotes by using string literals (rust-lang/cargo#14006)\n- refactor(source): Split `RecursivePathSource` out of `PathSource` (rust-lang/cargo#13993)\n- doc: Add README for resolver-tests (rust-lang/cargo#13977)\n- Allows the default git/gitoxide configuration to be obtained from the ENV and config (rust-lang/cargo#13687)\n- refactor: Transition direct assertions from cargo-test-support to snapbox (rust-lang/cargo#13980)\n- Fix: Skip deserialization of unrelated fields with overlapping name (rust-lang/cargo#14000)\n- chore(deps): update alpine docker tag to v3.20 (rust-lang/cargo#13996)\n\nr? ghost","shortMessageHtmlLink":"Auto merge of #126005 - weihanglo:update-cargo, r=weihanglo"}},{"before":"5ee2dfd2bcbb66a69a46aaa342204e0dfdb70516","after":"db8aca48129d86b2623e3ac8cbcf2902d4d313ad","ref":"refs/heads/master","pushedAt":"2024-06-05T14:17:07.000Z","pushType":"push","commitsCount":42,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #126016 - workingjubilee:rollup-nh6ehbz, r=workingjubilee\n\nRollup of 12 pull requests\n\nSuccessful merges:\n\n - #123168 (Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to the prelude)\n - #125273 (bootstrap: implement new feature `bootstrap-self-test`)\n - #125683 (Rewrite `suspicious-library`, `resolve-rename` and `incr-prev-body-beyond-eof` `run-make` tests in `rmake.rs` format)\n - #125815 (`rustc_parse` top-level cleanups)\n - #125903 (rustc_span: Inline some hot functions)\n - #125906 (Remove a bunch of redundant args from `report_method_error`)\n - #125920 (Allow static mut definitions with #[linkage])\n - #125982 (Make deleting on LinkedList aware of the allocator)\n - #125995 (Use inline const blocks to create arrays of `MaybeUninit`.)\n - #125996 (Closures are recursively reachable)\n - #126003 (Add a co-maintainer for the two ARMv4T targets)\n - #126004 (Add another test for hidden types capturing lifetimes that outlive but arent mentioned in substs)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #126016 - workingjubilee:rollup-nh6ehbz, r=workingjubilee"}},{"before":"a330e49593ee890f9197727a3a558b6e6b37f843","after":"5ee2dfd2bcbb66a69a46aaa342204e0dfdb70516","ref":"refs/heads/master","pushedAt":"2024-06-05T10:35:44.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 #126011 - workingjubilee:try-fix-solaris-build, r=workingjubilee\n\nSilence double-symlink errors while building solaris toolchain\n\nIntended to address the current issues with the tree.","shortMessageHtmlLink":"Auto merge of #126011 - workingjubilee:try-fix-solaris-build, r=worki…"}},{"before":"23e040adec50e10d3ff8103e405ff79e44908e70","after":"a330e49593ee890f9197727a3a558b6e6b37f843","ref":"refs/heads/master","pushedAt":"2024-06-04T23:39:59.000Z","pushType":"push","commitsCount":31,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #125989 - GuillaumeGomez:rollup-xu69i13, r=GuillaumeGomez\n\nRollup of 11 pull requests\n\nSuccessful merges:\n\n - #106186 (Add function `core::iter::chain`)\n - #125596 (Convert `proc_macro_back_compat` lint to an unconditional error.)\n - #125696 (Explain differences between `{Once,Lazy}{Cell,Lock}` types)\n - #125917 (Create `run-make` `env_var` and `env_var_os` helpers)\n - #125927 (Ignore `vec_deque_alloc_error::test_shrink_to_unwind` test on non-unwind targets)\n - #125930 (feat(opt-dist): new flag `--benchmark-cargo-config`)\n - #125932 (Fix typo in the docs of `HashMap::raw_entry_mut`)\n - #125933 (Update books)\n - #125944 (Update fuchsia maintainers)\n - #125946 (Include trailing commas in wrapped function declarations [RustDoc])\n - #125973 (Remove `tests/run-make-fulldeps/pretty-expanded`)\n\nFailed merges:\n\n - #125815 (`rustc_parse` top-level cleanups)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #125989 - GuillaumeGomez:rollup-xu69i13, r=GuillaumeGomez"}},{"before":"44701e070c8453df10df1984944258018ac21610","after":"23e040adec50e10d3ff8103e405ff79e44908e70","ref":"refs/heads/master","pushedAt":"2024-06-04T21:20:12.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 #125426 - jieyouxu:rmake-support-env-reset, r=saethlin\n\nUpdate `compiler-builtins` test to not clear essential env vars\n\nNoticed in https://github.com/rust-lang/rust/pull/122580#issuecomment-2125755689, the `compiler-builtins` test failed on Windows for a `cargo` invocation because necessary env vars `TMP` and `TEMP` were cleared by `Command::env_clear`, causing temp dir eventually used by codegen to fallback to the Windows directory, which will trigger permission errors.\n\nThis PR removes the `env_clear` on the cargo invocation.\n\nr? `@saethlin` (feel free to reroll, since you authored the test)\n\ntry-job: x86_64-msvc\ntry-job: test-various","shortMessageHtmlLink":"Auto merge of #125426 - jieyouxu:rmake-support-env-reset, r=saethlin"}},{"before":"30ea1a2693bb1ba4b119ac6257985b9e11e45b83","after":"44701e070c8453df10df1984944258018ac21610","ref":"refs/heads/master","pushedAt":"2024-06-04T19:13:22.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 #123536 - compiler-errors:simplify-int-float, r=lcnr\n\nSimplify `IntVarValue`/`FloatVarValue`\n\nr? `@ghost`","shortMessageHtmlLink":"Auto merge of #123536 - compiler-errors:simplify-int-float, r=lcnr"}},{"before":"bc33782c23bc3e04eab7c85c43bbe1a108b11f80","after":"30ea1a2693bb1ba4b119ac6257985b9e11e45b83","ref":"refs/heads/master","pushedAt":"2024-06-04T17:06:07.000Z","pushType":"push","commitsCount":21,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #125976 - compiler-errors:rollup-xt3le7w, r=compiler-errors\n\nRollup of 8 pull requests\n\nSuccessful merges:\n\n - #125667 (Silence follow-up errors directly based on error types and regions)\n - #125717 (Refactor `#[diagnostic::do_not_recommend]` support)\n - #125795 (Improve renaming suggestion for names with leading underscores)\n - #125865 (Fix ICE caused by ignoring EffectVars in type inference)\n - #125953 (Streamline `nested` calls.)\n - #125959 (Reduce `pub` exposure in `rustc_mir_build`)\n - #125967 (Split smir `Const` into `TyConst` and `MirConst`)\n - #125968 (Store the types of `ty::Expr` arguments in the `ty::Expr`)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #125976 - compiler-errors:rollup-xt3le7w, r=compiler-er…"}},{"before":"85f90a461262f7ca37a6e629933d455fa9c3ee48","after":"bc33782c23bc3e04eab7c85c43bbe1a108b11f80","ref":"refs/heads/master","pushedAt":"2024-06-04T14:48:48.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 #125948 - nnethercote:rustfmt-more-tests, r=lqd\n\nrustfmt more tests\n\nThis finishes the formatting of tests begun in #125759 and continued in #125912.\n\nr? `@lqd`","shortMessageHtmlLink":"Auto merge of #125948 - nnethercote:rustfmt-more-tests, r=lqd"}},{"before":"27529d5c2526eab5aa03d765426c44ea55c5d269","after":"85f90a461262f7ca37a6e629933d455fa9c3ee48","ref":"refs/heads/master","pushedAt":"2024-06-04T11:50:29.000Z","pushType":"push","commitsCount":31,"pusher":{"login":"bors","name":"bors","path":"/bors","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3372342?s=80&v=4"},"commit":{"message":"Auto merge of #125960 - jieyouxu:rollup-1s7f6lr, r=jieyouxu\n\nRollup of 8 pull requests\n\nSuccessful merges:\n\n - #124486 (Add tracking issue and unstable book page for `\"vectorcall\"` ABI)\n - #125504 (Change pedantically incorrect OnceCell/OnceLock wording)\n - #125608 (Avoid follow-up errors if the number of generic parameters already doesn't match)\n - #125690 (ARM Target Docs Update)\n - #125750 (Align `Term` methods with `GenericArg` methods, add `Term::expect_*`)\n - #125818 (Handle no values cfgs with `--print=check-cfg`)\n - #125909 (rustdoc: add a regression test for a former blanket impl synthesis ICE)\n - #125919 (Remove stray \"this\")\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #125960 - jieyouxu:rollup-1s7f6lr, r=jieyouxu"}},{"before":"d0f44a4cf3d25688be1f6dc4d67eabbbbca25609","after":"81ed1ceb38e9a4bc01b6c84a92c87b34f7abe18d","ref":"refs/heads/beta","pushedAt":"2024-06-04T09:37:09.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 #125629 - lcnr:undo-leak-check-changes, r=compiler-errors\n\n[BETA] revert leak check changes\n\nreverts the behavior changes from https://github.com/rust-lang/rust/pull/119820 to give `sqlx` and other affected projects another 6 weeks. fixes https://github.com/rust-lang/rust/issues/125194","shortMessageHtmlLink":"Auto merge of #125629 - lcnr:undo-leak-check-changes, r=compiler-errors"}},{"before":"90d6255d82dcfd0b73dbaa4f172a7f9886dcc2c1","after":"27529d5c2526eab5aa03d765426c44ea55c5d269","ref":"refs/heads/master","pushedAt":"2024-06-04T07:10:19.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 #125525 - joboet:tls_accessor, r=cuviper\n\nMake TLS accessors closures that return pointers\n\nThe current TLS macros generate a function that returns an `Option<&'static T>`. This is both risky as we lie about lifetimes, and necessitates that those functions are `unsafe`. By returning a `*const T` instead, the accessor function do not have safety requirements any longer and can be made closures without hassle. This PR does exactly that!\n\nFor native TLS, the closure approach makes it trivial to select the right accessor function at compile-time, which could result in a slight speed-up (I have the hope that the accessors are now simple enough for the MIR-inliner to kick in).","shortMessageHtmlLink":"Auto merge of #125525 - joboet:tls_accessor, r=cuviper"}},{"before":"1689a5a531f1fe404944ed8c3ac6cb85a2cff7e0","after":"90d6255d82dcfd0b73dbaa4f172a7f9886dcc2c1","ref":"refs/heads/master","pushedAt":"2024-06-04T05:02:45.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 #125380 - compiler-errors:wc-obj-safety, r=oli-obk\n\nMake `WHERE_CLAUSES_OBJECT_SAFETY` a regular object safety violation\n\n#### The issue\n\nIn #50781, we have known about unsound `where` clauses in function arguments:\n\n```rust\ntrait Impossible {}\n\ntrait Foo {\n fn impossible(&self)\n where\n Self: Impossible;\n}\n\nimpl Foo for &() {\n fn impossible(&self)\n where\n Self: Impossible,\n {}\n}\n\n// `where` clause satisfied for the object, meaning that the function now *looks* callable.\nimpl Impossible for dyn Foo {}\n\nfn main() {\n let x: &dyn Foo = &&();\n x.impossible();\n}\n```\n\n... which currently segfaults at runtime because we try to call a method in the vtable that doesn't exist. :(\n\n#### What did u change\n\nThis PR removes the `WHERE_CLAUSES_OBJECT_SAFETY` lint and instead makes it a regular object safety violation. I choose to make this into a hard error immediately rather than a `deny` because of the time that has passed since this lint was authored, and the single (1) regression (see below).\n\nThat means that it's OK to mention `where Self: Trait` where clauses in your trait, but making such a trait into a `dyn Trait` object will report an object safety violation just like `where Self: Sized`, etc.\n\n```rust\ntrait Impossible {}\n\ntrait Foo {\n fn impossible(&self)\n where\n Self: Impossible; // <~ This definition is valid, just not object-safe.\n}\n\nimpl Foo for &() {\n fn impossible(&self)\n where\n Self: Impossible,\n {}\n}\n\nfn main() {\n let x: &dyn Foo = &&(); // <~ THIS is where we emit an error.\n}\n```\n\n#### Regressions\n\nFrom a recent crater run, there's only one crate that relies on this behavior: https://github.com/rust-lang/rust/pull/124305#issuecomment-2122381740. The crate looks unmaintained and there seems to be no dependents.\n\n#### Further\n\nWe may later choose to relax this (e.g. when the where clause is implied by the supertraits of the trait or something), but this is not something I propose to do in this FCP.\n\nFor example, given:\n\n```\ntrait Tr {\n fn f(&self) where Self: Blanket;\n}\n\nimpl Blanket for T {}\n```\n\nProving that some placeholder `S` implements `S: Blanket` would be sufficient to prove that the same (blanket) impl applies for both `Concerete: Blanket` and `dyn Trait: Blanket`.\n\nRepeating here that I don't think we need to implement this behavior right now.\n\n----\n\nr? lcnr","shortMessageHtmlLink":"Auto merge of #125380 - compiler-errors:wc-obj-safety, r=oli-obk"}},{"before":"7c52d2db6348b038276198e88a835125849f322e","after":"1689a5a531f1fe404944ed8c3ac6cb85a2cff7e0","ref":"refs/heads/master","pushedAt":"2024-06-04T02:12:44.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 #122597 - pacak:master, r=bjorn3\n\nShow files produced by `--emit foo` in json artifact notifications\n\nRight now it is possible to ask `rustc` to save some intermediate representation into one or more files with `--emit=foo`, but figuring out what exactly was produced is difficult. This pull request adds information about `llvm_ir` and `asm` intermediate files into notifications produced by `--json=artifacts`.\n\nRelated discussion: https://internals.rust-lang.org/t/easier-access-to-files-generated-by-emit-foo/20477\n\nMotivation - `cargo-show-asm` parses those intermediate files and presents them in a user friendly way, but right now I have to apply some dirty hacks. Hacks make behavior confusing: https://github.com/hintron/computer-enhance/issues/35\n\nThis pull request introduces a new behavior: now `rustc` will emit a new artifact notification for every artifact type user asked to `--emit`, for example for `--emit asm` those will include all the `.s` files.\n\nMost users won't notice this behavior, to be affected by it all of the following must hold:\n- user must use `rustc` binary directly (when `cargo` invokes `rustc` - it consumes artifact notifications and doesn't emit anything)\n- user must specify both `--emit xxx` and `--json artifacts`\n- user must refuse to handle unknown artifact types\n- user must disable incremental compilation (or deal with it better than cargo does, or use a workaround like `save-temps`) in order not to hit #88829 / #89149","shortMessageHtmlLink":"Auto merge of #122597 - pacak:master, r=bjorn3"}},{"before":"d9e85b56e7f85f7fdabff71f217b7bb2cee0ef68","after":"d0f44a4cf3d25688be1f6dc4d67eabbbbca25609","ref":"refs/heads/beta","pushedAt":"2024-06-03T23:18:49.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 #125939 - weihanglo:update-beta-cargo, r=weihanglo\n\n[beta-1.79] Update cargo\n\n1 commits in 9ca20fadf04af535ec39d1e18c87cd886185d300..ffa9cf99a594e59032757403d4c780b46dc2c43a\n2024-05-22 17:55:16 +0000 to 2024-06-03 14:41:30 +0000\n- [beta-1.79] fix(config): Ensure `--config net.git-fetch-with-cli=true` is respected (rust-lang/cargo#13997)\n\nr? ghost","shortMessageHtmlLink":"Auto merge of #125939 - weihanglo:update-beta-cargo, r=weihanglo"}},{"before":"eb5e2449c5a5215927834d67914ce41cccd3f3c9","after":"7c52d2db6348b038276198e88a835125849f322e","ref":"refs/heads/master","pushedAt":"2024-06-03T20:50:49.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 #125383 - Oneirical:bundle-them-up, r=jieyouxu\n\nRewrite `emit`, `mixing-formats` and `bare-outfile` `run-make` tests in `rmake.rs` format\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","shortMessageHtmlLink":"Auto merge of #125383 - Oneirical:bundle-them-up, r=jieyouxu"}},{"before":"8768db9912af2dc70651156bb638b09dc2cec630","after":"eb5e2449c5a5215927834d67914ce41cccd3f3c9","ref":"refs/heads/master","pushedAt":"2024-06-03T18:09:27.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 #125864 - compiler-errors:opt-in-error-reporting, r=lcnr\n\nOpt-in to `FulfillmentError` generation to avoid doing extra work in the new solver\n\nIn the new solver, we do additional trait solving in order to generate fulfillment errors, because all we have is the root obligation. This is problematic because there are many cases where we don't need the full error information, and instead are just calling `ObligationCtxt::select_all_or_error` to probe whether a predicate holds or not. This is also problematic because we use `ObligationCtxt`s within the error reporting machinery itself, and so we can definitely cause stack overflows:\n\nhttps://github.com/rust-lang/rust/blob/a94483a5f2bae907bc898fc7a8d9cc87db47b693/compiler/rustc_trait_selection/src/solve/inspect/analyse.rs#L75-L84\n\nSo instead, make `TraitEngine` and `ObligationCtxt` generic over `E: FulfillmentErrorLike<'tcx>`, and introduce a new `ScrubbedTraitError` which only stores whether the failure was due to a \"true error\" or an ambiguity. Then, introduce `ObligationCtxt::new_with_diagnostics` for the callsites that actually inspect their `FulfillmentError`s.\n\nr? `@lcnr`\n\nNumber-wise, there are:\n```\n 39 ObligationCtxt::new\n 32 ObligationCtxt::new_with_diagnostics\n 1 ObligationCtxt::new_generic\n```\ncalls to each `ObligationCtxt` constructor, which suggests that there are indeed a lot of callsites that don't care about diagnostics.","shortMessageHtmlLink":"Auto merge of #125864 - compiler-errors:opt-in-error-reporting, r=lcnr"}},{"before":"1d52972dd8592edf4026aa577c8ce69acc0ac2d1","after":"8768db9912af2dc70651156bb638b09dc2cec630","ref":"refs/heads/master","pushedAt":"2024-06-03T12:42:19.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 #125912 - nnethercote:rustfmt-tests-mir-opt, r=oli-obk\n\nrustfmt `tests/mir-opt`\n\nContinuing the work started in #125759. Details in individual commit log messages.\n\nr? `@oli-obk`","shortMessageHtmlLink":"Auto merge of #125912 - nnethercote:rustfmt-tests-mir-opt, r=oli-obk"}},{"before":"621e957b4dadab49e6ffab075bd24865ec277289","after":"1d52972dd8592edf4026aa577c8ce69acc0ac2d1","ref":"refs/heads/master","pushedAt":"2024-06-03T10:24:06.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 #125778 - estebank:issue-67100, r=compiler-errors\n\nUse parenthetical notation for `Fn` traits\n\nAlways use the `Fn(T) -> R` format when printing closure traits instead of `Fn<(T,), Output = R>`.\n\nAddress #67100:\n\n```\nerror[E0277]: expected a `Fn()` closure, found `F`\n --> file.rs:6:13\n |\n6 | call_fn(f)\n | ------- ^ expected an `Fn()` closure, found `F`\n | |\n | required by a bound introduced by this call\n |\n = note: wrap the `F` in a closure with no arguments: `|| { /* code */ }`\nnote: required by a bound in `call_fn`\n --> file.rs:1:15\n |\n1 | fn call_fn ()>(f: &F) {\n | ^^^^^^^^^^ required by this bound in `call_fn`\nhelp: consider further restricting this bound\n |\n5 | fn call_any(f: &F) {\n | ++++++\n```","shortMessageHtmlLink":"Auto merge of #125778 - estebank:issue-67100, r=compiler-errors"}},{"before":"865eaf96be4d5e746676cb46a31c33db2474bea2","after":"621e957b4dadab49e6ffab075bd24865ec277289","ref":"refs/heads/master","pushedAt":"2024-06-03T08:12:55.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 #125904 - workingjubilee:test-packed-simd-more, r=calebzulawski\n\nTest codegen for `repr(packed,simd)` -> `repr(simd)`\n\nThis adds the codegen test originally requested in #117116 but exploiting the collection of features in FileCheck and compiletest to make it more resilient to expectations being broken by optimization levels. Mostly by presetting optimization levels for each revision of the tests.\n\nI do not think the dereferenceable attribute's presence or absence is that important.\n\nr? `@calebzulawski`","shortMessageHtmlLink":"Auto merge of #125904 - workingjubilee:test-packed-simd-more, r=caleb…"}},{"before":"9f2d0b3490729ed65da73f64b28d8d1f197af113","after":"865eaf96be4d5e746676cb46a31c33db2474bea2","ref":"refs/heads/master","pushedAt":"2024-06-03T06:04:05.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 #125397 - gurry:125303-wrong-builder-suggestion, r=compiler-errors\n\nDo not suggest unresolvable builder methods\n\nFixes #125303\n\nThe issue was that when a builder method cannot be resolved we are suggesting alternatives that themselves cannot be resolved. This PR adds a check that filters them from the list of suggestions.","shortMessageHtmlLink":"Auto merge of #125397 - gurry:125303-wrong-builder-suggestion, r=comp…"}},{"before":"032af18af578f4283a2927fb43b90df2bbb72b67","after":"9f2d0b3490729ed65da73f64b28d8d1f197af113","ref":"refs/heads/master","pushedAt":"2024-06-03T02:09:52.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 #125057 - nnethercote:rustc_lint-cleanups, r=cjgillot\n\n`rustc_lint` cleanups\n\nMinor improvements I found while looking through this code.\n\nr? `@cjgillot`","shortMessageHtmlLink":"Auto merge of #125057 - nnethercote:rustc_lint-cleanups, r=cjgillot"}},{"before":"a6416d8907bc94ef1a032d54cb0443cde963e455","after":"032af18af578f4283a2927fb43b90df2bbb72b67","ref":"refs/heads/master","pushedAt":"2024-06-03T00:00:48.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 #125902 - workingjubilee:rollup-f8x6iif, r=workingjubilee\n\nRollup of 6 pull requests\n\nSuccessful merges:\n\n - #121062 (Change f32::midpoint to upcast to f64)\n - #125808 (Migrate `run-make/c-link-to-rust-dylib` to `rmake.rs`)\n - #125884 (Implement feature `integer_sign_cast`)\n - #125890 (Improve compiletest expected/not found formatting)\n - #125896 (compiletest: fix outdated rmake.rs comment)\n - #125898 (typo: depending from -> on)\n\nr? `@ghost`\n`@rustbot` modify labels: rollup","shortMessageHtmlLink":"Auto merge of #125902 - workingjubilee:rollup-f8x6iif, r=workingjubilee"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXle9ZQA","startCursor":null,"endCursor":null}},"title":"Activity · rust-lang/rust"}