-
Notifications
You must be signed in to change notification settings - Fork 10.4k
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
[DebugInfo] Fix debug info round tripping of types inside functions #78328
[DebugInfo] Fix debug info round tripping of types inside functions #78328
Conversation
@swift-ci test |
@augusto2112 It seems like I still locally get a crash with this PR. I will double-check.
|
@swift-ci test |
a3bad1a
to
3bb29ca
Compare
@swift-ci test |
@hjyamauchi thanks for testing, could you try again with the latest commit? |
Types with @_originallyDefinedIn cannot be round tripped, Types declared inside functions have their mangling affected by the function signature. If the generic signature mentions an @_originallyDefinedIn type, the type inside the function cannot be round tripped either. This commit disables round tripping for this scenario.
3bb29ca
to
d75bde3
Compare
@swift-ci smoke test |
@augusto2112 Will do. I also added a reduced test here: #78326 (comment) |
@augusto2112 The updated PR doesn't seem to fix the issue for me. |
That's surprising, let me check again if I'm missing some other case... |
@augusto2112 It might be useful to use the reduced test from here: #78326 (comment) |
@hjyamauchi thanks, I was able to use your reproducer. It actually was not related to @_originallyDefinedIn as I thought, but something else entirely. I'm running the test suite locally and hopefully this will be the last iteration of the fix. |
Now that mangling for the debugger respects originally defined in, this is not needed anymore.
f1d3bc8
to
398ded5
Compare
@swift-ci test |
@hjyamauchi if you're around this should work with your test case now :) |
@swift-ci smoke test |
Testing |
It looks good! |
Types with @_originallyDefinedIn cannot be round tripped,
Types declared inside functions have their mangling affected by the function signature. If the generic signature mentions an @_originallyDefinedIn type, the type inside the function cannot be round tripped either.
This commit disables round tripping for this scenario.