<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/codegen/zst-offset.rs, branch 1.82.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.82.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.82.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-05-31T05:56:43+00:00</updated>
<entry>
<title>Run rustfmt on `tests/codegen/`.</title>
<updated>2024-05-31T05:56:43+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-05-29T04:11:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=72800d3b896a5733d08213ec357f3a875f1f5b0e'/>
<id>urn:sha1:72800d3b896a5733d08213ec357f3a875f1f5b0e</id>
<content type='text'>
Except for `simd-intrinsic/`, which has a lot of files containing
multiple types like `u8x64` which really are better when hand-formatted.

There is a surprising amount of two-space indenting in this directory.

Non-trivial changes:
- `rustfmt::skip` needed in `debug-column.rs` to preserve meaning of the
  test.
- `rustfmt::skip` used in a few places where hand-formatting read more
  nicely: `enum/enum-match.rs`
- Line number adjustments needed for the expected output of
  `debug-column.rs` and `coroutine-debug.rs`.
</content>
</entry>
<entry>
<title>use GEP inbounds for ZST and DST field offsets</title>
<updated>2024-03-04T14:32:33+00:00</updated>
<author>
<name>Erik Desjardins</name>
<email>erikdesjardins@users.noreply.github.com</email>
</author>
<published>2024-02-28T05:09:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8ebd307d2a95840e193ff03aff21c87b5c643ef4'/>
<id>urn:sha1:8ebd307d2a95840e193ff03aff21c87b5c643ef4</id>
<content type='text'>
For the former, it's fine for `inbounds` offsets to be one-past-the-end,
so it's okay even if the ZST is the last field in the layout:

&gt; The base pointer has an in bounds address of an allocated object,
&gt; which means that it points into an allocated object, or to its end.

https://llvm.org/docs/LangRef.html#getelementptr-instruction

For the latter, even DST fields must always be inside the layout
(or to its end for ZSTs), so using inbounds is also fine there.
</content>
</entry>
<entry>
<title>use non-inbounds GEP for ZSTs, add fixmes</title>
<updated>2024-02-28T04:00:54+00:00</updated>
<author>
<name>Erik Desjardins</name>
<email>erikdesjardins@users.noreply.github.com</email>
</author>
<published>2024-02-28T04:00:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c1017d48281c0fad0a93e36315db357d3a8b5f6a'/>
<id>urn:sha1:c1017d48281c0fad0a93e36315db357d3a8b5f6a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>always use gep inbounds i8 (ptradd) for field offsets</title>
<updated>2024-02-27T03:28:09+00:00</updated>
<author>
<name>Erik Desjardins</name>
<email>erikdesjardins@users.noreply.github.com</email>
</author>
<published>2024-02-24T04:23:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=123015e7224fda0e9600962aa23202ac322271bc'/>
<id>urn:sha1:123015e7224fda0e9600962aa23202ac322271bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives</title>
<updated>2024-02-22T16:04:04+00:00</updated>
<author>
<name>许杰友 Jieyou Xu (Joe)</name>
<email>jieyouxu@outlook.com</email>
</author>
<published>2024-02-22T12:10:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6e48b96692d63a79a14563f27fe5185f122434f8'/>
<id>urn:sha1:6e48b96692d63a79a14563f27fe5185f122434f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Address review comments</title>
<updated>2024-01-02T14:03:14+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2024-01-02T13:41:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8e64fc94d895b570e80db8edc3e3ef265e19db8c'/>
<id>urn:sha1:8e64fc94d895b570e80db8edc3e3ef265e19db8c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add more codegen tests</title>
<updated>2023-01-17T15:23:22+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2022-12-30T20:11:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f1255380ac1cb7be1b6b0ac0eda5b1274b29eff6'/>
<id>urn:sha1:f1255380ac1cb7be1b6b0ac0eda5b1274b29eff6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Put `noundef` on all scalars that don't allow uninit</title>
<updated>2023-01-17T07:14:35+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2022-12-30T14:55:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=645c0fddd2e0446cc0e6eecd8a78de4b5ab5a967'/>
<id>urn:sha1:645c0fddd2e0446cc0e6eecd8a78de4b5ab5a967</id>
<content type='text'>
Previously, it was only put on scalars with range validity invariants
like bool, was uninit was obviously invalid for those.

Since then, we have normatively declared all uninit primitives to be
undefined behavior and can therefore put `noundef` on them.

The remaining concern was the `mem::uninitialized` function, which cause
quite a lot of UB in the older parts of the ecosystem. This function now
doesn't return uninit values anymore, making users of it safe from this
change.

The only real sources of UB where people could encounter uninit
primitives are `MaybeUninit::uninit().assume_init()`, which has always
be clear in the docs about being UB and from heap allocations (like
reading from the spare capacity of a vec. This is hopefully rare enough
to not break anything.
</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>
