]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #106232 - maurer:transparent-subst, r=rcvalle
authorMichael Goulet <michael@errs.io>
Sat, 31 Dec 2022 05:26:33 +0000 (21:26 -0800)
committerGitHub <noreply@github.com>
Sat, 31 Dec 2022 05:26:33 +0000 (21:26 -0800)
CFI: Monomorphize transparent ADTs before typeid

Monomorphise `#[repr(transparent)]` parameterized ADTs before turning them into an Itanium mangled String.

`#[repr(transparent)]` ADTs currently use the single field to represent them in their CFI type ID to ensure that they are compatible. However, if that type involves a type parameter instantiated at the ADT level, as in `ManuallyDrop`, this will currently ICE as the `Parameter` type cannot be mangled. Since this happens at lowering time, it should always be concrete after substitution.

Fixes #106230


Trivial merge