<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_monomorphize/src, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-09T16:37:11+00:00</updated>
<entry>
<title>Add opaque TypeId handles for CTFE</title>
<updated>2025-07-09T16:37:11+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-03-12T10:26:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=486ffda9dcd0d4ef0a09d81e6ce5f241e77526a1'/>
<id>urn:sha1:486ffda9dcd0d4ef0a09d81e6ce5f241e77526a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>setup CI and tidy to use typos for spellchecking and fix few typos</title>
<updated>2025-07-03T07:51:06+00:00</updated>
<author>
<name>klensy</name>
<email>klensy@users.noreply.github.com</email>
</author>
<published>2024-12-07T10:51:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c76d032f0144b650a438ee1efba89c475e0b115b'/>
<id>urn:sha1:c76d032f0144b650a438ee1efba89c475e0b115b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove support for dyn*</title>
<updated>2025-07-01T19:00:21+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2025-06-26T02:01:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2516c339829cd9193c15464218a981b8547157ca'/>
<id>urn:sha1:2516c339829cd9193c15464218a981b8547157ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #141759 - 1c3t3a:discriminants-query, r=saethlin</title>
<updated>2025-06-28T10:25:00+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-06-28T10:25:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b63223c152212832ce37a109e26cc5f84c577532'/>
<id>urn:sha1:b63223c152212832ce37a109e26cc5f84c577532</id>
<content type='text'>
Insert checks for enum discriminants when debug assertions are enabled

Similar to the existing null-pointer and alignment checks, this checks for valid enum discriminants on creation of enums through unsafe transmutes. Essentially this sanitizes patterns like the following:
```rust
let val: MyEnum = unsafe { std::mem::transmute&lt;u32, MyEnum&gt;(42) };
```

An extension of this check will be done in a follow-up that explicitly sanitizes for extern enum values that come into Rust from e.g. C/C++.

This check is similar to Miri's capabilities of checking for valid construction of enum values.

This PR is inspired by saethlin@'s PR
https://github.com/rust-lang/rust/pull/104862. Thank you so much for keeping this code up and the detailed comments!

I also pair-programmed large parts of this together with vabr-g@.

r? `@saethlin`
</content>
</entry>
<entry>
<title>Auto merge of #142893 - Mark-Simulacrum:no-const-collect, r=oli-obk</title>
<updated>2025-06-27T12:57:05+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-06-27T12:57:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=13c46fd0b089360922a557d8e18a63a2c41dfbeb'/>
<id>urn:sha1:13c46fd0b089360922a557d8e18a63a2c41dfbeb</id>
<content type='text'>
Stop collecting unmentioned constants

This avoids generating useless dead LLVM IR. This appears to have regressed and/or been introduced in rust-lang/rust#53821 (unfortunately a very large PR - I don't see any direct discussion there of this particular change), but as far as I can tell is at least no longer necessary -- or we lack test coverage -- because none of our UI tests indicate diagnostics regressions. The adjusted codegen-units test has comments explicitly noting that these items should *not* be collected ("These are not referenced, so they do not produce mono-items").

I noticed this while looking at libcore LLVM IR we generate, which contained dead code references to the NOOP Waker item, which is never used inside libcore. Producing LLVM IR for it during libcore's compilation, only for that IR to get deleted by LLVM as unused, isn't useful. Note that the IR is generally all marked internal, too.
</content>
</entry>
<entry>
<title>Insert checks for enum discriminants when debug assertions are enabled</title>
<updated>2025-06-27T09:37:36+00:00</updated>
<author>
<name>Bastian Kersting</name>
<email>bkersting@google.com</email>
</author>
<published>2025-05-15T19:09:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1087042e22ae3d14ff856f621a84eaa3e15cc537'/>
<id>urn:sha1:1087042e22ae3d14ff856f621a84eaa3e15cc537</id>
<content type='text'>
Similar to the existing nullpointer and alignment checks, this checks
for valid enum discriminants on creation of enums through unsafe
transmutes. Essentially this sanitizes patterns like the following:
```rust
let val: MyEnum = unsafe { std::mem::transmute&lt;u32, MyEnum&gt;(42) };
```
An extension of this check will be done in a follow-up that explicitly
sanitizes for extern enum values that come into Rust from e.g. C/C++.

This check is similar to Miri's capabilities of checking for valid
construction of enum values.

This PR is inspired by saethlin@'s PR
https://github.com/rust-lang/rust/pull/104862. Thank you so much for
keeping this code up and the detailed comments!

I also pair-programmed large parts of this together with vabr-g@.
</content>
</entry>
<entry>
<title>Stop collecting unmentioned constants</title>
<updated>2025-06-22T21:52:49+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2025-06-22T21:51:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=928564c7bfb395e1e5bd34d8913b7627ee4d1130'/>
<id>urn:sha1:928564c7bfb395e1e5bd34d8913b7627ee4d1130</id>
<content type='text'>
This avoids generating useless dead LLVM IR.
</content>
</entry>
<entry>
<title>Skip collecting no-op DropGlue in vtables</title>
<updated>2025-06-21T22:59:36+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2025-06-14T14:22:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1f405735078ac34be300fd2bd7c532aaa0bb6fc5'/>
<id>urn:sha1:1f405735078ac34be300fd2bd7c532aaa0bb6fc5</id>
<content type='text'>
Since 122662 this no longer gets used in vtables, so we're safe to fully
drop generating these empty functions. Those are eventually cleaned up
by LLVM, but it's wasteful to produce them in the first place.

This also adds a missing test for fn-ptr casts, which do still need to
generate no-op drop glue. It's possible a future optimization could
point all of those at the same drop glue (e.g., for *mut ()) rather than
for each separate type, but that would require extra work for CFI and
isn't particularly easy to do anyway.
</content>
</entry>
<entry>
<title>Remove all support for wasm's legacy ABI</title>
<updated>2025-06-14T09:57:06+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2024-12-06T09:06:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3e944fa3917a58e30d970d2cce42c14c5edf390b'/>
<id>urn:sha1:3e944fa3917a58e30d970d2cce42c14c5edf390b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #141558 - Diggsey:db-limit-cgu-name-length, r=matthewjasper</title>
<updated>2025-06-07T05:05:45+00:00</updated>
<author>
<name>Jacob Pratt</name>
<email>jacob@jhpratt.dev</email>
</author>
<published>2025-06-07T05:05:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9f35917dd958307b128da331d2c0fad0ac63515a'/>
<id>urn:sha1:9f35917dd958307b128da331d2c0fad0ac63515a</id>
<content type='text'>
Limit the size of cgu names when using the `-Zhuman-readable-cgu-name…

…s` option

Prior to this change, cgu names could be generated which would result in filenames longer than the limit imposed by the OS.
</content>
</entry>
</feed>
