Skip to content

Rollup of 7 pull requests - #163517

Closed
tgross35 wants to merge 35 commits into
rust-lang:mainfrom
tgross35:rollup-NSPErES
Closed

tgross35 wants to merge 35 commits into
rust-lang:mainfrom
tgross35:rollup-NSPErES

Conversation

@tgross35

@tgross35 tgross35 commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

GuillaumeGomez and others added 30 commits September 24, 2026 13:00
This is a part of the stack-protector work.

Adding support for merge-functions is not strictly needed, but it does
prevent breakage if the GCC function merging logic changes.

Not adding tests for -Z merge-functions since I don't see any such tests for the
LLVM side of it.
Remove rustc_hir's attribute re-exports

Followup to rust-lang#160336, see also rust-lang#163170, rust-lang#163207 and rust-lang/rust-clippy/pull/17714

Very minor touchups here and there, nothing involving code changes.

r? @JonathanBrouwer
Rustc already defaults to this for regular items whenever possible.
Overriding it would only lead to linker errors. And for
depending on the exact codegen unit partitioning rustc uses, so there it
is a bad idea to use it too.
Rustc already defaults to this for #[no_mangle]/#[export_name] items.
There is no reason to explicitly use it.
A common definition is like a weak definition except that it must be a
zero-initialized static and when merging two common symbols with the
same name, the size and alignment are set to the higher of both symbols.
This is used for tentative definitions in C and doesn't have any reason
to exist outside of that. This behavior doesn't work across dylibs and
common symbols have inconsistent behavior across linkers [1]. It is also
fragile to rely on getting the largest size of all common symbol
definitions as a (possibly smaller) global definition can override it.

Link: https://maskray.me/blog/all-about-common-symbols [1]
Allow writing

```rust
struct Diagnostic {
    #[primary_span]
    #[label("label text")]
    span: Span,
    #[context]
    context: Span,
}
```

So that the code pointed at by `context` is shown in the rendered diagnostic without an underline.
```
error[E0201]: duplicate definitions with name `Bar`:
  --> $DIR/associated-item-duplicate-names-3.rs:14:5
   |
LL | trait Foo {
LL |     type Bar;
   |     --------- item in trait
...
LL | impl Foo for Baz {
LL |     type Bar = i16;
   |     --------------- previous definition here
LL |     type Bar = u16;
   |     ^^^^^^^^^^^^^^^ duplicate definition
```
```
error[E0324]: item `RESOLVED_WRONG` is an associated method, which doesn't match its trait `MyTrait`
  --> $DIR/unresolved-trait-impl-item.rs:12:5
   |
LL | trait MyTrait {
LL |     async fn resolved(&self);
LL |     const RESOLVED_WRONG: u8 = 0;
   |     ----------------------------- item in trait
...
LL | impl MyTrait for i32 {
...
LL |     async fn RESOLVED_WRONG() {}
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ does not match trait
```
```
error: `impl` item signature doesn't match `trait` item signature
  --> $DIR/self-without-lifetime-constraint.rs:46:5
   |
LL | pub trait FromSql: Sized {
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self, &Self>;
   |     -------------------------------------------------------------------- expected `fn(ValueRef<'1>) -> Result<(&'2 str, &'1 &'2 str), _>`
...
LL | impl FromSql for &str {
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<&str, &&str> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), _>`
   |
   = note: expected signature `fn(ValueRef<'1>) -> Result<(&'2 str, &'1 &'2 str), FromSqlError>`
              found signature `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), FromSqlError>`
help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait`
  --> $DIR/self-without-lifetime-constraint.rs:42:60
   |
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self, &Self>;
   |                                                            ^^^^ consider borrowing this type parameter in the trait
```
…r=clarfonthey"

This reverts commit 0a4206a, reversing
changes made to 8f3a9a1.
also includes:
- std::env::split_paths_ref
- std::os::{darwin|unix|windows}::{Home|Media}DirsExt
based on proposal by tgross35
Add `std::fs::{Home|Media}Dirs`

- ACP: rust-lang/libs-team#830

Replacement for `std::os::unix::xdg` as suggested by libs-api in rust-lang#157515 (comment). Exposes media directories common between the three big OSes in addition to the cache/config/data/state directories under a separate feature gate. API summary:

```rust
// mod std::fs
pub struct HomeDirs { /* ... */ }
impl HomeDirs {
    fn empty() -> Self;

    pub fn config_home(&self) -> Option<&Path>;
    pub fn data_home(&self) -> Option<&Path>;
    pub fn state_home(&self) -> Option<&Path>;
    pub fn cache_home(&self) -> Option<&Path>;

    pub fn set_config_home(&mut self, path: PathBuf) -> &mut Self;
    pub fn set_data_home(&mut self, path: PathBuf) -> &mut Self;
    pub fn set_state_home(&mut self, path: PathBuf) -> &mut Self;
    pub fn set_cache_home(&mut self, path: PathBuf) -> &mut Self;
}

pub struct MediaDirs { /* ... */ }
impl MediaDirs {
    pub fn empty() -> Self;

    pub fn desktop(&self) -> Option<&Path>;
    pub fn documents(&self) -> Option<&Path>;
    pub fn downloads(&self) -> Option<&Path>;
    pub fn music(&self) -> Option<&Path>;
    pub fn pictures(&self) -> Option<&Path>;
    pub fn videos(&self) -> Option<&Path>;

    pub fn set_desktop(&mut self, path: PathBuf) -> &mut Self;
    pub fn set_documents(&mut self, path: PathBuf) -> &mut Self;
    pub fn set_downloads(&mut self, path: PathBuf) -> &mut Self;
    pub fn set_music(&mut self, path: PathBuf) -> &mut Self;
    pub fn set_pictures(&mut self, path: PathBuf) -> &mut Self;
    pub fn set_videos(&mut self, path: PathBuf) -> &mut Self;
}

// mod std::os::darwin::fs
impl HomeDirsExt for HomeDirs { /* ... */ }
pub impl(self) trait HomeDirsExt {
    fn sysdir() -> io::Result<Self>;
}

impl MediaDirsExt for MediaDirs { /* ... */ }
pub impl(self) trait MediaDirsExt {
    fn sysdir() -> io::Result<Self>;
}

// mod std::os::unix::fs
impl HomeDirsExt for HomeDirs { /* ... */ }
pub impl(self) trait HomeDirsExt {
    fn xdg() -> io::Result<Self>;

    fn runtime_home(&self) -> Option<&Path>;
    fn config_dirs(&self) -> Option<XdgDirs<'_>>;
    fn data_dirs(&self) -> Option<XdgDirs<'_>>;

    fn set_runtime_home(&mut self, path: PathBuf) -> &mut Self;
    fn set_config_dirs(&mut self, paths: OsString) -> &mut Self;
    fn set_data_dirs(&mut self, paths: OsString) -> &mut Self;
}

impl MediaDirsExt for MediaDirs { /* ... */ }
pub impl(self) trait MediaDirsExt {
    fn xdg() -> io::Result<Self>;

    fn templates(&self) -> Option<&Path>;
    fn set_templates(&mut self, path: PathBuf) -> &mut Self;
}

pub struct XdgDirs<'a> { /* ... */ }
impl Iterator for XdgDirs<'a> {
    type Item = &'a Path;
    /* ... */
}

// mod std::os::windows::fs
impl HomeDirsExt for HomeDirs { /* ... */ }
pub impl(self) trait HomeDirsExt {
    fn appdata_env() -> io::Result<Self>;
    fn known_folders() -> io::Result<Self>;
}

impl MediaDirsExt for MediaDirs { /* ... */ }
pub impl(self) trait MediaDirsExt {
    fn known_folders() -> io::Result<Self>;
}
```
…, r=petrochenkov

Add support for span context to `derive(Diagnostic)` and use it

Allow writing

```rust
struct Diagnostic {
    #[primary_span]
    #[label("label text")]
    span: Span,
    #[context]
    context: Span,
}
```

So that the code pointed at by `context` is shown in the rendered diagnostic without an underline.

Point at enclosing item(s) on unexpected item type:

```
error: expected type, found constant
  --> $DIR/consts.rs:2:19
   |
LL | pub fn accept(
LL |     _: impl Trait<K: Copy>
   |                   ^------ bounds are not allowed on associated constants
   |                   |
   |                   unexpected constant
   |
note: the associated constant is defined here
  --> $DIR/consts.rs:7:5
   |
LL |     const K: i32;
   |     ^^^^^^^^^^
```

Show trait/impl for duplicate impl associated items
```
error[E0201]: duplicate definitions with name `Bar`:
  --> $DIR/associated-item-duplicate-names-3.rs:14:5
   |
LL | trait Foo {
LL |     type Bar;
   |     --------- item in trait
...
LL | impl Foo for Baz {
LL |     type Bar = i16;
   |     --------------- previous definition here
LL |     type Bar = u16;
   |     ^^^^^^^^^^^^^^^ duplicate definition
```

Point at trait/impl on associated item mismatch
```
error[E0324]: item `RESOLVED_WRONG` is an associated method, which doesn't match its trait `MyTrait`
  --> $DIR/unresolved-trait-impl-item.rs:12:5
   |
LL | trait MyTrait {
LL |     async fn resolved(&self);
LL |     const RESOLVED_WRONG: u8 = 0;
   |     ----------------------------- item in trait
...
LL | impl MyTrait for i32 {
...
LL |     async fn RESOLVED_WRONG() {}
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ does not match trait
```
On `impl` item signature mismatch, point at impl and trait
```
error: `impl` item signature doesn't match `trait` item signature
  --> $DIR/self-without-lifetime-constraint.rs:46:5
   |
LL | pub trait FromSql: Sized {
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self, &Self>;
   |     -------------------------------------------------------------------- expected `fn(ValueRef<'1>) -> Result<(&'2 str, &'1 &'2 str), _>`
...
LL | impl FromSql for &str {
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<&str, &&str> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), _>`
   |
   = note: expected signature `fn(ValueRef<'1>) -> Result<(&'2 str, &'1 &'2 str), FromSqlError>`
              found signature `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), FromSqlError>`
help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait`
  --> $DIR/self-without-lifetime-constraint.rs:42:60
   |
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self, &Self>;
   |                                                            ^^^^ consider borrowing this type parameter in the trait
```
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic O-apple Operating system: Apple / Darwin (macOS, iOS, tvOS, visionOS, watchOS) O-unix Operating system: Unix-like O-windows Operating system: Windows S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Sep 30, 2026
@tgross35

Copy link
Copy Markdown
Member Author

@bors r+ force rollup=never p=5

@bors try jobs=dist-various-1,test-various,test-x86_64-gnu-aux,test-x86_64-gnu-llvm-21-3,test-x86_64-msvc-1,test-aarch64-apple-1,test-aarch64-apple-2,test-x86_64-mingw-1,test-i686-msvc,test-armhf-gnu

@rust-bors

rust-bors Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 0de9155 has been approved by tgross35

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 30, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 30, 2026
Rollup of 7 pull requests


try-job: dist-various-1
try-job: test-various
try-job: test-x86_64-gnu-aux
try-job: test-x86_64-gnu-llvm-21-3
try-job: test-x86_64-msvc-1
try-job: test-aarch64-apple-1
try-job: test-aarch64-apple-2
try-job: test-x86_64-mingw-1
try-job: test-i686-msvc
try-job: test-armhf-gnu
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 30, 2026
Rollup of 7 pull requests

Successful merges:

 - #158936 (Add `std::fs::{Home|Media}Dirs`)
 - #163414 (Add support for span context to `derive(Diagnostic)` and use it)
 - #163481 (triagebot: use r-l/r zulip linkifier for r-l/r rustfmt backport nominations)
 - #163502 (arch::breakpoint: update docs)
 - #163505 (Sync cg_gcc subtree 2026-09-29)
 - #163405 (Remove some #[linkage] options)
 - #163498 (Revert "Rollup merge of #120589 - devnexen:cpuaff_fbsd_upd, r=clarfonthey")
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-mingw-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [ui] tests\ui\linkage-attr\linkage-import.rs stdout ----

error: auxiliary build of D:\a\rust\rust\tests\ui\linkage-attr\auxiliary\def_weak.rs failed to compile: 
status: exit code: 1
command: PATH="D:\a\rust\rust\build\x86_64-pc-windows-gnu\stage2\bin;D:\a\rust\rust\ninja;D:\a\rust\rust\mingw64\bin;C:\msys64\usr\bin;D:\a\rust\rust\sccache;C:\Program Files\MongoDB\Server\7.0\bin;C:\vcpkg;C:\tools\zstd;C:\hostedtoolcache\windows\stack\3.11.1\x64;C:\cabal\bin;C:\ghcup\bin;C:\mingw64\bin;C:\Program Files\dotnet;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\R\R-4.6.1\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.24.13\x64\bin;C:\hostedtoolcache\windows\Python\3.12.10\x64\Scripts;C:\hostedtoolcache\windows\Python\3.12.10\x64;C:\hostedtoolcache\windows\Ruby\3.3.12\x64\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\17.0.20-101\x64\bin;C:\Program Files\ImageMagick-7.1.2-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\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\dotnet;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files (x86)\WiX Toolset v3.14\bin;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:\Program Files\Microsoft SQL Server\170\DTS\Binn;C:\ProgramData\chocolatey\lib\pulumi\tools\Pulumi\bin;C:\Program Files\CMake\bin;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.16\bin;C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\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\mongosh;C:\Program Files\LLVM\bin;C:\Program Files (x86)\LLVM\bin;C:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2\\bin\\rustc.exe" "D:\\a\\rust\\rust\\tests\\ui\\linkage-attr\\auxiliary\\def_weak.rs" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=C:\\Users\\runneradmin\\.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=D:\\a\\rust\\rust\\vendor" "--sysroot" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2" "--target=x86_64-pc-windows-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary" "-Znext-solver=coherence" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\native\\rust-test-helpers" "--crate-type" "dylib" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary"
stdout: none
--- stderr -------------------------------
error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
   |
   = note: "x86_64-w64-mingw32-gcc" "-Wl,D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\rustc4WDcyY\\list.def" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-m64" "-Wl,--high-entropy-va" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\rustc4WDcyY\\symbols.o" "<1 object files omitted>" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\rustc4WDcyY\\rmeta.o" "-Wl,-Bdynamic" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\std-f19ec5cf82cf2e36.dll" "-Wl,-Bstatic" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib/libcompiler_builtins-*.rlib" "-Wl,-Bdynamic" "-lkernel32" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-ldbghelp" "-lsynchronization" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\rustc4WDcyY\\bcryptprimitives.dll_imports_indirect.lib" "-lgcc_s" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-lmingwex" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\native\\rust-test-helpers" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary" "-o" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\def_weak.dll" "-shared" "-Wl,--out-implib=D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\libdef_weak.dll.a" "-Wl,--strip-debug" "-nodefaultlibs"
   = note: some arguments are omitted. use `--verbose` to show all linker arguments
   = note: D:/a/rust/rust/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot export _RNvCshmT7sF3wz5g_8def_weak4WEAK: symbol not defined
           collect2.exe: error: ld returned 1 exit status
           

error: aborting due to 1 previous error
------------------------------------------

---
Currently active steps:
test::Ui { test_compiler: Compiler { stage: 2, host: x86_64-pc-windows-gnu, forced_compiler: false }, target: x86_64-pc-windows-gnu } at src\bootstrap\src\core\build_steps\test.rs:1947
test::Compiletest { test_compiler: Compiler { stage: 2, host: x86_64-pc-windows-gnu, forced_compiler: false }, target: x86_64-pc-windows-gnu, mode: ui, suite: "ui", path: "tests/ui", compare_mode: None } at src\bootstrap\src\core\build_steps\test.rs:1947
Build completed unsuccessfully in 1:52:13
make: *** [Makefile:126: ci-mingw-x] Error 1
  local time: Wed Sep 30 02:38:31 CUT 2026
  network time: Wed, 30 Sep 2026 02:38:31 GMT
##[error]Process completed with exit code 2.
##[group]Run echo "disk usage:"
echo "disk usage:"

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-mingw-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [ui] tests\ui\linkage-attr\linkage-import.rs stdout ----

error: auxiliary build of D:\a\rust\rust\tests\ui\linkage-attr\auxiliary\def_weak.rs failed to compile: 
status: exit code: 1
command: PATH="D:\a\rust\rust\build\x86_64-pc-windows-gnu\stage2\bin;D:\a\rust\rust\ninja;D:\a\rust\rust\mingw64\bin;C:\msys64\usr\bin;D:\a\rust\rust\sccache;C:\Program Files\MongoDB\Server\7.0\bin;C:\vcpkg;C:\tools\zstd;C:\hostedtoolcache\windows\stack\3.11.1\x64;C:\cabal\bin;C:\ghcup\bin;C:\mingw64\bin;C:\Program Files\dotnet;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\R\R-4.6.1\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.24.13\x64\bin;C:\hostedtoolcache\windows\Python\3.12.10\x64\Scripts;C:\hostedtoolcache\windows\Python\3.12.10\x64;C:\hostedtoolcache\windows\Ruby\3.3.12\x64\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\17.0.20-101\x64\bin;C:\Program Files\ImageMagick-7.1.2-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\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\dotnet;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files (x86)\WiX Toolset v3.14\bin;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:\Program Files\Microsoft SQL Server\170\DTS\Binn;C:\ProgramData\chocolatey\lib\pulumi\tools\Pulumi\bin;C:\Program Files\CMake\bin;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\ProgramData\chocolatey\lib\maven\apache-maven-3.9.16\bin;C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\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\mongosh;C:\Program Files\LLVM\bin;C:\Program Files (x86)\LLVM\bin;C:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2\\bin\\rustc.exe" "D:\\a\\rust\\rust\\tests\\ui\\linkage-attr\\auxiliary\\def_weak.rs" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=C:\\Users\\runneradmin\\.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=D:\\a\\rust\\rust\\vendor" "--sysroot" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\stage2" "--target=x86_64-pc-windows-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary" "-Znext-solver=coherence" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\native\\rust-test-helpers" "--crate-type" "dylib" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary"
stdout: none
--- stderr -------------------------------
error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
   |
   = note: "x86_64-w64-mingw32-gcc" "-Wl,D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\rustcchBzcR\\list.def" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-m64" "-Wl,--high-entropy-va" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\rustcchBzcR\\symbols.o" "<1 object files omitted>" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\rustcchBzcR\\rmeta.o" "-Wl,-Bdynamic" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\std-f19ec5cf82cf2e36.dll" "-Wl,-Bstatic" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib/libcompiler_builtins-*.rlib" "-Wl,-Bdynamic" "-lkernel32" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-ldbghelp" "-lsynchronization" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\rustcchBzcR\\bcryptprimitives.dll_imports_indirect.lib" "-lgcc_s" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-lmingwex" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\native\\rust-test-helpers" "-L" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary" "-o" "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\def_weak.dll" "-shared" "-Wl,--out-implib=D:\\a\\rust\\rust\\build\\x86_64-pc-windows-gnu\\test\\ui\\linkage-attr\\linkage-import\\auxiliary\\libdef_weak.dll.a" "-Wl,--strip-debug" "-nodefaultlibs"
   = note: some arguments are omitted. use `--verbose` to show all linker arguments
   = note: D:/a/rust/rust/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot export _RNvCshmT7sF3wz5g_8def_weak4WEAK: symbol not defined
           collect2.exe: error: ld returned 1 exit status
           

error: aborting due to 1 previous error
------------------------------------------

---
Currently active steps:
test::Ui { test_compiler: Compiler { stage: 2, host: x86_64-pc-windows-gnu, forced_compiler: false }, target: x86_64-pc-windows-gnu } at src\bootstrap\src\core\build_steps\test.rs:1947
test::Compiletest { test_compiler: Compiler { stage: 2, host: x86_64-pc-windows-gnu, forced_compiler: false }, target: x86_64-pc-windows-gnu, mode: ui, suite: "ui", path: "tests/ui", compare_mode: None } at src\bootstrap\src\core\build_steps\test.rs:1947
Build completed unsuccessfully in 1:45:18
make: *** [Makefile:126: ci-mingw-x] Error 1
  local time: Wed Sep 30 02:55:52 CUT 2026
  network time: Wed, 30 Sep 2026 02:55:52 GMT
##[error]Process completed with exit code 2.
##[group]Run echo "disk usage:"
echo "disk usage:"

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 30, 2026
@rust-bors

rust-bors Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 4ae233f failed: CI. Failed job:

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 30, 2026
@rust-bors

rust-bors Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

💔 Test for d3630ad failed: CI. Failed job:

@jhpratt jhpratt closed this Sep 30, 2026
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 30, 2026
@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic O-apple Operating system: Apple / Darwin (macOS, iOS, tvOS, visionOS, watchOS) O-unix Operating system: Unix-like O-windows Operating system: Windows rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.