// RUN_PIPELINE_TILL: BACKEND
// ISSUE: KT-21463

interface BoxWrapper<T, B : Box<T>> {
    val box: B
}

interface Box<T> {
    val item: T
}

fun <T> getBoxWrapper(): BoxWrapper<T, *> = null!!

class Element

val box: Box<Element> = <!TYPE_MISMATCH!>getBoxWrapper<Element>().box<!>

/* GENERATED_FIR_TAGS: capturedType, checkNotNullCall, classDeclaration, functionDeclaration, interfaceDeclaration,
nullableType, propertyDeclaration, starProjection, typeConstraint, typeParameter */
