// RUN_PIPELINE_TILL: FRONTEND
// KT-9051: Allow smart cast for captured variables if they are not modified

fun foo(y: String?) {
    var x: String? = null
    if (x != null) {
        y?.let { x = it }
        <!SMARTCAST_IMPOSSIBLE!>x<!>.length // not-null or not-null
    }
}

/* GENERATED_FIR_TAGS: assignment, equalityExpression, functionDeclaration, ifExpression, lambdaLiteral, localProperty,
nullableType, propertyDeclaration, safeCall */
