Skip to content

Rollup of 5 pull requests#159501

Closed
JonathanBrouwer wants to merge 11 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-R9B6UYL
Closed

Rollup of 5 pull requests#159501
JonathanBrouwer wants to merge 11 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-R9B6UYL

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

DeepeshWR and others added 11 commits July 16, 2026 07:49
The `scoped_two_small_structs` test expects `sub sp, sp, rust-lang#48` on
aarch64, which assumes the frame pointer (x29) is saved. Custom targets
that don't set `frame-pointer: non-leaf` (e.g., OpenEmbedded/Yocto's
`aarch64-poky-linux-gnu`) omit x29, producing `sub sp, sp, rust-lang#32` instead.

Add `-Cforce-frame-pointers=yes` to the aarch64 revision so the test
produces consistent codegen regardless of the target's default frame
pointer policy.

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
…ng logic

When encountering a E0308 error involving `ty::Projection`s, highlight only the sub-parts that are actually relevant:

```
error[E0308]: mismatched types
  --> tests/ui/associated-types/long-type-E0308.rs:19:5
   |
16 | fn foo<'a, T: FooBar>(value: T) -> <<<T::Wrapper<T> as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<<T::Assoc as FooBar>::Assoc> {
   |                                    ----------------------------------------------------------------------------------------------------- expected `<<<... as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<...>` because of return type
...
19 |     value.assoc().assoc().assoc().wrap(value.assoc().assoc())
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `really_really_really_long_module::FooBar::Wrapper`, found `really_really_really_long_module::FooBar::Assoc`
   |
   = note: expected associated type `<<<<_ as FooBar>::Wrapper<T> as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<_>`
              found associated type `<<<<_ as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<_>`
   = note: an associated type was expected, but a different one was found
   = note: the full name for the type has been written to 'long-type-E0308.long-type-5396540309891820670.txt'
   = note: consider using `--verbose` to print the full type name to the console
```

Deduplicate param highlighting logic.

Account for type param difference in trait in E0308 highlighting.
…e highlighted string instead

Introduce a mechanism to textually trim highlighted strings, so that we can print out "expected/found" note with shorter output while still keeping the highlighted inner parts.

```
error[E0308]: mismatched types
  --> $DIR/long-type-E0308.rs:30:5
   |
LL |   ) -> <
   |  ______-
LL | |     <
LL | |         <T::Wrapper<T> as FooBar>::Assoc as FooBar
LL | |     >::Assoc as FooBar
LL | | >::Wrapper<<T::Assoc as FooBar>::Assoc>
   | |_______________________________________- expected `<_ as FooBar>::Wrapper<_>` because of return type
...
LL |       value...oc())
   |       ^^^^^...^^^^^ expected `really_really_really_long_module::FooBar::Wrapper`, found `really_really_really_long_module::FooBar::Assoc`
   |
   = note: expected associated type `<<<<_ as FooBar>::Wrapper<_> as...pper<_>`
              found associated type `<<<<_ as FooBar>::Assoc as Fo...pper<_>`
   = note: an associated type was expected, but a different one was found
   = note: the full name for the type has been written to '$TEST_BUILD_DIR/long-type-E0308.long-type-$LONG_TYPE_HASH.txt'
   = note: consider using `--verbose` to print the full type name to the console
```
Account for type alias projections in E0308 "expected/found" shortening logic

When encountering a E0308 error involving `ty::Projection`s, highlight only the sub-parts that are actually relevant:

```
error[E0308]: mismatched types
  --> tests/ui/associated-types/long-type-E0308.rs:19:5
   |
16 | fn foo<'a, T: FooBar>(value: T) -> <<<T::Wrapper<T> as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<<T::Assoc as FooBar>::Assoc> {
   |                                    ----------------------------------------------------------------------------------------------------- expected `<<<... as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<...>` because of return type
...
19 |     value.assoc().assoc().assoc().wrap(value.assoc().assoc())
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `really_really_really_long_module::FooBar::Wrapper`, found `really_really_really_long_module::FooBar::Assoc`
   |
   = note: expected associated type `<<<<_ as FooBar>::Wrapper<T> as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<_>`
              found associated type `<<<<_ as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<_>`
   = note: an associated type was expected, but a different one was found
   = note: the full name for the type has been written to 'long-type-E0308.long-type-5396540309891820670.txt'
   = note: consider using `--verbose` to print the full type name to the console
```

Fix rust-lang#159043, by including a textual type shortening logic that operates on the highlighted text on really narrow terminals:

```
error[E0308]: mismatched types
  --> $DIR/long-type-E0308.rs:30:5
   |
LL |   ) -> <
   |  ______-
LL | |     <
LL | |         <T::Wrapper<T> as FooBar>::Assoc as FooBar
LL | |     >::Assoc as FooBar
LL | | >::Wrapper<<T::Assoc as FooBar>::Assoc>
   | |_______________________________________- expected `<_ as FooBar>::Wrapper<_>` because of return type
...
LL |       value...oc())
   |       ^^^^^...^^^^^ expected `really_really_really_long_module::FooBar::Wrapper`, found `really_really_really_long_module::FooBar::Assoc`
   |
   = note: expected associated type `<<<<_ as FooBar>::Wrapper<_> as...pper<_>`
              found associated type `<<<<_ as FooBar>::Assoc as Fo...pper<_>`
   = note: an associated type was expected, but a different one was found
   = note: the full name for the type has been written to '$TEST_BUILD_DIR/long-type-E0308.long-type-$LONG_TYPE_HASH.txt'
   = note: consider using `--verbose` to print the full type name to the console
```

r? @chenyukang
…ing, r=clarfonthey

Move `std::io::read_to_string` to `alloc::io`

ACP: rust-lang/libs-team#755
Tracking issue: rust-lang#154046
Split From: rust-lang#156527
~~Blocked On: rust-lang#158544

## Description

Moves `std::io::read_to_string` to `alloc::io`. This is a trivial move. Blocked on rust-lang#158544.

---

## Notes

* No AI tooling of any kind was used during the creation of this PR.
* Please see rust-lang#154046 (comment) for a review order and broader context for this PR.
…arch64-stack-check, r=mati865

tests/assembly-llvm: pin frame pointer in issue-141649 aarch64 test

The `scoped_two_small_structs` test expects `sub sp, sp, rust-lang#48` on
aarch64, which assumes the frame pointer (x29) is saved. Custom targets
that don't set `frame-pointer: non-leaf` (e.g., OpenEmbedded/Yocto's
`aarch64-poky-linux-gnu`) omit x29, producing `sub sp, sp, rust-lang#32` instead.

Add `-Cforce-frame-pointers=yes` to the aarch64 revision so the test
produces consistent codegen regardless of the target's default frame
pointer policy.
Fix string indexing in diagnostic format strings

Fixes rust-lang#159252

This also affects beta.
…youxu

Move compiletest CLI parsing to `cli.rs`

Separated out of rust-lang#159451.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jul 18, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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 Jul 18, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 8fa6245 has been approved by JonathanBrouwer

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 Jul 18, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 18, 2026
…uwer

Rollup of 5 pull requests

Successful merges:

 - #159189 (Account for type alias projections in E0308 "expected/found" shortening logic)
 - #158545 (Move `std::io::read_to_string` to `alloc::io`)
 - #159328 (tests/assembly-llvm: pin frame pointer in issue-141649 aarch64 test)
 - #159470 (Fix string indexing in diagnostic format strings)
 - #159500 (Move compiletest CLI parsing to `cli.rs`)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job aarch64-msvc-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

failures:

---- [ui] tests\ui\associated-types\long-type-E0308.rs#short-color stdout ----
Saved the actual windows.svg to `C:\a\rust\rust\build\aarch64-pc-windows-msvc\test\ui\associated-types\long-type-E0308.short-color\long-type-E0308.short-color.windows.svg`
normalized windows.svg:
<svg width="1583px" height="920px" xmlns="http://www.w3.org/2000/svg">
  <style>
    .fg { fill: #AAAAAA }
    .bg { fill: #000000 }
    .fg-bright-cyan { fill: #55FFFF }
    .fg-bright-red { fill: #FF5555 }
    .fg-bright-white { fill: #FFFFFF }
    .fg-magenta { fill: #AA00AA }
    .container {
      padding: 0 10px;
      line-height: 18px;
    }
    .bold { font-weight: bold; }
    tspan {
      font: 14px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
      white-space: pre;
      line-height: 18px;
    }
  </style>

  <rect width="100%" height="100%" y="0" rx="4.5" class="bg" />

  <text xml:space="preserve" class="container fg">
    <tspan x="10px" y="28px"><tspan class="fg-bright-red bold">error[E0308]</tspan><tspan class="fg-bright-white bold">: mismatched types</tspan>
</tspan>
    <tspan x="10px" y="46px"><tspan>  </tspan><tspan class="fg-bright-cyan bold">--&gt; </tspan><tspan>$DIR/long-type-E0308.rs:30:5</tspan>
</tspan>
    <tspan x="10px" y="64px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="82px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>   ) -&gt; &lt;</tspan>
</tspan>
    <tspan x="10px" y="100px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold"> ______-</tspan>
</tspan>
    <tspan x="10px" y="118px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     &lt;</tspan>
</tspan>
    <tspan x="10px" y="136px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>         &lt;T::Wrapper&lt;T&gt; as FooBar&gt;::Assoc as FooBar</tspan>
</tspan>
    <tspan x="10px" y="154px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     &gt;::Assoc as FooBar</tspan>
</tspan>
    <tspan x="10px" y="172px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> &gt;::Wrapper&lt;&lt;T::Assoc as FooBar&gt;::Assoc&gt;</tspan>
</tspan>
    <tspan x="10px" y="190px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|_______________________________________-</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">expected `&lt;&lt;_ as FooBar&gt;::Assoc as FooBar&gt;::Wrapper&lt;_&gt;` because of return type</tspan>
</tspan>
    <tspan x="10px" y="208px"><tspan class="fg-bright-cyan bold">...</tspan>
</tspan>
    <tspan x="10px" y="226px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>       value.assoc().assoc().assoc().wrap(value.assoc().assoc())</tspan>
</tspan>
    <tspan x="10px" y="244px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>       </tspan><tspan class="fg-bright-red bold">^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</tspan><tspan> </tspan><tspan class="fg-bright-red bold">expected `really_really_really_long_module::FooBar::Wrapper`, found `really_really_really_long_module::FooBar::Assoc`</tspan>
</tspan>
    <tspan x="10px" y="262px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="280px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: expected associated type `&lt;&lt;&lt;&lt;_ as FooBar&gt;::</tspan><tspan class="fg-magenta bold">Wrapper</tspan><tspan>&lt;_&gt; as FooBar&gt;::Assoc as FooBar&gt;::Assoc as FooBar&gt;::Wrapper&lt;_&gt;`</tspan>
</tspan>
    <tspan x="10px" y="298px"><tspan>              found associated type `&lt;&lt;&lt;&lt;_ as FooBar&gt;::</tspan><tspan class="fg-magenta bold">Assoc</tspan><tspan> as FooBar&gt;::Assoc as FooBar&gt;::Assoc as FooBar&gt;::Wrapper&lt;_&gt;`</tspan>
</tspan>
    <tspan x="10px" y="316px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: an associated type was expected, but a different one was found</tspan>
</tspan>
    <tspan x="10px" y="334px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: the full name for the type has been written to '$TEST_BUILD_DIR/long-type-E0308.long-type-$LONG_TYPE_HASH.txt'</tspan>
</tspan>
    <tspan x="10px" y="352px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: consider using `--verbose` to print the full type name to the console</tspan>
</tspan>
    <tspan x="10px" y="370px">
</tspan>
    <tspan x="10px" y="388px"><tspan class="fg-bright-red bold">error[E0308]</tspan><tspan class="fg-bright-white bold">: mismatched types</tspan>
</tspan>
    <tspan x="10px" y="406px"><tspan>  </tspan><tspan class="fg-bright-cyan bold">--&gt; </tspan><tspan>$DIR/long-type-E0308.rs:44:5</tspan>
</tspan>
    <tspan x="10px" y="424px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="442px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> fn bar&lt;T&gt;(x: &lt;T as Bar&lt;u8&gt;&gt;::Assoc) -&gt; &lt;T as Bar&lt;u16&gt;&gt;::Assoc</tspan>
</tspan>
    <tspan x="10px" y="460px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>                                        </tspan><tspan class="fg-bright-cyan bold">----------------------</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">expected `&lt;T as Bar&lt;u16&gt;&gt;::Assoc` because of return type</tspan>
</tspan>
    <tspan x="10px" y="478px"><tspan class="fg-bright-cyan bold">...</tspan>
</tspan>
    <tspan x="10px" y="496px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     x</tspan>
</tspan>
    <tspan x="10px" y="514px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     </tspan><tspan class="fg-bright-red bold">^</tspan><tspan> </tspan><tspan class="fg-bright-red bold">expected `u16`, found `u8`</tspan>
</tspan>
    <tspan x="10px" y="532px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="550px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: expected associated type `&lt;_ as Bar&lt;</tspan><tspan class="fg-magenta bold">u16</tspan><tspan>&gt;&gt;::Assoc`</tspan>
</tspan>
    <tspan x="10px" y="568px"><tspan>              found associated type `&lt;_ as Bar&lt;</tspan><tspan class="fg-magenta bold">u8</tspan><tspan>&gt;&gt;::Assoc`</tspan>
</tspan>
    <tspan x="10px" y="586px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: an associated type was expected, but a different one was found</tspan>
</tspan>
    <tspan x="10px" y="604px">
</tspan>
    <tspan x="10px" y="622px"><tspan class="fg-bright-red bold">error[E0308]</tspan><tspan class="fg-bright-white bold">: mismatched types</tspan>
</tspan>
    <tspan x="10px" y="640px"><tspan>  </tspan><tspan class="fg-bright-cyan bold">--&gt; </tspan><tspan>$DIR/long-type-E0308.rs:58:5</tspan>
</tspan>
    <tspan x="10px" y="658px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="676px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> fn qux&lt;T&gt;(x: &lt;T as Qux&gt;::Assoc&lt;u8&gt;) -&gt; &lt;T as Qux&gt;::Assoc&lt;u16&gt;</tspan>
</tspan>
    <tspan x="10px" y="694px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>                                        </tspan><tspan class="fg-bright-cyan bold">----------------------</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">expected `&lt;T as Qux&gt;::Assoc&lt;u16&gt;` because of return type</tspan>
</tspan>
    <tspan x="10px" y="712px"><tspan class="fg-bright-cyan bold">...</tspan>
</tspan>
    <tspan x="10px" y="730px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     x</tspan>
</tspan>
    <tspan x="10px" y="748px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     </tspan><tspan class="fg-bright-red bold">^</tspan><tspan> </tspan><tspan class="fg-bright-red bold">expected `u16`, found `u8`</tspan>
</tspan>
    <tspan x="10px" y="766px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="784px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: expected associated type `&lt;_ as Qux&gt;::Assoc&lt;</tspan><tspan class="fg-magenta bold">u16</tspan><tspan>&gt;`</tspan>
</tspan>
    <tspan x="10px" y="802px"><tspan>              found associated type `&lt;_ as Qux&gt;::Assoc&lt;</tspan><tspan class="fg-magenta bold">u8</tspan><tspan>&gt;`</tspan>
</tspan>
    <tspan x="10px" y="820px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: an associated type was expected, but a different one was found</tspan>
</tspan>
    <tspan x="10px" y="838px">
</tspan>
    <tspan x="10px" y="856px"><tspan class="fg-bright-red bold">error</tspan><tspan class="fg-bright-white bold">: aborting due to 3 previous errors</tspan>
</tspan>
    <tspan x="10px" y="874px">
</tspan>
    <tspan x="10px" y="892px"><tspan class="fg-bright-white bold">For more information about this error, try `rustc --explain E0308`.</tspan>
</tspan>
    <tspan x="10px" y="910px">
</tspan>
  </text>

</svg>



The actual windows.svg differed from the expected windows.svg
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args associated-types\long-type-E0308.rs`

error in revision `short-color`: 1 errors occurred comparing output.
status: exit code: 1
command: PATH="C:\a\rust\rust\build\aarch64-pc-windows-msvc\stage2\bin;C:\Program Files (x86)\Windows Kits\10\bin\arm64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\arm64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostARM64\arm64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostARM64\arm64;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\citools\clang-rust\bin;C:\a\rust\rust\sccache;C:\aliyun-cli;C:\vcpkg;C:\tools\zstd;C:\Program Files (x86)\NSIS;C:\Program Files\Mercurial;C:\hostedtoolcache\windows\stack\3.11.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.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\usr\bin;C:\Program Files (x86)\pipx_bin;C:\npm\prefix;C:\hostedtoolcache\windows\go\1.24.13\arm64\bin;C:\hostedtoolcache\windows\Python\3.13.14\arm64\Scripts;C:\hostedtoolcache\windows\Python\3.13.14\arm64;C:\hostedtoolcache\windows\Ruby\3.4.10\aarch64\bin;C:\Program Files\LLVM\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\21.0.11-10.0\aarch64\bin;C:\Tools\Ninja;C:\Program Files (x86)\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\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\150\Tools\Binn;C:\Program Files\dotnet;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;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:\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.16\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:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\stage2\\bin\\rustc.exe" "C:\\a\\rust\\rust\\tests\\ui\\associated-types\\long-type-E0308.rs" "-Zthreads=1" "-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=C:\\a\\rust\\rust\\vendor" "--sysroot" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\stage2" "--target=aarch64-pc-windows-msvc" "--cfg" "short_color" "--check-cfg" "cfg(test,FALSE,short,shortest,short_color,shortest_color)" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\test\\ui\\associated-types\\long-type-E0308.short-color" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\native\\rust-test-helpers" "--diagnostic-width=100" "--error-format=human" "--color=always" "-Zwrite-long-types-to-disk=yes"
stdout: none
--- stderr -------------------------------
error[E0308]: mismatched types
  --> C:\a\rust\rust\tests\ui\associated-types\long-type-E0308.rs:30:5
   |
LL |   ) -> <
   |  ______-
LL | |     <
LL | |         <T::Wrapper<T> as FooBar>::Assoc as FooBar
LL | |     >::Assoc as FooBar
LL | | >::Wrapper<<T::Assoc as FooBar>::Assoc>
   | |_______________________________________- expected `<<_ as FooBar>::Assoc as FooBar>::Wrapper<_>` because of return type
...
LL |       value.assoc().assoc().assoc().wrap(value.assoc().assoc())
   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `really_really_really_long_module::FooBar::Wrapper`, found `really_really_really_long_module::FooBar::Assoc`
   |
   = note: expected associated type `<<<<_ as FooBar>::Wrapper<_> as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<_>`
              found associated type `<<<<_ as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Assoc as FooBar>::Wrapper<_>`
   = note: an associated type was expected, but a different one was found
   = note: the full name for the type has been written to 'C:\a\rust\rust\build\aarch64-pc-windows-msvc\test\ui\associated-types\long-type-E0308.short-color\long-type-E0308.long-type-5907074752104717217.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0308]: mismatched types
  --> C:\a\rust\rust\tests\ui\associated-types\long-type-E0308.rs:44:5
   |
LL | fn bar<T>(x: <T as Bar<u8>>::Assoc) -> <T as Bar<u16>>::Assoc
   |                                        ---------------------- expected `<T as Bar<u16>>::Assoc` because of return type
...
LL |     x
   |     ^ expected `u16`, found `u8`
   |
   = note: expected associated type `<_ as Bar<u16>>::Assoc`
              found associated type `<_ as Bar<u8>>::Assoc`
   = note: an associated type was expected, but a different one was found

error[E0308]: mismatched types
  --> C:\a\rust\rust\tests\ui\associated-types\long-type-E0308.rs:58:5
   |
LL | fn qux<T>(x: <T as Qux>::Assoc<u8>) -> <T as Qux>::Assoc<u16>
   |                                        ---------------------- expected `<T as Qux>::Assoc<u16>` because of return type
...
LL |     x
   |     ^ expected `u16`, found `u8`
   |
   = note: expected associated type `<_ as Qux>::Assoc<u16>`
              found associated type `<_ as Qux>::Assoc<u8>`
   = note: an associated type was expected, but a different one was found

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0308`.
------------------------------------------

---- [ui] tests\ui\associated-types\long-type-E0308.rs#short-color stdout end ----
---- [ui] tests\ui\associated-types\long-type-E0308.rs#shortest-color stdout ----
Saved the actual windows.svg to `C:\a\rust\rust\build\aarch64-pc-windows-msvc\test\ui\associated-types\long-type-E0308.shortest-color\long-type-E0308.shortest-color.windows.svg`
normalized windows.svg:
<svg width="1213px" height="920px" xmlns="http://www.w3.org/2000/svg">
  <style>
    .fg { fill: #AAAAAA }
    .bg { fill: #000000 }
    .fg-bright-cyan { fill: #55FFFF }
    .fg-bright-red { fill: #FF5555 }
    .fg-bright-white { fill: #FFFFFF }
    .fg-magenta { fill: #AA00AA }
    .container {
      padding: 0 10px;
      line-height: 18px;
    }
    .bold { font-weight: bold; }
    tspan {
      font: 14px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
      white-space: pre;
      line-height: 18px;
    }
  </style>

  <rect width="100%" height="100%" y="0" rx="4.5" class="bg" />

  <text xml:space="preserve" class="container fg">
    <tspan x="10px" y="28px"><tspan class="fg-bright-red bold">error[E0308]</tspan><tspan class="fg-bright-white bold">: mismatched types</tspan>
</tspan>
    <tspan x="10px" y="46px"><tspan>  </tspan><tspan class="fg-bright-cyan bold">--&gt; </tspan><tspan>$DIR/long-type-E0308.rs:30:5</tspan>
</tspan>
    <tspan x="10px" y="64px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="82px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>   ) -&gt; &lt;</tspan>
</tspan>
    <tspan x="10px" y="100px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold"> ______-</tspan>
</tspan>
    <tspan x="10px" y="118px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     &lt;</tspan>
</tspan>
    <tspan x="10px" y="136px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>         &lt;T::Wrapper&lt;T&gt; as FooBar&gt;::Assoc as FooBar</tspan>
</tspan>
    <tspan x="10px" y="154px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     &gt;::Assoc as FooBar</tspan>
</tspan>
    <tspan x="10px" y="172px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> &gt;::Wrapper&lt;&lt;T::Assoc as FooBar&gt;::Assoc&gt;</tspan>
</tspan>
    <tspan x="10px" y="190px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|_______________________________________-</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">expected `&lt;_ as FooBar&gt;::Wrapper&lt;_&gt;` because of return type</tspan>
</tspan>
    <tspan x="10px" y="208px"><tspan class="fg-bright-cyan bold">...</tspan>
</tspan>
    <tspan x="10px" y="226px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>       value</tspan><tspan class="fg-bright-cyan bold">...</tspan><tspan>oc())</tspan>
</tspan>
    <tspan x="10px" y="244px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>       </tspan><tspan class="fg-bright-red bold">^^^^^</tspan><tspan class="fg-bright-cyan bold">...</tspan><tspan class="fg-bright-red bold">^^^^^</tspan><tspan> </tspan><tspan class="fg-bright-red bold">expected `really_really_really_long_module::FooBar::Wrapper`, found `really_really_really_long_module::FooBar::Assoc`</tspan>
</tspan>
    <tspan x="10px" y="262px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="280px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: expected associated type `&lt;&lt;&lt;&lt;_ as FooBar&gt;::</tspan><tspan class="fg-magenta bold">Wrapper</tspan><tspan>&lt;_&gt; as...per&lt;_&gt;`</tspan>
</tspan>
    <tspan x="10px" y="298px"><tspan>              found associated type `&lt;&lt;&lt;&lt;_ as FooBar&gt;::</tspan><tspan class="fg-magenta bold">Assoc</tspan><tspan> as Fo...per&lt;_&gt;`</tspan>
</tspan>
    <tspan x="10px" y="316px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: an associated type was expected, but a different one was found</tspan>
</tspan>
    <tspan x="10px" y="334px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: the full name for the type has been written to '$TEST_BUILD_DIR/long-type-E0308.long-type-$LONG_TYPE_HASH.txt'</tspan>
</tspan>
    <tspan x="10px" y="352px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: consider using `--verbose` to print the full type name to the console</tspan>
</tspan>
    <tspan x="10px" y="370px">
</tspan>
    <tspan x="10px" y="388px"><tspan class="fg-bright-red bold">error[E0308]</tspan><tspan class="fg-bright-white bold">: mismatched types</tspan>
</tspan>
    <tspan x="10px" y="406px"><tspan>  </tspan><tspan class="fg-bright-cyan bold">--&gt; </tspan><tspan>$DIR/long-type-E0308.rs:44:5</tspan>
</tspan>
    <tspan x="10px" y="424px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="442px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> fn bar&lt;T&gt;(x: &lt;T as Bar&lt;u8&gt;&gt;::Assoc) -&gt; &lt;T as</tspan><tspan class="fg-bright-cyan bold">...</tspan><tspan>Assoc</tspan>
</tspan>
    <tspan x="10px" y="460px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>                                        </tspan><tspan class="fg-bright-cyan bold">-----...-----</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">expected `&lt;T as Bar&lt;u16&gt;&gt;::Assoc` because of return type</tspan>
</tspan>
    <tspan x="10px" y="478px"><tspan class="fg-bright-cyan bold">...</tspan>
</tspan>
    <tspan x="10px" y="496px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     x</tspan>
</tspan>
    <tspan x="10px" y="514px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     </tspan><tspan class="fg-bright-red bold">^</tspan><tspan> </tspan><tspan class="fg-bright-red bold">expected `u16`, found `u8`</tspan>
</tspan>
    <tspan x="10px" y="532px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="550px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: expected associated type `&lt;_ as Bar&lt;</tspan><tspan class="fg-magenta bold">u16</tspan><tspan>&gt;&gt;::Assoc`</tspan>
</tspan>
    <tspan x="10px" y="568px"><tspan>              found associated type `&lt;_ as Bar&lt;</tspan><tspan class="fg-magenta bold">u8</tspan><tspan>&gt;&gt;::Assoc`</tspan>
</tspan>
    <tspan x="10px" y="586px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: an associated type was expected, but a different one was found</tspan>
</tspan>
    <tspan x="10px" y="604px">
</tspan>
    <tspan x="10px" y="622px"><tspan class="fg-bright-red bold">error[E0308]</tspan><tspan class="fg-bright-white bold">: mismatched types</tspan>
</tspan>
    <tspan x="10px" y="640px"><tspan>  </tspan><tspan class="fg-bright-cyan bold">--&gt; </tspan><tspan>$DIR/long-type-E0308.rs:58:5</tspan>
</tspan>
    <tspan x="10px" y="658px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="676px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan> fn qux&lt;T&gt;(x: &lt;T as Qux&gt;::Assoc&lt;u8&gt;) -&gt; &lt;T as</tspan><tspan class="fg-bright-cyan bold">...</tspan><tspan>&lt;u16&gt;</tspan>
</tspan>
    <tspan x="10px" y="694px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>                                        </tspan><tspan class="fg-bright-cyan bold">-----...-----</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">expected `&lt;T as Qux&gt;::Assoc&lt;u16&gt;` because of return type</tspan>
</tspan>
    <tspan x="10px" y="712px"><tspan class="fg-bright-cyan bold">...</tspan>
</tspan>
    <tspan x="10px" y="730px"><tspan class="fg-bright-cyan bold">LL</tspan><tspan> </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     x</tspan>
</tspan>
    <tspan x="10px" y="748px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan><tspan>     </tspan><tspan class="fg-bright-red bold">^</tspan><tspan> </tspan><tspan class="fg-bright-red bold">expected `u16`, found `u8`</tspan>
</tspan>
    <tspan x="10px" y="766px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">|</tspan>
</tspan>
    <tspan x="10px" y="784px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: expected associated type `&lt;_ as Qux&gt;::Assoc&lt;</tspan><tspan class="fg-magenta bold">u16</tspan><tspan>&gt;`</tspan>
</tspan>
    <tspan x="10px" y="802px"><tspan>              found associated type `&lt;_ as Qux&gt;::Assoc&lt;</tspan><tspan class="fg-magenta bold">u8</tspan><tspan>&gt;`</tspan>
</tspan>
    <tspan x="10px" y="820px"><tspan>   </tspan><tspan class="fg-bright-cyan bold">= </tspan><tspan class="fg-bright-white bold">note</tspan><tspan>: an associated type was expected, but a different one was found</tspan>
</tspan>
    <tspan x="10px" y="838px">
</tspan>
    <tspan x="10px" y="856px"><tspan class="fg-bright-red bold">error</tspan><tspan class="fg-bright-white bold">: aborting due to 3 previous errors</tspan>
</tspan>
    <tspan x="10px" y="874px">
</tspan>
    <tspan x="10px" y="892px"><tspan class="fg-bright-white bold">For more information about this error, try `rustc --explain E0308`.</tspan>
</tspan>
    <tspan x="10px" y="910px">
</tspan>
  </text>

</svg>



The actual windows.svg differed from the expected windows.svg
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args associated-types\long-type-E0308.rs`

error in revision `shortest-color`: 1 errors occurred comparing output.
status: exit code: 1
command: PATH="C:\a\rust\rust\build\aarch64-pc-windows-msvc\stage2\bin;C:\Program Files (x86)\Windows Kits\10\bin\arm64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\arm64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostARM64\arm64;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostARM64\arm64;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\citools\clang-rust\bin;C:\a\rust\rust\sccache;C:\aliyun-cli;C:\vcpkg;C:\tools\zstd;C:\Program Files (x86)\NSIS;C:\Program Files\Mercurial;C:\hostedtoolcache\windows\stack\3.11.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.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\usr\bin;C:\Program Files (x86)\pipx_bin;C:\npm\prefix;C:\hostedtoolcache\windows\go\1.24.13\arm64\bin;C:\hostedtoolcache\windows\Python\3.13.14\arm64\Scripts;C:\hostedtoolcache\windows\Python\3.13.14\arm64;C:\hostedtoolcache\windows\Ruby\3.4.10\aarch64\bin;C:\Program Files\LLVM\bin;C:\Program Files\OpenSSL\bin;C:\tools\kotlinc\bin;C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\21.0.11-10.0\aarch64\bin;C:\Tools\Ninja;C:\Program Files (x86)\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\Client SDK\ODBC\170\Tools\Binn;C:\Program Files\Microsoft SQL Server\150\Tools\Binn;C:\Program Files\dotnet;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;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:\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.16\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:\Users\runneradmin\.dotnet\tools;C:\Users\runneradmin\.cargo\bin;C:\Users\runneradmin\AppData\Local\Microsoft\WindowsApps" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\stage2\\bin\\rustc.exe" "C:\\a\\rust\\rust\\tests\\ui\\associated-types\\long-type-E0308.rs" "-Zthreads=1" "-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=C:\\a\\rust\\rust\\vendor" "--sysroot" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\stage2" "--target=aarch64-pc-windows-msvc" "--cfg" "shortest_color" "--check-cfg" "cfg(test,FALSE,short,shortest,short_color,shortest_color)" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\test\\ui\\associated-types\\long-type-E0308.shortest-color" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\native\\rust-test-helpers" "--diagnostic-width=12" "--error-format=human" "--color=always" "-Zwrite-long-types-to-disk=yes"
stdout: none
--- stderr -------------------------------
error[E0308]: mismatched types
  --> C:\a\rust\rust\tests\ui\associated-types\long-type-E0308.rs:30:5
   |
LL |   ) -> <
   |  ______-
LL | |     <
LL | |         <T::Wrapper<T> as FooBar>::Assoc as FooBar
LL | |     >::Assoc as FooBar
LL | | >::Wrapper<<T::Assoc as FooBar>::Assoc>
   | |_______________________________________- expected `<_ as FooBar>::Wrapper<_>` because of return type
...
LL |       value...oc())
   |       ^^^^^...^^^^^ expected `really_really_really_long_module::FooBar::Wrapper`, found `really_really_really_long_module::FooBar::Assoc`
   |
   = note: expected associated type `<<<<_ as FooBar>::Wrapper<_> as...per<_>`
              found associated type `<<<<_ as FooBar>::Assoc as Fo...per<_>`
   = note: an associated type was expected, but a different one was found
   = note: the full name for the type has been written to 'C:\a\rust\rust\build\aarch64-pc-windows-msvc\test\ui\associated-types\long-type-E0308.shortest-color\long-type-E0308.long-type-8496268383907329271.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0308]: mismatched types
  --> C:\a\rust\rust\tests\ui\associated-types\long-type-E0308.rs:44:5
   |
LL | fn bar<T>(x: <T as Bar<u8>>::Assoc) -> <T as...Assoc
   |                                        -----...----- expected `<T as Bar<u16>>::Assoc` because of return type
...
LL |     x
   |     ^ expected `u16`, found `u8`
   |
   = note: expected associated type `<_ as Bar<u16>>::Assoc`
              found associated type `<_ as Bar<u8>>::Assoc`
   = note: an associated type was expected, but a different one was found

error[E0308]: mismatched types
  --> C:\a\rust\rust\tests\ui\associated-types\long-type-E0308.rs:58:5
   |
LL | fn qux<T>(x: <T as Qux>::Assoc<u8>) -> <T as...<u16>
   |                                        -----...----- expected `<T as Qux>::Assoc<u16>` because of return type
...
LL |     x
   |     ^ expected `u16`, found `u8`
   |
   = note: expected associated type `<_ as Qux>::Assoc<u16>`
              found associated type `<_ as Qux>::Assoc<u8>`
   = note: an associated type was expected, but a different one was found

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0308`.
---
Currently active steps:
test::Ui { test_compiler: Compiler { stage: 2, host: aarch64-pc-windows-msvc, forced_compiler: false }, target: aarch64-pc-windows-msvc } at src\bootstrap\src\core\build_steps\test.rs:1846
test::Compiletest { test_compiler: Compiler { stage: 2, host: aarch64-pc-windows-msvc, forced_compiler: false }, target: aarch64-pc-windows-msvc, mode: ui, suite: "ui", path: "tests/ui", compare_mode: None } at src\bootstrap\src\core\build_steps\test.rs:1846
Build completed unsuccessfully in 1:15:11
make: *** [Makefile:115: ci-msvc-py] Error 1
  local time: Sat Jul 18 09:31:47 CUT 2026
  network time: Sat, 18 Jul 2026 09:31:47 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 Jul 18, 2026
@rust-bors

rust-bors Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

💔 Test for d1ac568 failed: CI. Failed job:

@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 Jul 18, 2026
@rust-bors

rust-bors Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

PR #159189, which is a member of this rollup, was unapproved.

@rust-bors rust-bors Bot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 18, 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 Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.

8 participants