Commit Graph

8 Commits

Author SHA1 Message Date
Pavel Yaskevich
e4eb271359 [CSSimplify] Implement ArrayToCPointer conversion
Extends implementation to support conversions between arrays
and pointers that are allowed by the SE-0324 proposal.

Resolved: rdar://99089335
2023-03-14 14:36:52 -07:00
Pavel Yaskevich
0a5b3f0727 [TypeChecker] SE-0324: Extend Swift -> C pointer conversions to inout
Fixes an oversight where `inout` -> C pointer conversion wasn't covered
by implementation of new pointer conversion semantics proposed by SE-0324.

Resolves: rdar://92583588
2022-05-25 20:55:22 -07:00
Pavel Yaskevich
a9fdb7ad66 [CSSimplify] Detect and diagnose Swift -> C pointer conversion failures
Detect and diagnose situations when Swift -> C pointer conversion
is unsupported due to method not being imported from C header.
2021-09-20 17:22:26 -07:00
Pavel Yaskevich
5cb8604b60 [ConstraintSystem] De-prioritize solutions with Swift -> C pointer conversions
Just like other implicit conversions - always prefer solutions with
the lowest possible number of them.
2021-09-20 17:22:26 -07:00
Pavel Yaskevich
416388191f [TypeChecker] NFC: Enable Swift -> C implicit pointer conversions tests only on Darwin 2021-09-20 17:22:26 -07:00
Pavel Yaskevich
7c754ee753 [TypeChecker] NFC: Test Swift -> C pointer conversions for [U]Int8 pointers 2021-09-20 17:22:26 -07:00
Pavel Yaskevich
216f8a0146 [TypeChecker] NFC: Add test-cases for Swift -> C pointer conversions
Make sure that conversions are properly supported when arguments
either is wrapped in an optional type or requires a value-to-optional
promotion because parameter is optional pointer.
2021-09-20 17:22:26 -07:00
Pavel Yaskevich
621ea81e7b [ConstraintSystem] NFC: Add test-cases for interactions between Swift and C pointers 2021-09-20 17:22:25 -07:00