about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-05-26Minor macro docs fixesMarcelo Domínguez-5/+6
2025-05-21Update generic testsMarcelo Domínguez-3/+3
2025-05-21Update UI testsMarcelo Domínguez-132/+101
2025-05-21Initial naive implementation using `Symbols` to represent autodiff modes ↵Marcelo Domínguez-8/+22
(`Forward`, `Reverse`) Since the mode is no longer part of `meta_item`, we must insert it manually (otherwise macro expansion with `#[rustc_autodiff]` won't work). This can be revised later if a more structured representation becomes necessary (using enums, annotated structs, etc). Some tests are currently failing. I'll address them next.
2025-05-21Update codegen and pretty testsMarcelo Domínguez-39/+39
UI tests are pending, will depend on error messages change.
2025-05-21Disable autodiff bootstrappingMarcelo Domínguez-28/+30
2025-05-20Split `autodiff` into `autodiff_forward` and `autodiff_reverse`Marcelo Domínguez-17/+48
Pending fix. ``` error: cannot find a built-in macro with name `autodiff_forward` --> library\core\src\macros\mod.rs:1542:5 | 1542 | / pub macro autodiff_forward($item:item) { 1543 | | /* compiler built-in */ 1544 | | } | |_____^ error: cannot find a built-in macro with name `autodiff_reverse` --> library\core\src\macros\mod.rs:1549:5 | 1549 | / pub macro autodiff_reverse($item:item) { 1550 | | /* compiler built-in */ 1551 | | } | |_____^ error: could not compile `core` (lib) due to 2 previous errors ```
2025-05-20Auto merge of #139916 - RalfJung:intrinsic-wrappers, r=Mark-Simulacrumbors-353/+336
make std::intrinsics functions actually be intrinsics Most of the functions in `std::intrinsics` are actually intrinsics, but some are not: for historical reasons, `std::intrinsics::{copy,copy_nonoverlapping,write_bytes}` are accessible on stable, and the versions in `std::ptr` are just re-exports. These functions are not intrinsics, but wrappers around the intrinsic, because they add extra debug assertions. This PR makes the functions in `std::intrinsics` actually be intrinsics. - The advantage is that we can now use it in tests that need to directly call the intrinsic, thus removing a footgun for compiler development. We also remove the extended user-facing doc comments of these functions out of a file that should be largely internal documentation. - The downside is that if users are using those functions directly, they will not get the debug assertions any more. Note however that those users are already ignoring a deprecation warning, so I think this is fine. Furthermore, if someone imports the `intrinsic` name of this function and turns that into a function pointer, that will no longer work, since only the wrapper functions can be turned into a function pointer. I would be rather surprised if anyone did this, though... and again, they must have already ignored a deprecation warning. Still, seems worth a crater run, if there's general agreement that we want to go ahead with this change. (`intrinsics::drop_in_place` also remains not-an-intrinsic, which bugs me, but oh well, not much we can do about it; we can't remove it from the module as the path is accidentally-stable.) Cc `@rust-lang/libs-api` `@saethlin`
2025-05-20make std::intrinsic functions actually be intrinsicsRalf Jung-353/+336
2025-05-20Auto merge of #141270 - Zalathar:rollup-jd1y1f6, r=Zalatharbors-56/+2
Rollup of 5 pull requests Successful merges: - #141211 (Replace `try_reserve_exact` with `try_with_capacity` in `std::fs::read`) - #141257 (trim cache module in utils bootstrap) - #141259 (Update books) - #141261 (current_dll_path: fix mistake in assertion message) - #141262 (Properly remove Noratrieb from review rotation) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-20Rollup merge of #141262 - Noratrieb:Noratrieb-patch-4, r=NoratriebStuart Cook-3/+0
Properly remove Noratrieb from review rotation I've put myself on vacation a while ago, but really I just want to remove myself from the queue because I couldn't get around to reviewing all the PRs, I'm still here and available :3.
2025-05-20Rollup merge of #141261 - RalfJung:current_dll_path, r=NoratriebStuart Cook-1/+1
current_dll_path: fix mistake in assertion message Follow-up to https://github.com/rust-lang/rust/pull/141239 r? `@Noratrieb`
2025-05-20Rollup merge of #141259 - rustbot:docs-update, r=ehussStuart Cook-0/+0
Update books ## rust-lang/book 4 commits in d33916341d480caede1d0ae57cbeae23aab23e88..230c68bc1e08f5f3228384a28cc228c81dfbd10d 2025-05-19 14:25:14 UTC to 2025-05-08 21:28:56 UTC - Chapter 6 from tech review (rust-lang/book#4370) - Chapter 5 from tech review (rust-lang/book#4359) - Chapter 4 from tech review (rust-lang/book#4358) - Chapter 3 from tech review (rust-lang/book#4353) ## rust-lang/reference 12 commits in 387392674d74656f7cb437c05a96f0c52ea8e601..acd0231ebc74849f6a8907b5e646ce86721aad76 2025-05-19 15:41:22 UTC to 2025-05-06 21:36:01 UTC - Add doc for avx512 target features (rust-lang/reference#1778) - Parse grammar without regexes (rust-lang/reference#1827) - Parse optionals and repeats without regexes (rust-lang/reference#1826) - Fix grammar for `RangePatternBound` regarding literals (rust-lang/reference#1825) - Fix grammar for `LiteralPattern` regarding `-` (rust-lang/reference#1824) - Doc: Add the LoongArch stabilized target features (rust-lang/reference#1707) - Fix naked em-dash (rust-lang/reference#1820) - Add missing attribute for statement macros (rust-lang/reference#1819) - Make linked rules are clicked, highlight the color (rust-lang/reference#1817) - Use the reference grammar for inline assembly (rust-lang/reference#1807) - Fix typo in introduction (rust-lang/reference#1810) - Add an example admonition (rust-lang/reference#1812) ## rust-lang/rust-by-example 2 commits in 8a8918c698534547fa8a1a693cb3e7277f0bfb2f..c9d151f9147c4808c77f0375ba3fa5d54443cb9e 2025-05-13 17:49:05 UTC to 2025-05-13 17:48:43 UTC - fix(docs): standardize on `no_run` attribute for documentation examples (rust-lang/rust-by-example#1929) - Fix typo in Japanese translation (rust-lang/rust-by-example#1928)
2025-05-20Rollup merge of #141257 - Shourya742:2025-05-19-trim-cache-module, r=onur-ozkanStuart Cook-50/+0
trim cache module in utils bootstrap We don't use other variants of Interner in bootstrap, so this PR streamlines the bootstrap cache utils module. r? `@onur-ozkan`
2025-05-20Rollup merge of #141211 - fluiderson:dev, r=thomccStuart Cook-2/+1
Replace `try_reserve_exact` with `try_with_capacity` in `std::fs::read` This change restores the previous behavior prior to #117925. That PR was made to handle OOM errors that turn into a panic with `Vec::with_capacity`. `try_reserve_exact` was used for that since there was no `try_with_capacity` method at the time. It was added later in #120504. I think it'd a better fit here.
2025-05-19Auto merge of #138023 - melrief:97227_impl_Seek_for_Take, r=tgross35bors-1/+173
Add `std::io::Seek` instance for `std::io::Take` Library tracking issue [#97227](https://github.com/rust-lang/rust/issues/97227). ACP: https://github.com/rust-lang/libs-team/issues/555 1. add a `len` field to `Take` to keep track of the original number of bytes that `Take` could read 2. add a `position()` method to return the current position of the cursor inside `Take` 3. implement `std::io::Seek` for `std::io::Take` Closes: https://github.com/rust-lang/libs-team/issues/555
2025-05-19Properly remove Noratrieb from review rotation nora-3/+0
I've put myself on vacation a while ago, but really I just want to remove myself from the queue because I couldn't get around to reviewing all the PRs, I'm still here and available :3.
2025-05-19current_dll_path: fix mistake in assertion messageRalf Jung-1/+1
2025-05-19Update booksrustbot-0/+0
2025-05-19trim cache module in utilsbit-aloo-50/+0
2025-05-19Auto merge of #141255 - matthiaskrgr:rollup-ravsgen, r=matthiaskrgrbors-56/+182
Rollup of 6 pull requests Successful merges: - #131200 (Handle `rustc_query_system` cases of `rustc::potential_query_instability` lint) - #141244 (windows: document that we rely on an undocumented property of GetUserProfileDirectoryW) - #141247 (skip compiler tools sanity checks on certain commands) - #141248 (fix data race in ReentrantLock fallback for targets without 64bit atomics) - #141249 (introduce common macro for `MutVisitor` and `Visitor` to dedup code) - #141253 (Warning added when dependency crate has async drop types, and the feature is disabled) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-19Rollup merge of #141253 - ↵Matthias Krüger-1/+55
azhogin:azhogin/async-drop-feature-inconsistency-warning, r=oli-obk Warning added when dependency crate has async drop types, and the feature is disabled In continue of https://github.com/rust-lang/rust/pull/141031. When dependency crate has non-empty `adt_async_destructor` table in metadata, and `async_drop` feature is disabled for local crate, warning will be emitted. Test `dependency-dropped` has two revisions - with and without feature enabled. With feature enabled, async drop for dropee is executed ("Async drop" printed). Without the feature enabled, sync drop is executed ("Sync drop" printed) and warning is emitted. Warning example: ``` warning: found async drop types in dependecy `async_drop_dep`, but async_drop feature is disabled for `dependency_dropped` --> $DIR/dependency-dropped.rs:7:1 | LL | #![cfg_attr(with_feature, feature(async_drop))] | ^ | = help: if async drop type will be dropped in a crate without `feature(async_drop)`, sync Drop will be used ```
2025-05-19Rollup merge of #141249 - fee1-dead-contrib:push-mwxxsvrsotvs, r=oli-obkMatthias Krüger-49/+73
introduce common macro for `MutVisitor` and `Visitor` to dedup code helps with #127615. I can do everything in one go but I figured it might be worth it to open a PR first for vibeck. r? oli-obk
2025-05-19Rollup merge of #141248 - RalfJung:reentrant-lock-race, r=joboetMatthias Krüger-2/+26
fix data race in ReentrantLock fallback for targets without 64bit atomics See [Zulip](https://rust-lang.zulipchat.com/#narrow/channel/269128-miri/topic/reentrant.20lock.20failure.20on.20musl) for details: the address used to identify a thread might get lazily allocated inside `tls_addr()`, so if we call that *after* doing the `tls_addr.load()` it is too late to establish synchronization with prior threads that used the same address -- the `load()` thus races with the `store()` by that prior thread, and might hence see outdated values, and then the entire logic breaks down. r? `@joboet`
2025-05-19Rollup merge of #141247 - onur-ozkan:141246, r=albertlarsan68Matthias Krüger-3/+17
skip compiler tools sanity checks on certain commands Closes #141246
2025-05-19Rollup merge of #141244 - RalfJung:GetUserProfileDirectoryW, r=ChrisDentonMatthias Krüger-0/+2
windows: document that we rely on an undocumented property of GetUserProfileDirectoryW r? `@ChrisDenton` Also see https://github.com/rust-lang/miri/pull/4332
2025-05-19Rollup merge of #131200 - ↵Matthias Krüger-1/+9
ismailarilik:handle-potential-query-instability-lint-for-rustc-query_system, r=fee1-dead Handle `rustc_query_system` cases of `rustc::potential_query_instability` lint This PR removes `#![allow(rustc::potential_query_instability)]` line from [`compiler/rustc_query_system/src/lib.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_query_system/src/lib.rs#L2) and converts `FxHash{Map,Set}` types into `FxIndex{Map,Set}` to suppress lint errors. A somewhat tracking issue: https://github.com/rust-lang/rust/issues/84447 r? `@compiler-errors`
2025-05-19Add `std::io::Seek` instance for `std::io::Take`Mario Pastorelli-1/+173
2025-05-19windows: document that we rely on an undocumented property of ↵Ralf Jung-0/+2
GetUserProfileDirectoryW
2025-05-19Warning added when dependency crate has async drop types, and the feature is ↵Andrew Zhogin-1/+55
disabled
2025-05-19add this to Miri's trophy caseRalf Jung-0/+1
2025-05-19fix data race in ReentrantLock fallback for targets without 64bit atomicsRalf Jung-2/+25
2025-05-19introduce common macro for `MutVisitor` and `Visitor` to dedup codeDeadbeef-49/+73
2025-05-19Auto merge of #141243 - Zalathar:rollup-x5xt80l, r=Zalatharbors-540/+563
Rollup of 5 pull requests Successful merges: - #140847 (coverage: Detect unused local file IDs to avoid an LLVM assertion) - #141117 (opt-dist: fix deprecated BOLT -icf=1 option) - #141225 (more ice tests) - #141239 (dladdr cannot leave dli_fname to be null) - #141242 (in `tests/ui/asm/aarch64/parse-error.rs`, only test cases specific to that target) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-19skip compiler tools sanity checks on certain commandsonur-ozkan-3/+17
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-19Rollup merge of #141242 - folkertdev:aarch64-asm-parse-errors, r=AmanieuStuart Cook-470/+7
in `tests/ui/asm/aarch64/parse-error.rs`, only test cases specific to that target this is more in line with the x86 parse error tests at https://github.com/rust-lang/rust/blob/master/tests/ui/asm/x86_64/x86_64_parse_error.rs. We could at this point use minicore so that these tests run no matter the host target? `tests/ui/asm/aarch64/parse-error.rs` was mostly a copy of https://github.com/rust-lang/rust/blob/master/tests/ui/asm/parse-error.rs, though a bit out of date. The only aarch64-specific tests are those that talk about register names. Here is a diff between those two files: ```diff --- <unnamed> +++ <unnamed> `@@` -1,4 +1,4 `@@` -//@ needs-asm-support +//@ only-aarch64 use std::arch::{asm, global_asm}; `@@` -36,36 +36,12 `@@` //~^ ERROR expected one of asm!("{}", options(), const foo); //~^ ERROR attempt to use a non-constant value in a constant - - // test that asm!'s clobber_abi doesn't accept non-string literals - // see also https://github.com/rust-lang/rust/issues/112635 - asm!("", clobber_abi()); - //~^ ERROR at least one abi must be provided asm!("", clobber_abi(foo)); //~^ ERROR expected string literal asm!("", clobber_abi("C" foo)); //~^ ERROR expected one of `)` or `,`, found `foo` asm!("", clobber_abi("C", foo)); //~^ ERROR expected string literal - asm!("", clobber_abi(1)); - //~^ ERROR expected string literal - asm!("", clobber_abi(())); - //~^ ERROR expected string literal - asm!("", clobber_abi(uwu)); - //~^ ERROR expected string literal - asm!("", clobber_abi({})); - //~^ ERROR expected string literal - asm!("", clobber_abi(loop {})); - //~^ ERROR expected string literal - asm!("", clobber_abi(if)); - //~^ ERROR expected string literal - asm!("", clobber_abi(do)); - //~^ ERROR expected string literal - asm!("", clobber_abi(<)); - //~^ ERROR expected string literal - asm!("", clobber_abi(.)); - //~^ ERROR expected string literal - asm!("{}", clobber_abi("C"), const foo); //~^ ERROR attempt to use a non-constant value in a constant asm!("", options(), clobber_abi("C")); `@@` -76,7 +52,15 `@@` //~^^ ERROR argument never used //~^^^ ERROR attempt to use a non-constant value in a constant //~^^^^ ERROR attempt to use a non-constant value in a constant - + asm!("", a = in("x0") foo); + //~^ ERROR explicit register arguments cannot have names + asm!("{a}", in("x0") foo, a = const bar); + //~^ ERROR attempt to use a non-constant value in a constant + asm!("{a}", in("x0") foo, a = const bar); + //~^ ERROR attempt to use a non-constant value in a constant + asm!("{1}", in("x0") foo, const bar); + //~^ ERROR positional arguments cannot follow named arguments or explicit register arguments + //~^^ ERROR attempt to use a non-constant value in a constant asm!("", options(), ""); //~^ ERROR expected one of asm!("{}", in(reg) foo, "{}", out(reg) foo); `@@` -109,13 +93,11 `@@` global_asm!("{}", const(reg) FOO); //~^ ERROR expected one of global_asm!("", options(FOO)); -//~^ ERROR expected one of `)`, `att_syntax`, or `raw`, found `FOO` -global_asm!("", options(FOO,)); -//~^ ERROR expected one of `)`, `att_syntax`, or `raw`, found `FOO` +//~^ ERROR expected one of global_asm!("", options(nomem FOO)); -//~^ ERROR expected one of `)` or `,`, found `FOO` +//~^ ERROR expected one of global_asm!("", options(nomem, FOO)); -//~^ ERROR expected one of `)`, `att_syntax`, or `raw`, found `FOO` +//~^ ERROR expected one of global_asm!("{}", options(), const FOO); global_asm!("", clobber_abi(FOO)); //~^ ERROR expected string literal `@@` -129,8 +111,6 `@@` //~^ ERROR `clobber_abi` cannot be used with `global_asm!` global_asm!("{}", options(), clobber_abi("C"), const FOO); //~^ ERROR `clobber_abi` cannot be used with `global_asm!` -global_asm!("", clobber_abi("C"), clobber_abi("C")); -//~^ ERROR `clobber_abi` cannot be used with `global_asm!` global_asm!("{a}", a = const FOO, a = const BAR); //~^ ERROR duplicate argument named `a` //~^^ ERROR argument never used `@@` -142,16 +122,3 `@@` //~^ ERROR asm template must be a string literal global_asm!("{1}", format!("{{{}}}", 0), const FOO, const BAR); //~^ ERROR asm template must be a string literal - -global_asm!("{}", in(reg)); -//~^ ERROR the `in` operand cannot be used with `global_asm!` -global_asm!("{}", out(reg)); -//~^ ERROR the `out` operand cannot be used with `global_asm!` -global_asm!("{}", lateout(reg)); -//~^ ERROR the `lateout` operand cannot be used with `global_asm!` -global_asm!("{}", inout(reg)); -//~^ ERROR the `inout` operand cannot be used with `global_asm!` -global_asm!("{}", inlateout(reg)); -//~^ ERROR the `inlateout` operand cannot be used with `global_asm!` -global_asm!("{}", label(reg)); -//~^ ERROR the `label` operand cannot be used with `global_asm!` ```
2025-05-19Rollup merge of #141239 - RalfJung:dladdr-fname, r=NoratriebStuart Cook-7/+5
dladdr cannot leave dli_fname to be null There are two places in the repo calling `dladdr`, and they are inconsistent wrt their assumption of whether the `dli_fname` field can be null. Let's make them consistent. I see nothing in the docs that allows it to be null, but just to be on the safe side let's make this an assertion so hopefully we get a report if that ever happens.
2025-05-19Rollup merge of #141225 - matthiaskrgr:crashes_may2015, r=compiler-errorsStuart Cook-0/+396
more ice tests try-job: aarch64-apple try-job: x86_64-msvc-1 try-job: x86_64-gnu try-job: dist-i586-gnu-i586-i686-musl try-job: test-various
2025-05-19Rollup merge of #141117 - klensy:opt-dist-icf, r=KobzolStuart Cook-1/+1
opt-dist: fix deprecated BOLT -icf=1 option Replaced deprecated `-icf=1` BOLT option. Spotted in recent CI run (https://github.com/rust-lang-ci/rust/actions/runs/15080898417/job/42397253162): ``` BOLT-WARNING: specifying numeric value "1" for option -icf is deprecated ``` Change was added in https://github.com/llvm/llvm-project/pull/116275 Btw, now there also exist new option `-icf=safe`, will be nice to try it too.
2025-05-19Rollup merge of #140847 - Zalathar:unused-local-file, r=SparrowLiiStuart Cook-62/+154
coverage: Detect unused local file IDs to avoid an LLVM assertion Each function's coverage metadata contains a *local file table* that maps local file IDs (used by the function's mapping regions) to global file IDs (shared by all functions in the same CGU). LLVM requires all local file IDs to have at least one mapping region, and has an assertion that will fail if it detects a local file ID with no regions. To make sure that assertion doesn't fire, we need to detect and skip functions whose metadata would trigger it. (This can't actually happen yet, because currently all of a function's spans must belong to the same file and expansion. But this will be an important edge case when adding expansion region support.)
2025-05-19Auto merge of #140754 - dpaoliello:cygwinpath, r=marcoienibors-3/+3
[win][CI] Convert paths to Windows format before adding to PATH While trying to get the `aarch64-msvc` build working correctly (#140136), I noticed that the `PATH` observed during the Rust steps of the build on Windows builds had some entries still in MinGW format, which means that Windows would not be able to use them correctly: From <https://github.com/rust-lang/rust/actions/runs/14606167901/job/40975555680#step:28:192> note the path for `ninja` and `sccache`. ``` PATH = Some(C:\a\rust\rust\src\ci\citool\../../../build/citool\debug\deps;C:\a\rust\rust\src\ci\citool\../../../build/citool\debug;C:\Users\runneradmin\.rustup\toolchains\stable-aarch64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib;C:\Program Files\Git\clangarm64/bin;C:\Program Files\Git\usr\bin;C:\Users\runneradmin\bin;/c/a/rust/rust/ninja;/c/a/rust/rust/sccache;C:\Users\runneradmin/.cargo/bin;C:\aliyun-cli;C:\vcpkg;C:\Program Files (x86)\NSIS\;C:\Program Files\Mercurial\;C:\hostedtoolcache\windows\stack\3.3.1\x64;C:\mingw64\bin;C:\Program Files\dotnet;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files (x86)\R\R-4.4.2\bin\x64;C:\SeleniumWebDrivers\GeckoDriver;C:\SeleniumWebDrivers\EdgeDriver\;C:\SeleniumWebDrivers\ChromeDriver;C:\Program Files (x86)\sbt\bin;C:\Program Files (x86)\GitHub CLI;C:\Program Files\Git\bin;C:\Program Files (x86)\pipx_bin;C:\npm\prefix;C:\hostedtoolcache\windows\go\1.21.13\arm64\bin;C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts;C:\hostedtoolcache\windows\Python\3.9.13\x64;C:\hostedtoolcache\windows\Ruby\3.0.7\x64\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\8.0.442-6\x64\bin;C:\Program Files (x86)\ImageMagick-7.1.1-Q16-HDRI;C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin;C:\ProgramData\kind;C:\ProgramData\Chocolatey\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\DTS\Binn\;C:\Program Files\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Microsoft SQL Server\160\DTS\Binn\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\ProgramData\chocolatey\lib\pulumi\tools\Pulumi\bin;C:\Program Files\CMake\bin;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.9\bin;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files\Git\clangarm64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\GitHub CLI\;c:\tools\php;C:\Program Files (x86)\sbt\bin;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Amazon\SessionManagerPlugin\bin\;C:\Program Files\Amazon\AWSSAMCLI\bin\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\LLVM\bin;C:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps) ``` The fix for this is to use `cygpath` to convert from the Cygwin format back to native Windows format before adding to the `PATH`. --- try-job: dist-aarch64-msvc try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: i686-msvc-1 try-job: i686-msvc-2 try-job: x86_64-mingw-1 try-job: x86_64-mingw-2 try-job: dist-i686-mingw
2025-05-19in aarch64 asm parse error tests, only test cases specific to that targetFolkert de Vries-470/+7
this is more in line with the x86 parse error tests. The cross-platform tests were more complete anyway
2025-05-19dladdr cannot leave dli_fname to be nullRalf Jung-7/+5
2025-05-19Auto merge of #141238 - Zalathar:rollup-zdqpazo, r=Zalatharbors-138/+292
Rollup of 4 pull requests Successful merges: - #140049 (fix autodiff macro on generic functions) - #140874 (make `rustc_attr_parsing` less dominant in the rustc crate graph) - #141094 (add regression test for rust-lang#101650) - #141110 ([std] fix the presentation of `split_off_mut` and `split_off` documentation) r? `@ghost` `@rustbot` modify labels: rollup
2025-05-19Rollup merge of #141110 - xizheyin:issue-141107, r=workingjubileeStuart Cook-2/+2
[std] fix the presentation of `split_off_mut` and `split_off` documentation Fixes #141107 r? libs
2025-05-19Rollup merge of #141094 - satler-git:issue-101650, r=lcnrStuart Cook-0/+24
add regression test for rust-lang#101650 closes #101650, which was already fixed.
2025-05-19Rollup merge of #140874 - mejrs:rads, r=WaffleLapkinStuart Cook-125/+142
make `rustc_attr_parsing` less dominant in the rustc crate graph It has/had a glob re-export of `rustc_attr_data_structures`, which is a crate much lower in the graph, and a lot of crates were using it *just* (or *mostly*) for that re-export, while they can rely on `rustc_attr_data_structures` directly. Previous graph: ![graph_1](https://github.com/user-attachments/assets/f4a5f13c-4222-4903-b56d-28c83511fcbd) Graph with this PR: ![graph_2](https://github.com/user-attachments/assets/1e053d9c-75cc-402b-84df-86229c98277a) The first commit keeps the re-export, and just changes the dependency if possible. The second commit is the "breaking change" which removes the re-export, and "explicitly" adds the `rustc_attr_data_structures` dependency where needed. It also switches over some src/tools/*. The second commit is actually a lot more involved than I expected. Please let me know if it's a better idea to back it out and just keep the first commit.
2025-05-19Rollup merge of #140049 - haenoe:fix-autodiff-generics, r=ZuseZ4Stuart Cook-11/+124
fix autodiff macro on generic functions heloo there! This short PR allows applying the `autodiff` macro to generic functions like this one. It only touches the frontend part, since the `rustc_autodiff` macro can already handle generics. ```rust #[autodiff(d_square, Reverse, Duplicated, Active)] fn square<T: std::ops::Mul<Output = T> + Copy>(x: &T) -> T { *x * *x } ``` Thanks to Manuel for creating an issue on this. For more information on this see #140032 r? `@ZuseZ4` As always: thanks for any piece of feedback!! Fixes: #140032 Tracking issue for autodiff: https://github.com/rust-lang/rust/issues/124509
2025-05-18Auto merge of #140154 - Berrysoft:cygwin-host, r=jieyouxubors-8/+20
Cygwin support in rustc This PR builds host rustc targeting cygwin. - [x] https://github.com/rust-lang/stacker/pull/122 - [x] https://github.com/nagisa/rust_libloading/pull/173 - [x] https://github.com/Detegr/rust-ctrlc/pull/131 - [x] https://github.com/rust-random/getrandom/pull/654 - [x] https://github.com/msys2/MSYS2-packages/issues/5350 - [x] https://github.com/rust-lang/rust/pull/140886 - [x] https://github.com/rust-lang/rust/pull/140921 - [x] https://github.com/rust-lang/rust/pull/140973 Currently supported: * rustc * rustdoc * rustfmt * clippy Blocking: * cargo: blocked by https://github.com/rust-lang/socket2/pull/568 * rust-analyzer: needs `cargo update`, fixed upstream ``` $ rustc --version --verbose rustc 1.88.0-dev binary: rustc commit-hash: unknown commit-date: unknown host: x86_64-pc-cygwin release: 1.88.0-dev LLVM version: 20.1.4 ```
2025-05-18Auto merge of #127013 - tgross35:f16-format-parse, r=Mark-Simulacrumbors-86/+647
Add `f16` formatting and parsing Use the same algorithms as for `f32` and `f64` to implement `f16` parsing and printing. try-job: x86_64-gnu-aux