about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2024-10-25Clear more `eval_libc` errors from unix shimsNoah Bright-53/+28
2024-10-22Merge pull request #3981 from Kobzol/ci-merge-queueMarco Ieni-23/+16
Switch CI to merge queues
2024-10-22Switch CI to merge queuesJakub Beránek-23/+16
2024-10-22Auto merge of #3982 - RalfJung:epoll_ctl, r=RalfJungbors-11/+4
epoll_ctl: throw unsupported error on unsupported opcode `@tiif` this is a somewhat suspicious "return -1" without setting the `errno` -- what is the reasoning behind that? Throwing a clear error seems better to me.
2024-10-22Auto merge of #3985 - rust-lang:rustup-2024-10-22, r=RalfJungbors-3352/+2810
Automatic Rustup
2024-10-22fmtThe Miri Cronjob Bot-8/+4
2024-10-22Merge from rustcThe Miri Cronjob Bot-3348/+2810
2024-10-22Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-10-21Auto merge of #131840 - compiler-errors:impossible-maybe, r=lcnrbors-12/+22
Dont consider predicates that may hold as impossible in `is_impossible_associated_item` Use infer vars to account for ambiguities when considering if methods are impossible to instantiate for a given self type. Also while we're at it, let's use the new trait solver instead of `evaluate` since this is used in rustdoc. r? lcnr Fixes #131839
2024-10-21Auto merge of #131570 - ehuss:update-xcode, r=Mark-Simulacrumbors-8/+8
(ci) Update macOS Xcode to 15 This updates the macOS builders to Xcode 15. The aarch64 images will be removing Xcode 14 and 16 very soon (https://github.com/actions/runner-images/issues/10703), so we will need to make the switch to continue operating. The linked issue also documents GitHub's new policy for how they will be updating Xcode in the future. Also worth being aware of is the future plans for x86 runners documented in https://github.com/actions/runner-images/issues/9255 and https://github.com/actions/runner-images/issues/10686, which will impact our future upgrade behaviors. I decided to also update the Xcode in the x86_64 runners, even though they are not being removed. It felt better to me to have all macOS runners on the same (major) version of Xcode. However, note that the x86_64 runners do not have the latest version of 15 (15.4), so I left them at 15.2 (which is currently the default Xcode of the runner). Xcode 15 was previously causing problems (see #121058) which seem to be resolved now. `@bjorn3` fixed the `invalid r_symbolnum` issue with cranelift. The issue with clang failing to link seems to be fixed, possibly by the update of the pre-built LLVM from 14 to llvm 15 in https://github.com/rust-lang/rust/pull/124850, or an update in our source version of LLVM. I have run some try builds and at least LLVM seems to build (I did not run any tests). Closes #121058
2024-10-21Update debuginfo test for newer lldbEric Huss-3/+3
For reasons I don't understand, lldb in Xcode 15 no longer prints objects as: (long) $0 = 19 instead, it is printing them as: (long) 19
2024-10-21Auto merge of #132005 - matthiaskrgr:rollup-ced4upi, r=matthiaskrgrbors-560/+613
Rollup of 7 pull requests Successful merges: - #130350 (stabilize Strict Provenance and Exposed Provenance APIs) - #131737 (linkchecker: add a reminder on broken links to add new/renamed pages to `SUMMARY.md` for mdBooks) - #131991 (test: Add test for trait in FQS cast, issue #98565) - #131997 (Make `rustc_abi` compile on stable again) - #131999 (Improve test coverage for `unit_bindings` lint) - #132001 (fix coherence error for very large tuples™) - #132003 (update ABI compatibility docs for new option-like rules) r? `@ghost` `@rustbot` modify labels: rollup
2024-10-21Rollup merge of #132003 - RalfJung:abi-compat-docs, r=traviscrossMatthias Krüger-3/+5
update ABI compatibility docs for new option-like rules Documents the rules decided [here](https://github.com/rust-lang/rust/pull/130628#issuecomment-2402761599) for our ABI compatibility rules. Long-term this should be moved to the reference, but for now this is what we got. Cc `@rust-lang/lang` `@rust-lang/opsem`
2024-10-21Rollup merge of #132001 - lcnr:stabilize-coherence-again, r=compiler-errorsMatthias Krüger-28/+94
fix coherence error for very large tuples™ see https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/diesel.20error for an in-depth explanation of this issue. We once again specialize `NormalizesTo` goals to avoid the impact of erasing their expected term. fixes #131969 r? `@compiler-errors`
2024-10-21Rollup merge of #131999 - jieyouxu:unit-bindings, r=WaffleLapkinMatthias Krüger-0/+100
Improve test coverage for `unit_bindings` lint Follow-up to #112380, apparently at the time I didn't add much of any test coverage outside of just "generally works as intended on the test suites and in the crater run". r? compiler
2024-10-21Rollup merge of #131997 - Veykril:veykril/push-upvqkyxmvkzw, r=jieyouxuMatthias Krüger-15/+27
Make `rustc_abi` compile on stable again https://github.com/rust-lang/rust/pull/131473 accidentally broke this
2024-10-21Rollup merge of #131991 - jannden:issue-98565-test, r=jieyouxuMatthias Krüger-0/+24
test: Add test for trait in FQS cast, issue #98565 Closes #98565 by adding a test to check for diagnostics when the built-in type `str` is used in a cast where a trait is expected.
2024-10-21Rollup merge of #131737 - jieyouxu:note-summary, r=ehussMatthias Krüger-0/+11
linkchecker: add a reminder on broken links to add new/renamed pages to `SUMMARY.md` for mdBooks I spent an embarrassingly long amount of time trying to figure out why CI was failing for a PR adding new platform support docs. In turns out it's because the PR author didn't register the new page in `SUMMARY.md`. I completely forgot about it too, and was reading linkchecker source because I thought it was a bug in linkchecker. So this PR adds a note to modify `SUMMARY.md` when adding new pages in a mdBook. E.g. ``` # Adding a new `meow` target but forgor to register the page in `SUMMARY.md` rustc\platform-support.html:183: broken link - `rustc\platform-support\meow.html` rustc\print.html:9730: broken link - `rustc\platform-support\meow.html` checked links in: 19.1s number of HTML files scanned: 43588 number of HTML redirects found: 13735 number of links checked: 3145951 number of links ignored due to external: 156244 number of links ignored due to exceptions: 9 number of intra doc links ignored: 8 errors found: 2 NOTE: if you are adding or renaming a markdown file in a mdBook, don't forget to register the page in SUMMARY.md found some broken links ```
2024-10-21Rollup merge of #130350 - RalfJung:strict-provenance, r=dtolnayMatthias Krüger-514/+352
stabilize Strict Provenance and Exposed Provenance APIs Given that [RFC 3559](https://rust-lang.github.io/rfcs/3559-rust-has-provenance.html) has been accepted, t-lang has approved the concept of provenance to exist in the language. So I think it's time that we stabilize the strict provenance and exposed provenance APIs, and discuss provenance explicitly in the docs: ```rust // core::ptr pub const fn without_provenance<T>(addr: usize) -> *const T; pub const fn dangling<T>() -> *const T; pub const fn without_provenance_mut<T>(addr: usize) -> *mut T; pub const fn dangling_mut<T>() -> *mut T; pub fn with_exposed_provenance<T>(addr: usize) -> *const T; pub fn with_exposed_provenance_mut<T>(addr: usize) -> *mut T; impl<T: ?Sized> *const T { pub fn addr(self) -> usize; pub fn expose_provenance(self) -> usize; pub fn with_addr(self, addr: usize) -> Self; pub fn map_addr(self, f: impl FnOnce(usize) -> usize) -> Self; } impl<T: ?Sized> *mut T { pub fn addr(self) -> usize; pub fn expose_provenance(self) -> usize; pub fn with_addr(self, addr: usize) -> Self; pub fn map_addr(self, f: impl FnOnce(usize) -> usize) -> Self; } impl<T: ?Sized> NonNull<T> { pub fn addr(self) -> NonZero<usize>; pub fn with_addr(self, addr: NonZero<usize>) -> Self; pub fn map_addr(self, f: impl FnOnce(NonZero<usize>) -> NonZero<usize>) -> Self; } ``` I also did a pass over the docs to adjust them, because this is no longer an "experiment". The `ptr` docs now discuss the concept of provenance in general, and then they go into the two families of APIs for dealing with provenance: Strict Provenance and Exposed Provenance. I removed the discussion of how pointers also have an associated "address space" -- that is not actually tracked in the pointer value, it is tracked in the type, so IMO it just distracts from the core point of provenance. I also adjusted the docs for `with_exposed_provenance` to make it clear that we cannot guarantee much about this function, it's all best-effort. There are two unstable lints associated with the strict_provenance feature gate; I moved them to a new [strict_provenance_lints](https://github.com/rust-lang/rust/issues/130351) feature since I didn't want this PR to have an even bigger FCP. ;) `@rust-lang/opsem` Would be great to get some feedback on the docs here. :) Nominating for `@rust-lang/libs-api.` Part of https://github.com/rust-lang/rust/issues/95228. [FCP comment](https://github.com/rust-lang/rust/pull/130350#issuecomment-2395114536)
2024-10-21don't bail when encountering many placeholderslcnr-15/+21
2024-10-21epoll_ctl: throw unsupported error on unsupported opcodeRalf Jung-11/+4
2024-10-21update ABI compatibility docs for new option-like rulesRalf Jung-3/+5
2024-10-21Auto merge of #130987 - thejpster:revise-arm-platform-notes-soft-float, r=ehussbors-22/+45
Revise arm platform notes regarding soft float This PR updates the Arm microcontroller platform docs to recommend `-fpregs` instead of `+soft-float` as [discussed on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/.60-Ctarget-feature.3D.2Bsoft-float.60.20considered.20harmful)
2024-10-21normalizes-to disable infer var checklcnr-14/+74
2024-10-21Auto merge of #3899 - YohDeadfall:prctl-thread-name, r=RalfJungbors-7/+185
Android: Added support for prctl handling thread names Addresses the first part of #3618.
2024-10-21move strict provenance lints to new feature gate, remove old feature gatesRalf Jung-127/+40
2024-10-21stabilize Strict Provenance and Exposed ProvenanceRalf Jung-387/+312
This comes with a big docs rewrite.
2024-10-21Auto merge of #3941 - noahmbright:unix_shims, r=oli-obkbors-74/+42
Replace set_last_error with set_last_error_and_return Took care of the simple patterns. Other patterns involved setting an error and then using `write_int` or setting metadata and returning -1. Unsure if those are in the scope of this change Looks like this has conflicts with #3779, so I can update when how to handle that is decided. Part of https://github.com/rust-lang/miri/issues/3930.
2024-10-21unit_bindings: improve test coverage许杰友 Jieyou Xu (Joe)-0/+100
2024-10-21Make rustc_abi compile on stable againLukas Wirth-15/+23
2024-10-21Add rustc_abi and rustc_parse_format to rustc-crates-on-stable testLukas Wirth-0/+4
2024-10-21Auto merge of #131972 - klensy:FindFirstFileExW, r=ChrisDentonbors-14/+41
speedup directory traversal on windows Optimizes walking over dirs on windows by replacing `FindFirstFileW` with `FindFirstFileExW` with `FindExInfoBasic` option, that allows skipping filling unused struct field which should be faster. Also adds the same change for fallback call of `FindFirstFileExW` in metadata call. Locally shows small speedup, but bench results from other users are welcome.
2024-10-21Added support for prctl handling thread namesYoh Deadfall-7/+185
2024-10-21Replace `set_last_error` with `set_last_error_and_return_i*`Noah Bright-74/+42
Add `set_last_error_and_return_i64`, change calls from `this.libc_eval` to `LibcError`, and replace pairs of `set_last_error` and returning values of the right type with the new helper functions
2024-10-21test: Add test for trait in FQS cast, issue #98565Jan Cibulka-0/+24
2024-10-21Auto merge of #130628 - workingjubilee:clean-up-result-ffi-guarantees, ↵bors-500/+165
r=RalfJung Finish stabilization of `result_ffi_guarantees` The internal linting has been changed, so all that is left is making sure we stabilize what we want to stabilize.
2024-10-21lang: Strengthen RFC 3391 guarantees to match T-lang consensusJubilee Young-0/+71
2024-10-21Auto merge of #131988 - matthiaskrgr:rollup-tx173wn, r=matthiaskrgrbors-1752/+1385
Rollup of 4 pull requests Successful merges: - #126588 (Added more scenarios where comma to be removed in the function arg) - #131728 (bootstrap: extract builder cargo to its own module) - #131968 (Rip out old effects var handling code from traits) - #131981 (Remove the `BoundConstness::NotConst` variant) r? `@ghost` `@rustbot` modify labels: rollup
2024-10-21Rollup merge of #131981 - compiler-errors:bound-constness, r=cjgillotMatthias Krüger-41/+46
Remove the `BoundConstness::NotConst` variant I find it easier to represent `BoundConstness::NotConst` as just `None` for some refactorings I'm doing.
2024-10-21Rollup merge of #131968 - compiler-errors:old-effect-handling, r=fee1-deadMatthias Krüger-491/+34
Rip out old effects var handling code from traits Traits no longer have an effect parameter, so this removes logic associated with it. It also removes logic surrounding confirming `~const Destruct` bounds, which I added a looooong time ago, and which I don't feel like we need anymore -- if it needs to be added back, it should be rewritten :D cc `@fee1-dead`
2024-10-21Rollup merge of #131728 - jieyouxu:boopstrap, r=onur-ozkanMatthias Krüger-1211/+1229
bootstrap: extract builder cargo to its own module I was looking at our cargo rustflags/rustdocflags usages, and I found `builder.rs` to be a large file which made it hard to digest. This PR tries to break out the cargo command wrapper parts to its own submodule to make it easier to identify builder cargo-specific logic. This PR: - Extracts the cargo command wrapper to its own module and also move `Builder::{bare_,}cargo` impl to the submodule. - Reorganizes some imports in `lib.rs` (no functional changes). - Slightly adjusts some docs in `builder.rs`. This PR is basically just moving code around, and should not contain any functional changes. Before this PR, `builder.rs` was 2743 lines. After this PR, `builder.rs` is down to a more manageable 1386 lines and `cargo.rs` is 1085 lines.
2024-10-21Rollup merge of #126588 - linyihai:trim-extra-comma, r=petrochenkovMatthias Krüger-9/+76
Added more scenarios where comma to be removed in the function arg This is an attempt to address the problem methion in https://github.com/rust-lang/rust/issues/106304#issuecomment-1837273666. Copy the annotation to explain the fix If the next Error::Extra ("next") doesn't next to current ("current") ``` fn foo(_: (), _: u32) {} - foo("current", (), 1u32, "next") + foo((), 1u32) ``` If the previous error is not a `Error::Extra`, then do not trim the next comma ``` - foo((), "current", 42u32, "next") + foo((), 42u32) ``` Frankly, this is a fix from a test case and may not cover all scenarios
2024-10-21Auto merge of #130950 - compiler-errors:yeet-eval, r=BoxyUwUbors-338/+407
Continue to get rid of `ty::Const::{try_}eval*` This PR mostly does: * Removes all of the `try_eval_*` and `eval_*` helpers from `ty::Const`, and replace their usages with `try_to_*`. * Remove `ty::Const::eval`. * Rename `ty::Const::normalize` to `ty::Const::normalize_internal`. This function is still used in the normalization code itself. * Fix some weirdness around the `TransmuteFrom` goal. I'm happy to split it out further; for example, I could probably land the first part which removes the helpers, or the changes to codegen which are more obvious than the changes to tools. r? BoxyUwU Part of https://github.com/rust-lang/rust/issues/130704
2024-10-21bootstrap: move `builder.rs` under `builder/` directory许杰友 Jieyou Xu (Joe)-0/+0
2024-10-21bootstrap: minor docs cleanup许杰友 Jieyou Xu (Joe)-12/+15
2024-10-21bootstrap: extract builder cargo to its own module许杰友 Jieyou Xu (Joe)-1211/+1226
I found builder.rs to be a massive file which made it hard to digest. To make `RUSTFLAGS` usage hardening easier later, I extracted the cargo part in `builder.rs` into its own module.
2024-10-21Auto merge of #120869 - devnexen:update_fbsd_ci, r=Mark-Simulacrumbors-20/+20
ci update freebsd version proposal, freebsd 12 being eol raising to the lowest still active supported freebsd version. From 13.1 (already eol too), freebsd introduces a cpu affinity layer with linux. It also introduces a api compatible copy_file_range which can be used like its linux's counterpart. The former is essential to build https://github.com/rust-lang/rust/pull/120589, therefore breaks the backward compatibility with the previous FreeBSD releases. Blocked on https://github.com/rust-lang/rust/issues/130465
2024-10-20Auto merge of #131980 - matthiaskrgr:rollup-iy5nw71, r=matthiaskrgrbors-121/+158
Rollup of 5 pull requests Successful merges: - #131814 (`optimize` attribute applied to things other than methods/functions/c…) - #131927 (Check for filecheck directives in files marked `skip-filecheck`) - #131967 (Remove `lower_mono_bounds`) - #131973 (fix(rustdoc-json-types): document rustc-hash feature) - #131976 (feat(rustdoc-json-types): mark simple enums as copy) r? `@ghost` `@rustbot` modify labels: rollup
2024-10-20Rollup merge of #131976 - jalil-salame:rustdoc-types-copy-enums, r=aDotInTheVoidMatthias Krüger-7/+7
feat(rustdoc-json-types): mark simple enums as copy Fixes rust-lang/rustdoc-types#26 and some typos in the documentation r? `@aDotInTheVoid` I have been assigning these PRs to you `@aDotInTheVoid,` is that okay? I think I'm out of PRs for now, but for future reference c:
2024-10-20Rollup merge of #131973 - jalil-salame:rustdoc-types-document-feature, ↵Matthias Krüger-0/+12
r=aDotInTheVoid fix(rustdoc-json-types): document rustc-hash feature The `rustc-hash` feature is publicly exposed by the `rustdoc-types`. It is already documented in that crate's README and Cargo.toml, but we might as well add some information to the crate docs themselves c: Follow up to: - #131936 - [rust-lang/rustdoc-types#42][1] [1]: https://github.com/rust-lang/rustdoc-types/pull/42 r? `@aDotInTheVoid`