Skip to content

Conversation

jckarter
Copy link
Contributor

@jckarter jckarter commented Oct 7, 2025

There is a compatibility hack where fallback metadata access functions used in field type metadata lie and say a field's type is the empty tuple when it's noncopyable and the runtime doesn't advertise compatibility with noncopyable types. Unfortunately, this hack applied to all fallback metadata access functions, causing us to return wrong metadata in situations we really need the correct metadata, such as in associated type substitutions. Constrain the hack to only apply to reflection metadata. Fixes rdar://161562839.

@jckarter
Copy link
Contributor Author

jckarter commented Oct 7, 2025

@swift-ci Please test

…bearing mangled names.

There is a compatibility hack where fallback metadata access functions
used in field type metadata lie and say a field's type is the empty
tuple when it's noncopyable and the runtime doesn't advertise compatibility
with noncopyable types. Unfortunately, this hack applied to *all* fallback
metadata access functions, causing us to return wrong metadata in situations
we really need the correct metadata, such as in associated type substitutions.
Constrain the hack to only apply to reflection metadata. Fixes rdar://161562839.
@jckarter jckarter force-pushed the dont-hide-load-bearing-noncopyable-metadata branch from 564e63c to 0e33fe1 Compare October 7, 2025 01:33
@jckarter
Copy link
Contributor Author

jckarter commented Oct 7, 2025

@swift-ci Please test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant