<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/ui/use, branch automation/bors/try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=automation/bors/try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=automation/bors/try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-25T18:34:10+00:00</updated>
<entry>
<title>Mention type that could be `Clone` but isn't in more cases</title>
<updated>2025-07-25T18:34:10+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-07-20T03:15:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=11061831f703fdb5d05816860368e4b9ab4edee7'/>
<id>urn:sha1:11061831f703fdb5d05816860368e4b9ab4edee7</id>
<content type='text'>
When encountering a moved value of a type that isn't `Clone` because of unmet obligations, but where all the unmet predicates reference crate-local types, mention them and suggest cloning, as we do in other cases already:

```
error[E0507]: cannot move out of `foo`, a captured variable in an `Fn` closure
  --&gt; f111.rs:14:25
   |
13 | fn do_stuff(foo: Option&lt;Foo&gt;) {
   |             --- captured outer variable
14 |     require_fn_trait(|| async {
   |                      -- ^^^^^ `foo` is moved here
   |                      |
   |                      captured by this `Fn` closure
15 |         if foo.map_or(false, |f| f.foo()) {
   |            ---
   |            |
   |            variable moved due to use in coroutine
   |            move occurs because `foo` has type `Option&lt;Foo&gt;`, which does not implement the `Copy` trait
   |
note: if `Foo` implemented `Clone`, you could clone the value
  --&gt; f111.rs:4:1
   |
4  | struct Foo;
   | ^^^^^^^^^^ consider implementing `Clone` for this type
...
15 |         if foo.map_or(false, |f| f.foo()) {
   |            --- you could clone this value
```
</content>
</entry>
<entry>
<title>Use non-2015 edition paths in tests that do not test for their resolution</title>
<updated>2025-06-05T07:19:31+00:00</updated>
<author>
<name>Lukas Wirth</name>
<email>lukas.wirth@ferrous-systems.com</email>
</author>
<published>2025-06-05T06:41:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=46326e159f5008c1dca78911442167d5dee07b64'/>
<id>urn:sha1:46326e159f5008c1dca78911442167d5dee07b64</id>
<content type='text'>
</content>
</entry>
<entry>
<title>resolve: Support imports of associated types and glob imports from traits</title>
<updated>2025-05-02T12:59:38+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2025-03-19T13:11:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3eee3dad5c8aa36a88d6ed2e927c53f2ba174819'/>
<id>urn:sha1:3eee3dad5c8aa36a88d6ed2e927c53f2ba174819</id>
<content type='text'>
</content>
</entry>
<entry>
<title>replace `//@ compile-flags: --edition` with `//@ edition`</title>
<updated>2025-04-10T07:56:37+00:00</updated>
<author>
<name>Pietro Albini</name>
<email>pietro.albini@ferrous-systems.com</email>
</author>
<published>2025-04-08T13:17:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cd371b90e25a5923f8106cea55b5705061974139'/>
<id>urn:sha1:cd371b90e25a5923f8106cea55b5705061974139</id>
<content type='text'>
</content>
</entry>
<entry>
<title>UI tests: add missing diagnostic kinds where possible</title>
<updated>2025-04-08T20:06:31+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2025-04-05T16:19:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b3f75353a237f3623483c1e237be480140a8c3e1'/>
<id>urn:sha1:b3f75353a237f3623483c1e237be480140a8c3e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>compiletest: Require `//~` annotations even if `error-pattern` is specified</title>
<updated>2025-04-03T08:08:55+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2025-03-28T23:41:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4d649906900cd833b0680f53b8c197b087711a4a'/>
<id>urn:sha1:4d649906900cd833b0680f53b8c197b087711a4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #134299 - RalfJung:remove-start, r=compiler-errors</title>
<updated>2025-01-21T19:46:20+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-01-21T19:46:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ed43cbcb882e7c06870abdd9305dc1f17eb9bab9'/>
<id>urn:sha1:ed43cbcb882e7c06870abdd9305dc1f17eb9bab9</id>
<content type='text'>
remove support for the (unstable) #[start] attribute

As explained by `@Noratrieb:`
`#[start]` should be deleted. It's nothing but an accidentally leaked implementation detail that's a not very useful mix between "portable" entrypoint logic and bad abstraction.

I think the way the stable user-facing entrypoint should work (and works today on stable) is pretty simple:
- `std`-using cross-platform programs should use `fn main()`. the compiler, together with `std`, will then ensure that code ends up at `main` (by having a platform-specific entrypoint that gets directed through `lang_start` in `std` to `main` - but that's just an implementation detail)
- `no_std` platform-specific programs should use `#![no_main]` and define their own platform-specific entrypoint symbol with `#[no_mangle]`, like `main`, `_start`, `WinMain` or `my_embedded_platform_wants_to_start_here`. most of them only support a single platform anyways, and need cfg for the different platform's ways of passing arguments or other things *anyways*

`#[start]` is in a super weird position of being neither of those two. It tries to pretend that it's cross-platform, but its signature is  a total lie. Those arguments are just stubbed out to zero on ~~Windows~~ wasm, for example. It also only handles the platform-specific entrypoints for a few platforms that are supported by `std`, like Windows or Unix-likes. `my_embedded_platform_wants_to_start_here` can't use it, and neither could a libc-less Linux program.
So we have an attribute that only works in some cases anyways, that has a signature that's a total lie (and a signature that, as I might want to add, has changed recently, and that I definitely would not be comfortable giving *any* stability guarantees on), and where there's a pretty easy way to get things working without it in the first place.

Note that this feature has **not** been RFCed in the first place.

*This comment was posted [in May](https://github.com/rust-lang/rust/issues/29633#issuecomment-2088596042) and so far nobody spoke up in that issue with a usecase that would require keeping the attribute.*

Closes https://github.com/rust-lang/rust/issues/29633

try-job: x86_64-gnu-nopt
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: test-various
</content>
</entry>
<entry>
<title>remove support for the #[start] attribute</title>
<updated>2025-01-21T13:59:15+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-12-14T08:13:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=56c90dc31e86bbaf486826a21a33d7c56e8f742f'/>
<id>urn:sha1:56c90dc31e86bbaf486826a21a33d7c56e8f742f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement `use` associated items of traits</title>
<updated>2025-01-16T08:34:05+00:00</updated>
<author>
<name>Frank King</name>
<email>frankking1729@gmail.com</email>
</author>
<published>2024-12-25T06:54:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5079acc060b1c7225de95ee3cdd84b5719ff189c'/>
<id>urn:sha1:5079acc060b1c7225de95ee3cdd84b5719ff189c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: remove `//@ pretty-expanded` usages</title>
<updated>2024-11-25T18:50:48+00:00</updated>
<author>
<name>许杰友 Jieyou Xu (Joe)</name>
<email>39484203+jieyouxu@users.noreply.github.com</email>
</author>
<published>2024-11-25T17:56:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=95ff642797536f055c04ae2486bc8ab3156535b5'/>
<id>urn:sha1:95ff642797536f055c04ae2486bc8ab3156535b5</id>
<content type='text'>
Done with

```bash
sd '//@ pretty-expanded.*\n' '' tests/ui/**/*.rs
```

and

```
sd '//@pretty-expanded.*\n' '' tests/ui/**/*.rs
```
</content>
</entry>
</feed>
