<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_mir_transform/src/check_pointers.rs, branch auto</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=auto</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=auto'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-06-29T12:39:13+00:00</updated>
<entry>
<title>mir: Use the `new` method for `BasicBlockData`</title>
<updated>2025-06-29T12:39:13+00:00</updated>
<author>
<name>dianqk</name>
<email>dianqk@dianqk.net</email>
</author>
<published>2025-06-16T14:31:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=24e553e6bcfa329b04b93c0978e00b492224a255'/>
<id>urn:sha1:24e553e6bcfa329b04b93c0978e00b492224a255</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework the logic for PointerFinder::visit_place</title>
<updated>2025-04-28T12:36:47+00:00</updated>
<author>
<name>Bastian Kersting</name>
<email>bkersting@google.com</email>
</author>
<published>2025-03-17T15:37:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7082fa27a792e34a9474db396ccf3958143211af'/>
<id>urn:sha1:7082fa27a792e34a9474db396ccf3958143211af</id>
<content type='text'>
This makes the implementation of our PointerFinder a bit more
straightforward.
</content>
</entry>
<entry>
<title>Extend the alignment check to borrows</title>
<updated>2025-04-25T12:16:40+00:00</updated>
<author>
<name>Bastian Kersting</name>
<email>bkersting@google.com</email>
</author>
<published>2025-03-03T13:28:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a3e7c699bc430e29e3035d36e4b3f9682c86c56e'/>
<id>urn:sha1:a3e7c699bc430e29e3035d36e4b3f9682c86c56e</id>
<content type='text'>
The current alignment check does not include checks for creating
misaligned references from raw pointers, which is now added in this
patch.

When inserting the check we need to be careful with references to
field projections (e.g. `&amp;(*ptr).a`), in which case the resulting
reference must be aligned according to the field type and not the
type of the pointer.
</content>
</entry>
<entry>
<title>Rollup merge of #136610 - Jarcho:range_idx, r=Noratrieb</title>
<updated>2025-02-24T07:11:32+00:00</updated>
<author>
<name>Jacob Pratt</name>
<email>jacob@jhpratt.dev</email>
</author>
<published>2025-02-24T07:11:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6aa015ae9d7c0ebf95f1daabc77c5cb147b54d26'/>
<id>urn:sha1:6aa015ae9d7c0ebf95f1daabc77c5cb147b54d26</id>
<content type='text'>
Allow `IndexSlice` to be indexed by ranges.

This comes with some annoyances as the index type can no longer inferred from indexing expressions. The biggest offender for this is `IndexVec::from_fn_n(|idx| ..., n)` where the index type won't be inferred from the call site or any index expressions inside the closure.

My main use case for this is mapping a `Place` to `Range&lt;Idx&gt;` for value tracking where the range represents all the values the place contains.
</content>
</entry>
<entry>
<title>Iterate directly on block indices in `rustc_mir_transform`</title>
<updated>2025-02-21T21:10:31+00:00</updated>
<author>
<name>Jason Newcomb</name>
<email>jsnewcomb@pm.me</email>
</author>
<published>2025-02-21T21:01:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a74f3fb5fc955fe3876fa206ce2146cd355e1bb5'/>
<id>urn:sha1:a74f3fb5fc955fe3876fa206ce2146cd355e1bb5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename rustc_middle::Ty::is_unsafe_ptr to is_raw_ptr</title>
<updated>2025-02-10T12:49:18+00:00</updated>
<author>
<name>Bastian Kersting</name>
<email>bkersting@google.com</email>
</author>
<published>2025-01-24T14:08:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f842ee824534e2dbf3c2976f8007890b2238e3c5'/>
<id>urn:sha1:f842ee824534e2dbf3c2976f8007890b2238e3c5</id>
<content type='text'>
The wording unsafe pointer is less common and not mentioned in a lot of
places, instead this is usually called a "raw pointer". For the sake of
uniformity, we rename this method.
This came up during the review of
https://github.com/rust-lang/rust/pull/134424.
</content>
</entry>
<entry>
<title>Detect (non-raw) borrows of null ZST pointers in CheckNull</title>
<updated>2025-02-08T21:38:16+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2025-02-05T19:36:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b4641b2b3fd0616fa9597537f8fd954c34e6535f'/>
<id>urn:sha1:b4641b2b3fd0616fa9597537f8fd954c34e6535f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Insert null checks for pointer dereferences when debug assertions are enabled</title>
<updated>2025-01-31T11:13:34+00:00</updated>
<author>
<name>Bastian Kersting</name>
<email>bkersting@google.com</email>
</author>
<published>2024-12-17T13:00:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b151b513ba2b65c7506ec1a80f2712bbd09154d1'/>
<id>urn:sha1:b151b513ba2b65c7506ec1a80f2712bbd09154d1</id>
<content type='text'>
Similar to how the alignment is already checked, this adds a check
for null pointer dereferences in debug mode. It is implemented similarly
to the alignment check as a MirPass.

This is related to a 2025H1 project goal for better UB checks in debug
mode: https://github.com/rust-lang/rust-project-goals/pull/177.
</content>
</entry>
<entry>
<title>Refactor `PointerFinder` into a separate module</title>
<updated>2025-01-30T10:08:37+00:00</updated>
<author>
<name>Bastian Kersting</name>
<email>bkersting@google.com</email>
</author>
<published>2024-12-16T14:42:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=851322b74db9ac91a1b9d206c5f80fc51a97f7c1'/>
<id>urn:sha1:851322b74db9ac91a1b9d206c5f80fc51a97f7c1</id>
<content type='text'>
This also parameterize the "excluded pointee types" and exposes a
general method for inserting checks on pointers.

This is a preparation for adding a NullCheck that makes use of the same
code.
</content>
</entry>
</feed>
