Skip to content

[Tests] Fix a couple of type round trip test problems. #38935

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 2 commits into from
Aug 19, 2021

Conversation

al45tair
Copy link
Contributor

@al45tair al45tair commented Aug 18, 2021

The stdlib version of libswiftDemangle doesn't include the node dumper when not building with assertions, but the type round trip test needs it.

Also, on Linux, it appears it's possible to write a type with @convention(block), but passing that to the runtime causes an assertion failure if assertions are enabled. That's either a compiler bug (@convention(block) should only be allowed if we have ObjC interop), or a runtime bug (it shouldn't fail, but should do something reasonable instead), or both. It still breaks the build, however, so I've added a workaround for now.

The stdlib version of libswiftDemangle doesn't include the node dumper
when not building with assertions, but the type round trip test needs it.
@al45tair al45tair requested a review from shahmishal August 18, 2021 20:07
@al45tair
Copy link
Contributor Author

@swift-ci Please smoke test

Apparently we can write a type with @convention(block) on Linux, which is
entertaining because when we touch the metadata for such a thing in the
runtime, we fail with an assert(), assuming assertions are enabled.
@al45tair al45tair changed the title [Tests] Fix type round trip test when not building with assertions. [Tests] Fix a couple of type round trip test problems. Aug 18, 2021
@al45tair
Copy link
Contributor Author

@swift-ci Please smoke test

@al45tair al45tair merged commit a8bf642 into swiftlang:main Aug 19, 2021
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