Contents: Introduction API for binding memory types and pointer conversion Common use cases Automatic migration cases Introduction Swift 3 introduces an UnsafeRawPointer type and enforces type safety with respect to unsafe pointer conversion. Proposal SE-0107 made the following change: An Unsafe[Mutable]RawPointer type has been introduced. It replaces Unsafe[Mutable]Pointer<Void> . Conversion from