SIL verification failed with ObjC protocol that throws

I recently came across a Swift crash when trying to create an ObjC protocol function that throws. I managed to find a reproducer and I've reported a github issue. I somehow also managed to find a workaround by using _Nullable, but I'm not sure how fragile this is. This crash is particularly bad because it crashes even when asserts are disabled.

Somewhat related, a while back I also reported a crash in TypeCheckStmt.cpp. I did find a workaround to be explicitly setting the optional to nil, but that triggers a swift lint redundant_optional_initialization. Today I'm seeing this workaround littered throughout our source in several places.

This second issue has been open for a while. How can I get more visibility on these bugs so they can get fixed?

3 Likes