<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/ui/impl-trait, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-30T12:25:16+00:00</updated>
<entry>
<title>Rollup merge of #146011 - estebank:lifetime-obligation-span, r=lcnr</title>
<updated>2025-09-30T12:25:16+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-09-30T12:25:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1aa426b335ba4b7414deea34e6ecf628469fd98f'/>
<id>urn:sha1:1aa426b335ba4b7414deea34e6ecf628469fd98f</id>
<content type='text'>
Point at fn bound that introduced lifetime obligation

The last note is new
```
error[E0597]: `c` does not live long enough
  --&gt; $DIR/without-precise-captures-we-are-powerless.rs:19:20
   |
LL | fn simple&lt;'a&gt;(x: &amp;'a i32) {
   |           -- lifetime `'a` defined here
...
LL |     let c = async move || { println!("{}", *x); };
   |         - binding `c` declared here
LL |     outlives::&lt;'a&gt;(c());
   |     ---------------^---
   |     |              |
   |     |              borrowed value does not live long enough
   |     argument requires that `c` is borrowed for `'a`
LL |     outlives::&lt;'a&gt;(call_once(c));
LL | }
   | - `c` dropped here while still borrowed
   |
note: requirement that `c` is borrowed for `'a` introduced here
  --&gt; $DIR/without-precise-captures-we-are-powerless.rs:7:33
   |
LL | fn outlives&lt;'a&gt;(_: impl Sized + 'a) {}
   |                                 ^^
```

When encountering a `ConstraintCategory::Predicate` in a funtion call, point at the `Span` for that `Predicate` to explain where the lifetime obligation originates from.

CC rust-lang/rust#55307.
</content>
</entry>
<entry>
<title>reword note</title>
<updated>2025-09-28T20:55:35+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-08-31T20:42:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4973903cd204dd2cd36e15267de72ed6d954e3a6'/>
<id>urn:sha1:4973903cd204dd2cd36e15267de72ed6d954e3a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Point at lifetime requirement origin in more cases</title>
<updated>2025-09-28T20:55:34+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-08-29T20:14:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7a0319f01d08e541c8e16febaa68c5fa8b66b586'/>
<id>urn:sha1:7a0319f01d08e541c8e16febaa68c5fa8b66b586</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Point at fn bound that introduced lifetime obligation</title>
<updated>2025-09-28T20:55:34+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-08-29T19:35:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c3e0b29e79f347edf7e0ae559bfec2d3cdf353d8'/>
<id>urn:sha1:c3e0b29e79f347edf7e0ae559bfec2d3cdf353d8</id>
<content type='text'>
```
error[E0597]: `c` does not live long enough
  --&gt; $DIR/without-precise-captures-we-are-powerless.rs:19:20
   |
LL | fn simple&lt;'a&gt;(x: &amp;'a i32) {
   |           -- lifetime `'a` defined here
...
LL |     let c = async move || { println!("{}", *x); };
   |         - binding `c` declared here
LL |     outlives::&lt;'a&gt;(c());
   |     ---------------^---
   |     |              |
   |     |              borrowed value does not live long enough
   |     argument requires that `c` is borrowed for `'a`
LL |     outlives::&lt;'a&gt;(call_once(c));
LL | }
   | - `c` dropped here while still borrowed
   |
note: requirement that `c` is borrowed for `'a` introduced here
  --&gt; $DIR/without-precise-captures-we-are-powerless.rs:7:33
   |
LL | fn outlives&lt;'a&gt;(_: impl Sized + 'a) {}
   |                                 ^^
```

When encountering a `ConstraintCategory::Predicate` in a funtion call, point at the `Span` for that `Predicate` to explain where the lifetime obligation originates from.
</content>
</entry>
<entry>
<title>Rollup merge of #146675 - Jules-Bertholet:sync-nonexclusive, r=Mark-Simulacrum</title>
<updated>2025-09-28T16:13:12+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-09-28T16:13:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=750e902a751a8761ad0a9e8ba806c5c543d17e34'/>
<id>urn:sha1:750e902a751a8761ad0a9e8ba806c5c543d17e34</id>
<content type='text'>
Allow shared access to `Exclusive&lt;T&gt;` when `T: Sync`

Addresses libs-api request in https://github.com/rust-lang/rust/issues/98407#issuecomment-3299348713.

Adds the following trait impls to `Exclusive&lt;T&gt;`, all bounded on `T: Sync`:

- `AsRef&lt;T&gt;`
- `Clone`
- `Copy`
- `PartialEq`
- `StructuralPartialEq`
- `Eq`
- `Hash`
- `PartialOrd`
- `Ord`
- `Fn`

``@rustbot`` label T-libs-api
</content>
</entry>
<entry>
<title>Auto merge of #147074 - matthiaskrgr:rollup-sm3owsd, r=matthiaskrgr</title>
<updated>2025-09-27T00:44:47+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-09-27T00:44:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e1318422222101423fdbbe0f375109c3b40f75bc'/>
<id>urn:sha1:e1318422222101423fdbbe0f375109c3b40f75bc</id>
<content type='text'>
Rollup of 10 pull requests

Successful merges:

 - rust-lang/rust#145113 (resolve: Do not finalize shadowed bindings)
 - rust-lang/rust#146523 (Demote both armebv7r-none-* targets.)
 - rust-lang/rust#146704 (port `#[debugger_visualizer]` to the new attribute system)
 - rust-lang/rust#146758 (Stop linking rs{begin,end} objects on x86_64-*-windows-gnu)
 - rust-lang/rust#146778 (Use standard attribute logic for allocator shim)
 - rust-lang/rust#146849 (Reduce some uses of `LegacyBang`)
 - rust-lang/rust#147016 (fix doc comments to be more standard)
 - rust-lang/rust#147027 (Add new `tyalias` intra-doc link disambiguator)
 - rust-lang/rust#147031 (mbe: Simplify check_redundant_vis_repetition)
 - rust-lang/rust#147058 (Ignore more failing ui tests for GCC backend)

Failed merges:

 - rust-lang/rust#147046 (Rename `rust.use-lld` to `rust.bootstrap-override-lld`)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>add tests</title>
<updated>2025-09-26T14:33:15+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2025-09-24T08:28:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d6fe5334185385372d1fe8f1c9df8f5d3e7be788'/>
<id>urn:sha1:d6fe5334185385372d1fe8f1c9df8f5d3e7be788</id>
<content type='text'>
</content>
</entry>
<entry>
<title>move tests</title>
<updated>2025-09-26T14:33:15+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2025-09-24T08:08:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eebf871feaca10886f80a76a36b3771e960c047e'/>
<id>urn:sha1:eebf871feaca10886f80a76a36b3771e960c047e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>allow method calls on opaques</title>
<updated>2025-09-26T14:33:15+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2025-09-23T15:33:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=148fd9ad3c434c26a952e01e37c35aa26cb8315c'/>
<id>urn:sha1:148fd9ad3c434c26a952e01e37c35aa26cb8315c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>use `try_structurally_resolve_type` for method receiver</title>
<updated>2025-09-26T14:33:15+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2025-09-23T13:32:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6b379b560df483307958f2a606a1dd514fff36ca'/>
<id>urn:sha1:6b379b560df483307958f2a606a1dd514fff36ca</id>
<content type='text'>
We'll still error due to the `opt_bad_ty` of `method_autoderef_steps`.
This slightly worsens the span of `infer_var.method()` which is now the
same as for `Box::new(infer_var).method()`.

Unlike `structurally_resolve_type`, `probe_op` does not check whether
the infcx is already tainted, so this results in 2 previously not emitted
errors.
</content>
</entry>
</feed>
