// DONT_TARGET_EXACT_BACKEND: WASM // WASM_MUTE_REASON: IGNORED_IN_JS // IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: JS_IR // IGNORE_BACKEND: JS_IR_ES6 // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS // WITH_RUNTIME inline fun foo(x: Any?) = Pair(x is T, x is T?) inline fun bar(y: Any?) = foo>(y) inline fun barNullable(y: Any?) = foo?>(y) fun box(): String { val x1 = bar(arrayOf("")) if (x1.toString() != "(true, true)") return "fail 1" val x3 = bar(null) if (x3.toString() != "(false, true)") return "fail 3" val x4 = bar(null) if (x4.toString() != "(false, true)") return "fail 4" val x5 = bar(arrayOf("")) if (x5.toString() != "(false, false)") return "fail 5" val x6 = bar(null) if (x6.toString() != "(false, true)") return "fail 6" // barNullable val x7 = barNullable(arrayOf("")) if (x7.toString() != "(true, true)") return "fail 7" val x9 = barNullable(null) if (x9.toString() != "(true, true)") return "fail 9" val x10 = barNullable(arrayOf("")) if (x10.toString() != "(false, false)") return "fail 11" val x12 = barNullable(null) if (x12.toString() != "(true, true)") return "fail 12" return "OK" }