<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/ui/impl-trait/diagnostics, branch cargo_update</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=cargo_update</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=cargo_update'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-19T18:28:44+00:00</updated>
<entry>
<title>chore(compiletest): Use newest anstyle-svg version</title>
<updated>2025-09-19T18:28:44+00:00</updated>
<author>
<name>Scott Schafer</name>
<email>schaferjscott@gmail.com</email>
</author>
<published>2025-09-16T07:48:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=82eed00d3979b74315f66201c6bf4d3f00d38c25'/>
<id>urn:sha1:82eed00d3979b74315f66201c6bf4d3f00d38c25</id>
<content type='text'>
</content>
</entry>
<entry>
<title>On E0277, point at type that doesn't implement bound</title>
<updated>2025-08-22T17:55:15+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-08-19T17:49:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=049c32797b5f797d5823cdc0e5aaeb0fd68175da'/>
<id>urn:sha1:049c32797b5f797d5823cdc0e5aaeb0fd68175da</id>
<content type='text'>
When encountering an unmet trait bound, point at local type that doesn't implement the trait:

```
error[E0277]: the trait bound `Bar&lt;T&gt;: Foo` is not satisfied
  --&gt; $DIR/issue-64855.rs:9:19
   |
LL | pub struct Bar&lt;T&gt;(&lt;Self as Foo&gt;::Type) where Self: ;
   |                   ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `Foo` is not implemented for `Bar&lt;T&gt;`
  --&gt; $DIR/issue-64855.rs:9:1
   |
LL | pub struct Bar&lt;T&gt;(&lt;Self as Foo&gt;::Type) where Self: ;
   | ^^^^^^^^^^^^^^^^^
```
</content>
</entry>
<entry>
<title>compiletest: Support matching on non-json lines in compiler output</title>
<updated>2025-05-04T15:27:45+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2025-05-02T14:56:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=56d6b4e427c271e8f069500f6fac4e209e946144'/>
<id>urn:sha1:56d6b4e427c271e8f069500f6fac4e209e946144</id>
<content type='text'>
and migrate most of remaining `error-pattern`s to it.

</content>
</entry>
<entry>
<title>Point at tail expression on rpit E0277</title>
<updated>2024-11-02T03:08:04+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-10-25T04:38:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=092ecca5b92c94ecf6ff373610e18097fb61b8a6'/>
<id>urn:sha1:092ecca5b92c94ecf6ff373610e18097fb61b8a6</id>
<content type='text'>
```
error[E0277]: the trait bound `{gen block@$DIR/gen_block_is_coro.rs:7:5: 7:8}: Coroutine` is not satisfied
  --&gt; $DIR/gen_block_is_coro.rs:6:13
   |
LL | fn foo() -&gt; impl Coroutine&lt;Yield = u32, Return = ()&gt; {
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Coroutine` is not implemented for `{gen block@$DIR/gen_block_is_coro.rs:7:5: 7:8}`
LL |     gen { yield 42 }
   |     ---------------- return type was inferred to be `{gen block@$DIR/gen_block_is_coro.rs:7:5: 7:8}` here
```

The secondary span label is new.
</content>
</entry>
<entry>
<title>Add trait diff highlighting logic and use it in E0277</title>
<updated>2024-11-02T03:08:04+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-10-24T22:16:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b7fc1a743122e3c45f105a5d1169a042a2c6e8bf'/>
<id>urn:sha1:b7fc1a743122e3c45f105a5d1169a042a2c6e8bf</id>
<content type='text'>
When a trait is not implemented for a type, but there *is* an `impl`
for another type or different trait params, we format the output to
use highlighting in the same way that E0308 does for types.

The logic accounts for 3 cases:
- When both the type and trait in the expected predicate and the candidate are different
- When only the types are different
- When only the trait generic params are different

For each case, we use slightly different formatting and wording.
</content>
</entry>
<entry>
<title>Remove detail from label/note that is already available in other note</title>
<updated>2024-10-29T16:26:57+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-10-24T21:14:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5b542866400ad4a294f468cfa7e059d95c27a079'/>
<id>urn:sha1:5b542866400ad4a294f468cfa7e059d95c27a079</id>
<content type='text'>
Remove the "which is required by `{root_obligation}`" post-script in
"the trait `X` is not implemented for `Y`" explanation in E0277. This
information is already conveyed in the notes explaining requirements,
making it redundant while making the text (particularly in labels)
harder to read.

```
error[E0277]: the trait bound `NotCopy: Copy` is not satisfied
  --&gt; $DIR/wf-static-type.rs:10:13
   |
LL | static FOO: IsCopy&lt;Option&lt;NotCopy&gt;&gt; = IsCopy { t: None };
   |             ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `NotCopy`
   |
   = note: required for `Option&lt;NotCopy&gt;` to implement `Copy`
note: required by a bound in `IsCopy`
  --&gt; $DIR/wf-static-type.rs:7:17
   |
LL | struct IsCopy&lt;T:Copy&gt; { t: T }
   |                 ^^^^ required by this bound in `IsCopy`
```
vs the prior

```
error[E0277]: the trait bound `NotCopy: Copy` is not satisfied
  --&gt; $DIR/wf-static-type.rs:10:13
   |
LL | static FOO: IsCopy&lt;Option&lt;NotCopy&gt;&gt; = IsCopy { t: None };
   |             ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `NotCopy`, which is required by `Option&lt;NotCopy&gt;: Copy`
   |
   = note: required for `Option&lt;NotCopy&gt;` to implement `Copy`
note: required by a bound in `IsCopy`
  --&gt; $DIR/wf-static-type.rs:7:17
   |
LL | struct IsCopy&lt;T:Copy&gt; { t: T }
   |                 ^^^^ required by this bound in `IsCopy`
```
</content>
</entry>
<entry>
<title>Tweak highlighting when trait is available for different type</title>
<updated>2024-10-25T18:06:39+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-10-24T00:20:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aa82fd6d1dd2f2ac6a44dbfa99e1de779b58428a'/>
<id>urn:sha1:aa82fd6d1dd2f2ac6a44dbfa99e1de779b58428a</id>
<content type='text'>
When printing

```
  = help: the trait `chumsky::private::ParserSealed&lt;'_, &amp;'a str, ((), ()), chumsky::extra::Full&lt;EmptyErr, (), ()&gt;&gt;` is implemented for `Then&lt;Ignored&lt;chumsky::combinator::Filter&lt;chumsky::primitive::Any&lt;&amp;str, chumsky::extra::Full&lt;EmptyErr, (), ()&gt;&gt;, {closure@src/main.rs:9:17: 9:27}&gt;, char&gt;, chumsky::combinator::Map&lt;impl CSTParser&lt;'a, O&gt;, O, {closure@src/main.rs:11:24: 11:27}&gt;, (), (), chumsky::extra::Full&lt;EmptyErr, (), ()&gt;&gt;`
  = help: for that trait implementation, expected `((), ())`, found `()`
```

Highlight only the `expected` and `found` types, instead of the full type in the first `help`.
</content>
</entry>
<entry>
<title>Add test for #132013</title>
<updated>2024-10-25T18:06:36+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-10-25T17:01:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=24ac777a641c7efc6d2f6e9a69617800314119f5'/>
<id>urn:sha1:24ac777a641c7efc6d2f6e9a69617800314119f5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Show number in error message even for one error</title>
<updated>2023-11-24T18:15:52+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2023-11-21T15:44:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=41e8d152dc5abb5a706999ada8b059d3420af8f3'/>
<id>urn:sha1:41e8d152dc5abb5a706999ada8b059d3420af8f3</id>
<content type='text'>
Co-authored-by: Adrian &lt;adrian.iosdev@gmail.com&gt;
</content>
</entry>
<entry>
<title>Move /src/test to /tests</title>
<updated>2023-01-11T09:32:08+00:00</updated>
<author>
<name>Albert Larsan</name>
<email>74931857+albertlarsan68@users.noreply.github.com</email>
</author>
<published>2023-01-05T08:13:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf2dff2b1e3fa55fa5415d524200070d0d7aacfe'/>
<id>urn:sha1:cf2dff2b1e3fa55fa5415d524200070d0d7aacfe</id>
<content type='text'>
</content>
</entry>
</feed>
