// RUN_PIPELINE_TILL: FRONTEND
// DIAGNOSTICS: -UNUSED_EXPRESSION
// CHECK_TYPE
// Issue: KT-30406

interface Option<out T> {
    val s: String
}
class Some<T>(override val s: String) : Option<T>
class None(override val s: String = "None") : Option<Int>

fun test(a: Int): Option<Any> =
    if (a == 239)
        Some("239")
    else
        None()

/* GENERATED_FIR_TAGS: classDeclaration, equalityExpression, funWithExtensionReceiver, functionDeclaration,
functionalType, ifExpression, infix, integerLiteral, interfaceDeclaration, nullableType, out, override,
primaryConstructor, propertyDeclaration, stringLiteral, typeParameter, typeWithExtension */
