<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/std/src/sys/pal, branch 1.88.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.88.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.88.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-05-05T10:16:40+00:00</updated>
<entry>
<title>collect all Fuchsia bindings into the `fuchsia` module</title>
<updated>2025-05-05T10:16:40+00:00</updated>
<author>
<name>joboet</name>
<email>jonasboettiger@icloud.com</email>
</author>
<published>2025-05-05T10:16:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7845c011dd3bdfb5eaa461476f5f7d0f3aa16dfc'/>
<id>urn:sha1:7845c011dd3bdfb5eaa461476f5f7d0f3aa16dfc</id>
<content type='text'>
The Fuchsia bindings are currently spread out across multiple modules in `sys/pal/unix` leading to unnecessary duplication. This PR moves all of these definitions into `sys::pal::unix::fuchsia` and additionally:
* deduplicates the definitions
* makes the error names consistent
* marks some extern functions as safe
* removes unused items (there's no need to maintain these bindings if we're not going to use them)
* removes the documentation for the definitions (contributors should always consult the platform documentation, duplicating that here is just an extra maintenance burden)
</content>
</entry>
<entry>
<title>Rollup merge of #139206 - joboet:unique_thread_errno, r=ibraheemdev</title>
<updated>2025-05-02T12:16:59+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-05-02T12:16:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8ffdb00d4483d8f2797895adaa181ee30d8f922f'/>
<id>urn:sha1:8ffdb00d4483d8f2797895adaa181ee30d8f922f</id>
<content type='text'>
std: use the address of `errno` to identify threads in `unique_thread_exit`

Getting the address of `errno` should be just as cheap as `pthread_self()` and avoids having to use the expensive `Mutex` logic because it always results in a pointer.
</content>
</entry>
<entry>
<title>Auto merge of #123239 - Urgau:dangerous_implicit_autorefs, r=jdonszelmann,traviscross</title>
<updated>2025-04-28T08:25:23+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-04-28T08:25:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a932eb36f8adf6c8cdfc450f063943da3112d621'/>
<id>urn:sha1:a932eb36f8adf6c8cdfc450f063943da3112d621</id>
<content type='text'>
Implement a lint for implicit autoref of raw pointer dereference - take 2

*[t-lang nomination comment](https://github.com/rust-lang/rust/pull/123239#issuecomment-2727551097)*

This PR aims at implementing a lint for implicit autoref of raw pointer dereference, it is based on #103735 with suggestion and improvements from https://github.com/rust-lang/rust/pull/103735#issuecomment-1370420305.

The goal is to catch cases like this, where the user probably doesn't realise it just created a reference.

```rust
pub struct Test {
    data: [u8],
}

pub fn test_len(t: *const Test) -&gt; usize {
    unsafe { (*t).data.len() }  // this calls &lt;[T]&gt;::len(&amp;self)
}
```

Since #103735 already went 2 times through T-lang, where they T-lang ended-up asking for a more restricted version (which is what this PR does), I would prefer this PR to be reviewed first before re-nominating it for T-lang.

----

Compared to the PR it is as based on, this PR adds 3 restrictions on the outer most expression, which must either be:
   1. A deref followed by any non-deref place projection (that intermediate deref will typically be auto-inserted)
   2. A method call annotated with `#[rustc_no_implicit_refs]`.
   3. A deref followed by a `addr_of!` or `addr_of_mut!`. See bottom of post for details.

There are several points that are not 100% clear to me when implementing the modifications:
 - ~~"4. Any number of automatically inserted deref/derefmut calls." I as never able to trigger this. Am I missing something?~~ Fixed
 - Are "index" and "field" enough?

----

cc `@JakobDegen` `@WaffleLapkin`
r? `@RalfJung`

try-job: dist-various-1
try-job: dist-various-2
</content>
</entry>
<entry>
<title>Fix SGX library code implicit auto-ref</title>
<updated>2025-04-27T10:00:47+00:00</updated>
<author>
<name>Urgau</name>
<email>urgau@numericable.fr</email>
</author>
<published>2025-04-27T10:00:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=05f2b2265dd96655e9984c1b2b8ef207f09a88f9'/>
<id>urn:sha1:05f2b2265dd96655e9984c1b2b8ef207f09a88f9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>use generic Atomic type where possible</title>
<updated>2025-04-26T23:18:08+00:00</updated>
<author>
<name>Christopher Durham</name>
<email>cad97@cad97.com</email>
</author>
<published>2024-09-19T04:15:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4d93f6056824c338751f19356d33bb61ce818749'/>
<id>urn:sha1:4d93f6056824c338751f19356d33bb61ce818749</id>
<content type='text'>
in core/alloc/std only for now, and ignoring test files

Co-authored-by: Pavel Grigorenko &lt;GrigorenkoPV@ya.ru&gt;
</content>
</entry>
<entry>
<title>Auto merge of #140282 - matthiaskrgr:rollup-g6ze4jj, r=matthiaskrgr</title>
<updated>2025-04-25T12:27:16+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-04-25T12:27:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8f43b85954d2f3d8fc00a7504c603e5ca9eb0695'/>
<id>urn:sha1:8f43b85954d2f3d8fc00a7504c603e5ca9eb0695</id>
<content type='text'>
Rollup of 8 pull requests

Successful merges:

 - #137653 (Deprecate the unstable `concat_idents!`)
 - #138957 (Update the index of Option to make the summary more comprehensive)
 - #140006 (ensure compiler existance of tools on the dist step)
 - #140143 (Move `sys::pal::os::Env` into `sys::env`)
 - #140202 (Make #![feature(let_chains)] bootstrap conditional in compiler/)
 - #140236 (norm nested aliases before evaluating the parent goal)
 - #140257 (Some drive-by housecleaning in `rustc_borrowck`)
 - #140278 (Don't use item name to look up associated item from trait item)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Auto merge of #140273 - matthiaskrgr:rollup-rxmuvkg, r=matthiaskrgr</title>
<updated>2025-04-25T09:09:27+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-04-25T09:09:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5c54aa781f97ae95ef01a3120650907b87d385d3'/>
<id>urn:sha1:5c54aa781f97ae95ef01a3120650907b87d385d3</id>
<content type='text'>
Rollup of 8 pull requests

Successful merges:

 - #137096 (Stabilize flags for doctest cross compilation)
 - #140148 (CI: use aws codebuild for job dist-arm-linux)
 - #140187 ([AIX] Handle AIX dynamic library extensions within c-link-to-rust-dylib run-make test)
 - #140196 (Improved diagnostics for non-primitive cast on non-primitive types (`Arc`, `Option`))
 - #140210 (Work around cygwin issue on condvar timeout)
 - #140213 (mention about `x.py setup` in `INSTALL.md`)
 - #140229 (`DelimArgs` tweaks)
 - #140248 (Fix impl block items indent)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Rollup merge of #140143 - thaliaarchi:move-env-pal, r=joboet</title>
<updated>2025-04-25T05:50:25+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-04-25T05:50:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f3641df491b30f192aed3c5bb2676a07b06434ae'/>
<id>urn:sha1:f3641df491b30f192aed3c5bb2676a07b06434ae</id>
<content type='text'>
Move `sys::pal::os::Env` into `sys::env`

Although `Env` (as `Vars`), `Args`, path functions, and OS constants are publicly exposed via `std::env`, their implementations are each self-contained. Keep them separate in `std::sys` and make a new module, `sys::env`, for `Env`.

Also fix `unsafe_op_in_unsafe_fn` for Unix and update the `!DynSend` and `!DynSync` impls which had grown out of sync with the platforms (see #48005 for discussion on that).

r? joboet

Tracked in #117276.
</content>
</entry>
<entry>
<title>Work around cygwin issue on timeout</title>
<updated>2025-04-23T17:25:46+00:00</updated>
<author>
<name>王宇逸</name>
<email>Strawberry_Str@hotmail.com</email>
</author>
<published>2025-04-23T17:25:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d2120e653e9acca9ab6f3053d0a173fa285fba04'/>
<id>urn:sha1:d2120e653e9acca9ab6f3053d0a173fa285fba04</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move zkVM constants into `sys::env_consts`</title>
<updated>2025-04-22T04:05:04+00:00</updated>
<author>
<name>Thalia Archibald</name>
<email>thalia@archibald.dev</email>
</author>
<published>2025-04-22T04:05:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dfc8f02279ab13c81ab47cb875bc585adc0cdc6f'/>
<id>urn:sha1:dfc8f02279ab13c81ab47cb875bc585adc0cdc6f</id>
<content type='text'>
I missed this in #139868. Its `mod` declaration was removed, but the
contents were not moved.
</content>
</entry>
</feed>
