// !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_EXPRESSION, -UNUSED_VARIABLE // !LANGUAGE: +InlineClasses -AllowResultInReturnType, -JvmInlineValueClasses typealias ResultAlias = Result inline class InlineResult(private val r: Result) fun params( r1: Result, r2: Result?, r3: ResultAlias, r4: List>, r5: InlineResult, vararg r6: Result ) {} class CtorParams(r1: Result) fun returnTypePublic(): Result = TODO() internal fun returnTypeInternal(): Result = TODO() private fun returnTypePrivate(): Result = TODO() fun returnTypeNullable(): Result? = TODO() fun returnTypeAlias(): ResultAlias = TODO() fun returnInferred(r1: Result, r2: ResultAlias, b: Boolean) = if (b) r1 else r2 fun returnTypeInline(): InlineResult = TODO() fun returnContainer(): List> = TODO() val topLevelP: Result = TODO() val topLevelPInferred = topLevelP internal val topLevelPInternal: Result = TODO() private val topLevelPPrivate: Result = TODO() private val topLevelPPrivateInferred = topLevelP private val topLevelPPrivateCustomGetter: Result get() = TODO() val asFunctional: () -> Result = TODO() open class PublicCls( val r1: Result, val r2: Result?, val r3: ResultAlias, val r4: ResultAlias?, val r5: InlineResult, internal val r6: Result, private val r7: Result, val r8: List> ) { val p1: Result = TODO() var p2: Result = TODO() val p3: ResultAlias? = TODO() val p4 = p1 internal val p5: Result = TODO() private var p6: Result = TODO() internal val p7 = p1 protected val p8 = p1 fun returnInCls(): Result = TODO() protected fun returnInClsProtected(): Result = TODO() private fun returnInClsPrivate(): Result = TODO() } internal open class InternalCls( val r1: Result, val r2: ResultAlias?, val r3: List> ) { companion object { val cr1: Result = TODO() private val cr2: Result = TODO() } val p1 = r1 val p2: Result = TODO() protected val p3 = p1 fun returnInInternal(): Result = TODO() protected fun returnInClsProtected(): Result = TODO() } private class PrivateCls( val r1: Result, val r2: ResultAlias?, val r3: List> ) { companion object { val cr1: Result = TODO() private val cr2: Result = TODO() } val p1 = r1 val p2: Result = TODO() fun returnInPrivate(): Result = TODO() } fun local(r: Result) { val l1: Result? = null val l2 = r fun localFun(): Result = TODO() class F { val p1: Result = r val p2 = r } } fun resultInGenericFun(r: Result): T = r as T val asFunPublic: () -> Result = TODO() private val asFun: () -> Result? = TODO()