| // !LANGUAGE: +AllowContractsForCustomFunctions +ReadDeserializedContracts | |
| // !OPT_IN: kotlin.contracts.ExperimentalContracts | |
| @file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") | |
| package test | |
| import kotlin.contracts.* | |
| fun foo(n: Int, x: Any?): Boolean { | |
| contract { | |
| returns(true) implies (x is String) | |
| } | |
| return if (n == 0) x is String else foo(n - 1, x) | |
| } |