You could possibly make a wrapper struct around the C struct that allows you to perform those actions. That’s probably the most Swift way of doing it (because it allows you to swift-ify the interface of the C struct too).
An alternative could be to make a case-less enum with static methods that perform actions on whatever instance of the C struct they are passed. This method would allow you to still store the C struct directly in your variables and then just use the utility enum to perform certain actions. Which isn’t a super elegant solution in my eyes, but it might be what you’re looking for.
I'm not sure I understand. Is this a regression in the 5.5.x compiler that's being fixed somewhere by someone eventually or is it no longer supported and we need to workaround it forever? AFAIK all that worked fine in previous compiler versions.
I think it is definitely a bug/regression. I hope someone (or I) could fix it...
I've been poorly investigating the issue, but I don't have any clues why TypeChecker fails only on Linux so far.
@jrose Thank you for replying to my abrupt question.
Anyway, I wonder why this bug has come to the surface since Swift >=5.5 albeit it seems that the fundamental design of ClangImporter did not change for these several years.