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
Swift: Expand models for UnsafePointer and friends #15052
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes LGTM, but let's have a DCA run to be on the safe side 🙂
|
There's also a test failure in a test I hadn't run locally. I'll fix that, then start a DCA run... |
|
... we lose a result in the path injection test because we're modelling collection content in these pointers correctly now, but the I could fix this instance of the problem now by creating duplicate pointer models that don't specify |
Yeah, I agree. Let's just accept this regression for now and come up with a better plan for how to address this. |
|
DCA LGTM. I was seeing consistency check failures in one test on CI for Linux (only). Tried merging in latest main, now there are two tests with consistency check failures. Hmm. :( |
|
Right - it appears this branch has been the victim of some kind of extractor bug, which causes it to fail on some swift code (we don't know what yet) on Linux. An issue has been created for that. The consistency failure in the The consistency failure in the |
2f0964a
to
e506096
Compare
95d9012
to
36d0148
Compare
|
I've narrowed down the lines of tests that trigger the extractor issue and commented them out. CI now passes. I have created an issue to repair the test after the underlying extractor issue is fixed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still LGTM!
Expand the models for the 8 core Swift pointer classes (
UnsafePointerand friends), plusSlice. These models were very fragmented and mostly just consisted of the 'closure methods' we've made an effort on + a few things we happened to use in tests of other functionality. Now they're now more-or-less completely modelled.There are quite a large number of MAD rows in this PR because, as far as I can tell, there's not much class hierarchy between the 8 pointer classes. There are lots of similarities / duplication, but also lots of (possibly justified) minor differences. I've only created a random scatter of test cases, we'll just have to trust that the documentation + my models are accurate ... or alternatively, trust that the impact of any mistakes is likely to be quite low compared to the impact of not having these models at all!