<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/alloc/src/sync.rs, 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-09-30T18:46:45+00:00</updated>
<entry>
<title>Rollup merge of #146886 - taiki-e:rc-inner-align, r=Mark-Simulacrum</title>
<updated>2025-09-30T18:46:45+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-09-30T18:46:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f7c7e34ae4b98edba4049326005c902fb7b6d0ab'/>
<id>urn:sha1:f7c7e34ae4b98edba4049326005c902fb7b6d0ab</id>
<content type='text'>
Add repr(align(2)) to RcInner and ArcInner

`Rc` currently assumes that `RcInner` has at least 2-byte alignment, but on AVR, `usize` has 1-byte alignment (this is because the AVR has 1-byte register sizes, so having 2-byte alignment is generally useless), breaking this assumption.

https://github.com/rust-lang/rust/blob/9f32ccf35fb877270bc44a86a126440f04d676d0/library/alloc/src/rc.rs#L3005-L3008

This PR adds `repr(align(2))` to force `RcInner` to always have at least 2-byte alignment.

Note that `ArcInner` doesn't need `repr(align(2))` because atomic types have the alignment same as its size. This PR adds a comment about this.
</content>
</entry>
<entry>
<title>Add repr(align(2)) to RcInner and ArcInner</title>
<updated>2025-09-30T13:39:10+00:00</updated>
<author>
<name>Taiki Endo</name>
<email>te316e89@gmail.com</email>
</author>
<published>2025-09-30T13:39:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9e79fac0354b2a87515c30e94754413ef99b3675'/>
<id>urn:sha1:9e79fac0354b2a87515c30e94754413ef99b3675</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update CURRENT_RUSTC_VERSION post-bump</title>
<updated>2025-09-26T22:41:32+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2025-09-14T14:30:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4e9716fbc5fb0f85d838ee9350ade2be5c2a6201'/>
<id>urn:sha1:4e9716fbc5fb0f85d838ee9350ade2be5c2a6201</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unused #![feature(get_mut_unchecked)] in Rc and Arc examples</title>
<updated>2025-09-22T13:15:25+00:00</updated>
<author>
<name>Taiki Endo</name>
<email>te316e89@gmail.com</email>
</author>
<published>2025-09-22T13:15:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=823337a4ade5e559d485904b685e8f2cef4a3a2c'/>
<id>urn:sha1:823337a4ade5e559d485904b685e8f2cef4a3a2c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #144091 - thaliaarchi:stabilize-new-zeroed, r=Mark-Simulacrum</title>
<updated>2025-09-21T04:42:33+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-09-21T04:42:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7a5819d1544918f8b11105535df58de731a217f9'/>
<id>urn:sha1:7a5819d1544918f8b11105535df58de731a217f9</id>
<content type='text'>
Stabilize `new_zeroed_alloc`

The corresponding `new_uninit` and `new_uninit_slice` functions were stabilized in rust-lang/rust#129401, but the zeroed counterparts were left for later out of a [desire](https://github.com/rust-lang/rust/issues/63291#issuecomment-2161039756) to stabilize only the minimal set. These functions are straightforward mirrors of the uninit functions and well-established. Since no blockers or design questions have surfaced in the past year, I think it's time to stabilize them.

Tracking issue: rust-lang/rust#129396
</content>
</entry>
<entry>
<title>remove deprecated Error::description in impls</title>
<updated>2025-08-26T06:36:53+00:00</updated>
<author>
<name>Marijn Schouten</name>
<email>mhkbst@gmail.com</email>
</author>
<published>2025-08-23T19:36:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=845311a065a5638c516ed96c73b09862b176b329'/>
<id>urn:sha1:845311a065a5638c516ed96c73b09862b176b329</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stabilize `new_zeroed_alloc`</title>
<updated>2025-07-20T03:25:35+00:00</updated>
<author>
<name>Thalia Archibald</name>
<email>thalia@archibald.dev</email>
</author>
<published>2025-04-22T06:27:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=175afd76180d47b655377768a87a55f8581686f0'/>
<id>urn:sha1:175afd76180d47b655377768a87a55f8581686f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `Default` impls for `Pin`ned `Box`, `Rc`, `Arc`</title>
<updated>2025-07-15T21:41:31+00:00</updated>
<author>
<name>Jules Bertholet</name>
<email>julesbertholet@quoi.xyz</email>
</author>
<published>2025-07-15T21:41:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=87dd4695fe5fe2e76999d5040deb20a018e21942'/>
<id>urn:sha1:87dd4695fe5fe2e76999d5040deb20a018e21942</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change `{Box,Arc,Rc,Weak}::into_raw` to only work with `A = Global`</title>
<updated>2025-07-01T16:25:30+00:00</updated>
<author>
<name>Amanieu d'Antras</name>
<email>amanieu@gmail.com</email>
</author>
<published>2025-05-18T11:01:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=15bd619d5f12b4d01bb645340e7eea97d7b0e7c7'/>
<id>urn:sha1:15bd619d5f12b4d01bb645340e7eea97d7b0e7c7</id>
<content type='text'>
Also applies to `Vec::into_raw_parts`.

The expectation is that you can round-trip these methods with
`from_raw`, but this is only true when using the global allocator. With
custom allocators you should instead be using
`into_raw_with_allocator` and `from_raw_in`.

The implementation of `Box::leak` is changed to use
`Box::into_raw_with_allocator` and explicitly leak the allocator (which
was already the existing behavior). This is because, for `leak` to be
safe, the allocator must not free its underlying backing store. The
`Allocator` trait only guarantees that allocated memory remains valid
until the allocator is dropped.
</content>
</entry>
<entry>
<title>Remove incorrect comments in `Weak`</title>
<updated>2025-06-19T05:04:24+00:00</updated>
<author>
<name>Tim (Theemathas) Chirananthavat</name>
<email>theemathas@gmail.com</email>
</author>
<published>2025-06-19T05:04:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=644469e9613253321d09887ffe0fb2c98528ee21'/>
<id>urn:sha1:644469e9613253321d09887ffe0fb2c98528ee21</id>
<content type='text'>
It is currently possible to create a dangling `Weak` to a DST by
calling `Weak::new()` for a sized type, then doing an unsized coercion.
Therefore, the comments are wrong.

These comments were added in &lt;https://github.com/rust-lang/rust/pull/73845&gt;.
As far as I can tell, the guarantee in the comment was only previously
used in the `as_ptr` method. However, the current implementation of
`as_ptr` no longer relies on this guarantee.
</content>
</entry>
</feed>
