-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Completely empty DistributedActorSystem implementation crashes compiler 5.9 rather than emit diagnostic #66548
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
Comments
cc @ktoso |
Could you please provide more details about the code that is "using" the protocol? Pasting the file contents would be most helpful. Is it perhaps an entirely empty implementation? |
@ktoso It is empty, I didn't think an example would help much. I didn't start implementing anything because as soon as I wasn't sure if this was a bug in sourcekit-lsp so I tried to build the package, and unfortunately it resulted in the segfault from which I provided the log. It is enough to have this: struct Test: DistributedActorSystem {} The only other code in the package is: func main() async throws {
} which is called from edit: |
We did fix some issues surrounding that in #66020 -- when no methods are present the diagnostics went bust but perhaps we missed something still? The workaround here is to at least attempt to include some implementations in the type. You can copy paste the protocol definitions and make sure to include the ad-hoc ones:
|
Okay, I will just start on macOS and move my code over to Linux once it's enough to avoid this crash. It looks like the fix is from over a month ago. I think I should have a newer toolchain - currently it's |
Yeah I mean the fix seems to have been incomplete, here's a follow up that also handles the "completely empty" implementation case: #66695 |
rdar://110708278 |
Output
Log
Steps to reproduce
Environment
The text was updated successfully, but these errors were encountered: