mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
dec36c3d6e
Current `transform_ty` attempts to avoid cycles when normalizing `#[repr(transparent)]` types to their interior, but runs afoul of this pattern used in `self_cell`: ``` struct X<T> { x: u8, p: PhantomData<T>, } #[repr(transparent)] struct Y(X<Y>); ``` When attempting to normalize Y, it will still cycle indefinitely. By using a types-visited list, this will instead get expanded exactly one layer deep to X<Y>, and then stop, not attempting to normalize `Y` any further. |
||
---|---|---|
.. | ||
add-canonical-jump-tables-flag.rs | ||
add-enable-split-lto-unit-flag.rs | ||
emit-type-checks-attr-no-sanitize.rs | ||
emit-type-checks.rs | ||
emit-type-metadata-attr-cfi-encoding.rs | ||
emit-type-metadata-id-itanium-cxx-abi-const-generics.rs | ||
emit-type-metadata-id-itanium-cxx-abi-function-types.rs | ||
emit-type-metadata-id-itanium-cxx-abi-lifetimes.rs | ||
emit-type-metadata-id-itanium-cxx-abi-paths.rs | ||
emit-type-metadata-id-itanium-cxx-abi-pointer-types.rs | ||
emit-type-metadata-id-itanium-cxx-abi-primitive-types.rs | ||
emit-type-metadata-id-itanium-cxx-abi-repr-transparent-types.rs | ||
emit-type-metadata-id-itanium-cxx-abi-sequence-types.rs | ||
emit-type-metadata-id-itanium-cxx-abi-trait-types.rs | ||
emit-type-metadata-id-itanium-cxx-abi-user-defined-types.rs | ||
emit-type-metadata-itanium-cxx-abi-generalized.rs | ||
emit-type-metadata-itanium-cxx-abi-normalized-generalized.rs | ||
emit-type-metadata-itanium-cxx-abi-normalized.rs | ||
emit-type-metadata-itanium-cxx-abi.rs | ||
emit-type-metadata-trait-objects.rs | ||
generalize-pointers.rs | ||
normalize-integers.rs |