Why are opaque C pointers not imported as distinct types?

That proposal only deals with Obj-C interfaces/protocols; improving them isn't massively source breaking because any APIs that used them were dropped on the floor completely when imported, instead of degrading to some common type.

For C pointers, there's some fairly recent discussion here as well: Giant footguns, typealias extensions, and the C OpaquePointer

2 Likes