[K/N] Fix cast to NativePtr mis-compilation

^KT-59022
This commit is contained in:
Pavel Kunyavskiy
2023-06-07 14:06:22 +02:00
committed by Space Team
parent af05f4c201
commit 456783436c
6 changed files with 58 additions and 1 deletions
+32
View File
@@ -0,0 +1,32 @@
// TARGET_BACKEND: NATIVE
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
import kotlinx.cinterop.*
fun getNp() : NativePtr? = null
fun getOp() : COpaquePointer? = null
fun box() : String {
if ((null as NativePtr?) != null) return "FAIL 1.1"
if ((null as? NativePtr) != null) return "FAIL 1.2"
if (null !is NativePtr?) return "FAIL 1.3"
if (null is NativePtr) return "FAIL 1.4"
if ((null as COpaquePointer?) != null) return "FAIL 2.1"
if ((null as? COpaquePointer) != null) return "FAIL 2.2"
if (null !is COpaquePointer?) return "FAIL 2.3"
if (null is COpaquePointer) return "FAIL 2.4"
if ((getNp() as NativePtr?) != null) return "FAIL 3.1"
if ((getNp() as? NativePtr) != null) return "FAIL 3.2"
if (getNp() !is NativePtr?) return "FAIL 3.3"
if (getNp() is NativePtr) return "FAIL 3.4"
if ((getOp() as COpaquePointer?) != null) return "FAIL 4.1"
if ((getOp() as? COpaquePointer) != null) return "FAIL 4.2"
if (getOp() !is COpaquePointer?) return "FAIL 4.3"
if (getOp() is COpaquePointer) return "FAIL 4.4"
return "OK"
}