Skip to content

IRGen: Correctly set and honor the "is reflectable" bit on structs. #17713

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 3, 2018

Conversation

jckarter
Copy link
Contributor

@jckarter jckarter commented Jul 3, 2018

If we only emit an opaque reflection record for a struct, then we can't reflect its fields. We failed both to clear the "is reflectable" bit in the context descriptor for non-reflectable structs, and to check for the bit before trying to present a struct's fields as children in the runtime. rdar://problem/41274260

@jckarter jckarter requested a review from mikeash July 3, 2018 20:15
@jckarter
Copy link
Contributor Author

jckarter commented Jul 3, 2018

@swift-ci Please test

…d classes.

If we only emit an opaque reflection record for a struct or class, then we can't reflect its fields. We failed both to clear the "is reflectable" bit in the context descriptor for non-reflectable structs, and to check for the bit before trying to present a struct's fields as children in the runtime. rdar://problem/41274260
@jckarter jckarter force-pushed the non-reflectable-structs branch from 1943a78 to 06ac238 Compare July 3, 2018 20:53
@jckarter
Copy link
Contributor Author

jckarter commented Jul 3, 2018

@swift-ci Please test

@swift-ci
Copy link
Contributor

swift-ci commented Jul 3, 2018

Build failed
Swift Test OS X Platform
Git Sha - 1943a78e9ab908b5d24af3ea41f25ab94a0fd7a8

@swift-ci
Copy link
Contributor

swift-ci commented Jul 3, 2018

Build failed
Swift Test Linux Platform
Git Sha - 1943a78e9ab908b5d24af3ea41f25ab94a0fd7a8

@jckarter jckarter merged commit d72cae8 into swiftlang:master Jul 3, 2018
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.

3 participants