Skip to content
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

Ensure reachability of types returned by FFI calls #4149

Merged
merged 4 commits into from
Jun 23, 2022

Conversation

ergl
Copy link
Member

@ergl ergl commented Jun 21, 2022

After introducing #4060, we forgot to re-add the code that ensured that, if a
FFI function call specified different return types, those types were being
marked as reachable.

This created a situation where programs that introduced a new type (for example,
a bare lambda) in the context of a FFI return type would crash the compiler.
This was due to having missing information about the type during code
generation.

ergl added 2 commits June 21, 2022 17:28
After introducing #4060, we forgot to re-add the code that ensured that, if a
FFI function call specified different return types, those types were being
marked as reachable.

This created a situation where programs that introduced a new type (for example,
a bare lambda) in the context of a FFI return type would crash the compiler.
This was due to having missing information about the type during code
generation.
@ergl ergl added the changelog - fixed Automatically add "Fixed" CHANGELOG entry on merge label Jun 21, 2022
@ponylang-main ponylang-main added the discuss during sync Should be discussed during an upcoming sync label Jun 21, 2022
@ponylang-main
Copy link
Contributor

Hi @ergl,

The changelog - fixed label was added to this pull request; all PRs with a changelog label need to have release notes included as part of the PR. If you haven't added release notes already, please do.

Release notes are added by creating a uniquely named file in the .release-notes directory. We suggest you call the file 4149.md to match the number of this pull request.

The basic format of the release notes (using markdown) should be:

## Title

End user description of changes, why it's important,
problems it solves etc.

If a breaking change, make sure to include 1 or more
examples what code would look like prior to this change
and how to update it to work after this change.

Thanks.

Copy link
Member

@SeanTAllen SeanTAllen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with nit about spacing in the additional.c

@jemc jemc removed the discuss during sync Should be discussed during an upcoming sync label Jun 21, 2022
@ergl ergl force-pushed the ergl/fix-ffi-return-type-reachability branch from 6325475 to 852a719 Compare June 21, 2022 18:23
@ergl ergl force-pushed the ergl/fix-ffi-return-type-reachability branch from 852a719 to 4f64cc5 Compare June 23, 2022 07:14
@ergl
Copy link
Member Author

ergl commented Jun 23, 2022

This is now ready to merge (I forgot one spacing change in my last revision). When this is merged, please use the description in the OP as the commit message.

@ponylang-main ponylang-main added the discuss during sync Should be discussed during an upcoming sync label Jun 23, 2022
@SeanTAllen SeanTAllen merged commit 4be962a into main Jun 23, 2022
@SeanTAllen SeanTAllen deleted the ergl/fix-ffi-return-type-reachability branch June 23, 2022 13:41
@ponylang-main ponylang-main removed the discuss during sync Should be discussed during an upcoming sync label Jun 23, 2022
github-actions bot pushed a commit that referenced this pull request Jun 23, 2022
github-actions bot pushed a commit that referenced this pull request Jun 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog - fixed Automatically add "Fixed" CHANGELOG entry on merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants