FE 1.0: use TYPE_VARIANCE_CONFLICT deprecation factory
This commit is contained in:
+2
-2
@@ -1911,8 +1911,8 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.TYPE_VARIANCE_CONFLICT) { firDiagnostic ->
|
||||
TypeVarianceConflictImpl(
|
||||
add(FirErrors.TYPE_VARIANCE_CONFLICT_ERROR) { firDiagnostic ->
|
||||
TypeVarianceConflictErrorImpl(
|
||||
firSymbolBuilder.classifierBuilder.buildTypeParameterSymbol(firDiagnostic.a),
|
||||
firDiagnostic.b,
|
||||
firDiagnostic.c,
|
||||
|
||||
+2
-2
@@ -1358,8 +1358,8 @@ sealed class KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
abstract val typeB: KtType
|
||||
}
|
||||
|
||||
abstract class TypeVarianceConflict : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = TypeVarianceConflict::class
|
||||
abstract class TypeVarianceConflictError : KtFirDiagnostic<PsiElement>() {
|
||||
override val diagnosticClass get() = TypeVarianceConflictError::class
|
||||
abstract val typeParameter: KtTypeParameterSymbol
|
||||
abstract val typeParameterVariance: Variance
|
||||
abstract val variance: Variance
|
||||
|
||||
+2
-2
@@ -1632,14 +1632,14 @@ internal class IncompatibleTypesWarningImpl(
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.IncompatibleTypesWarning(), KtAbstractFirDiagnostic<KtElement>
|
||||
|
||||
internal class TypeVarianceConflictImpl(
|
||||
internal class TypeVarianceConflictErrorImpl(
|
||||
override val typeParameter: KtTypeParameterSymbol,
|
||||
override val typeParameterVariance: Variance,
|
||||
override val variance: Variance,
|
||||
override val containingType: KtType,
|
||||
override val firDiagnostic: KtPsiDiagnostic,
|
||||
override val token: ValidityToken,
|
||||
) : KtFirDiagnostic.TypeVarianceConflict(), KtAbstractFirDiagnostic<PsiElement>
|
||||
) : KtFirDiagnostic.TypeVarianceConflictError(), KtAbstractFirDiagnostic<PsiElement>
|
||||
|
||||
internal class TypeVarianceConflictInExpandedTypeImpl(
|
||||
override val typeParameter: KtTypeParameterSymbol,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
interface List<out T : Any> {
|
||||
operator fun get(index: Int): T
|
||||
|
||||
infix fun concat(other: List<<!TYPE_VARIANCE_CONFLICT!>T<!>>): List<T>
|
||||
infix fun concat(other: List<<!TYPE_VARIANCE_CONFLICT_ERROR!>T<!>>): List<T>
|
||||
}
|
||||
|
||||
typealias StringList = List<<!REDUNDANT_PROJECTION!>out<!> String>
|
||||
|
||||
+1
-1
@@ -647,7 +647,7 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
|
||||
parameter<ConeKotlinType>("typeB")
|
||||
}
|
||||
|
||||
val TYPE_VARIANCE_CONFLICT by error<PsiElement>(PositioningStrategy.DECLARATION_SIGNATURE_OR_DEFAULT) {
|
||||
val TYPE_VARIANCE_CONFLICT_ERROR by error<PsiElement>(PositioningStrategy.DECLARATION_SIGNATURE_OR_DEFAULT) {
|
||||
parameter<FirTypeParameterSymbol>("typeParameter")
|
||||
parameter<Variance>("typeParameterVariance")
|
||||
parameter<Variance>("variance")
|
||||
|
||||
+1
-1
@@ -401,7 +401,7 @@ object FirErrors {
|
||||
val DYNAMIC_UPPER_BOUND by error0<KtTypeReference>()
|
||||
val INCOMPATIBLE_TYPES by error2<KtElement, ConeKotlinType, ConeKotlinType>()
|
||||
val INCOMPATIBLE_TYPES_WARNING by warning2<KtElement, ConeKotlinType, ConeKotlinType>()
|
||||
val TYPE_VARIANCE_CONFLICT by error4<PsiElement, FirTypeParameterSymbol, Variance, Variance, ConeKotlinType>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
val TYPE_VARIANCE_CONFLICT_ERROR by error4<PsiElement, FirTypeParameterSymbol, Variance, Variance, ConeKotlinType>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
val TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE by error4<PsiElement, FirTypeParameterSymbol, Variance, Variance, ConeKotlinType>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
|
||||
val SMARTCAST_IMPOSSIBLE by error4<KtExpression, ConeKotlinType, FirExpression, String, Boolean>()
|
||||
val REDUNDANT_NULLABLE by warning0<KtTypeReference>(SourceElementPositioningStrategies.REDUNDANT_NULLABLE)
|
||||
|
||||
+1
-1
@@ -118,7 +118,7 @@ object FirClassVarianceChecker : FirClassChecker() {
|
||||
!fullyExpandedType.attributes.contains(CompilerConeAttributes.UnsafeVariance)
|
||||
) {
|
||||
val factory =
|
||||
if (isInAbbreviation) FirErrors.TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE else FirErrors.TYPE_VARIANCE_CONFLICT
|
||||
if (isInAbbreviation) FirErrors.TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE else FirErrors.TYPE_VARIANCE_CONFLICT_ERROR
|
||||
reporter.reportOn(
|
||||
resultSource,
|
||||
factory,
|
||||
|
||||
+2
-2
@@ -495,7 +495,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.TYPE_PARAMETER_IN
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.TYPE_PARAMETER_IS_NOT_AN_EXPRESSION
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.TYPE_PARAMETER_ON_LHS_OF_DOT
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.TYPE_VARIANCE_CONFLICT
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.TYPE_VARIANCE_CONFLICT_ERROR
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.UNCHECKED_CAST
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.UNDERSCORE_IS_RESERVED
|
||||
@@ -1084,7 +1084,7 @@ object FirErrorsDefaultMessages : BaseDiagnosticRendererFactory() {
|
||||
)
|
||||
|
||||
map.put(
|
||||
TYPE_VARIANCE_CONFLICT,
|
||||
TYPE_VARIANCE_CONFLICT_ERROR,
|
||||
"Type parameter {0} is declared as ''{1}'' but occurs in ''{2}'' position in type {3}",
|
||||
SYMBOL, RENDER_POSITION_VARIANCE, RENDER_POSITION_VARIANCE, RENDER_TYPE
|
||||
)
|
||||
|
||||
@@ -43,6 +43,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import static org.jetbrains.kotlin.config.LanguageFeature.ReportTypeVarianceConflictOnQualifierArguments;
|
||||
import static org.jetbrains.kotlin.diagnostics.ClassicPositioningStrategies.ACTUAL_DECLARATION_NAME;
|
||||
import static org.jetbrains.kotlin.diagnostics.ClassicPositioningStrategies.INCOMPATIBLE_DECLARATION;
|
||||
import static org.jetbrains.kotlin.diagnostics.PositioningStrategies.*;
|
||||
@@ -197,10 +198,8 @@ public interface Errors {
|
||||
DiagnosticFactory1.create(ERROR, VARIANCE_IN_PROJECTION);
|
||||
DiagnosticFactory1<KtTypeProjection, ClassifierDescriptor> REDUNDANT_PROJECTION =
|
||||
DiagnosticFactory1.create(WARNING, VARIANCE_IN_PROJECTION);
|
||||
DiagnosticFactory1<PsiElement, VarianceConflictDiagnosticData> TYPE_VARIANCE_CONFLICT =
|
||||
DiagnosticFactory1.create(ERROR, DECLARATION_SIGNATURE_OR_DEFAULT);
|
||||
DiagnosticFactory1<PsiElement, VarianceConflictDiagnosticData> TYPE_VARIANCE_CONFLICT_WARNING =
|
||||
DiagnosticFactory1.create(WARNING, DECLARATION_SIGNATURE_OR_DEFAULT);
|
||||
DiagnosticFactoryForDeprecation1<PsiElement, VarianceConflictDiagnosticData> TYPE_VARIANCE_CONFLICT =
|
||||
DiagnosticFactoryForDeprecation1.create(LanguageFeature.ReportTypeVarianceConflictOnQualifierArguments, DECLARATION_SIGNATURE_OR_DEFAULT);
|
||||
DiagnosticFactory1<PsiElement, VarianceConflictDiagnosticData> TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE =
|
||||
DiagnosticFactory1.create(ERROR, DECLARATION_SIGNATURE_OR_DEFAULT);
|
||||
DiagnosticFactory0<PsiElement> FINITE_BOUNDS_VIOLATION = DiagnosticFactory0.create(ERROR);
|
||||
|
||||
-3
@@ -807,9 +807,6 @@ public class DefaultErrorMessages {
|
||||
};
|
||||
MAP.put(TYPE_VARIANCE_CONFLICT, "Type parameter {0} is declared as ''{1}'' but occurs in ''{2}'' position in type {3}",
|
||||
varianceConflictDataRenderer);
|
||||
MAP.put(TYPE_VARIANCE_CONFLICT_WARNING, "Type parameter {0} is declared as ''{1}'' but occurs in ''{2}'' position in type {3}. " +
|
||||
"This diagnostic will become an error soon. See https://youtrack.jetbrains.com/issue/KT-50947",
|
||||
varianceConflictDataRenderer);
|
||||
MAP.put(TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE, "Type parameter {0} is declared as ''{1}'' but occurs in ''{2}'' position in abbreviated type {3}",
|
||||
varianceConflictDataRenderer);
|
||||
|
||||
|
||||
@@ -18,9 +18,8 @@ package org.jetbrains.kotlin.resolve
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.config.LanguageFeature.ReportTypeVarianceConflictOnQualifierArguments
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.impl.FunctionDescriptorImpl
|
||||
import org.jetbrains.kotlin.descriptors.impl.PropertyAccessorDescriptorImpl
|
||||
@@ -157,19 +156,20 @@ class VarianceCheckerCore(
|
||||
&& !type.annotations.hasAnnotation(StandardNames.FqNames.unsafeVariance)
|
||||
) {
|
||||
val varianceConflictDiagnosticData = VarianceConflictDiagnosticData(containingType, classifierDescriptor, position)
|
||||
val diagnostic =
|
||||
when {
|
||||
isArgumentFromQualifier -> {
|
||||
if (languageVersionSettings?.supportsFeature(ReportTypeVarianceConflictOnQualifierArguments) == true) {
|
||||
Errors.TYPE_VARIANCE_CONFLICT
|
||||
} else {
|
||||
Errors.TYPE_VARIANCE_CONFLICT_WARNING
|
||||
}
|
||||
}
|
||||
isInAbbreviation -> Errors.TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE
|
||||
else -> Errors.TYPE_VARIANCE_CONFLICT
|
||||
}
|
||||
diagnosticSink.report(diagnostic.on(psiElement, varianceConflictDiagnosticData))
|
||||
when {
|
||||
isArgumentFromQualifier ->
|
||||
diagnosticSink.report(
|
||||
Errors.TYPE_VARIANCE_CONFLICT.on(
|
||||
languageVersionSettings ?: LanguageVersionSettingsImpl.DEFAULT,
|
||||
psiElement,
|
||||
varianceConflictDiagnosticData
|
||||
)
|
||||
)
|
||||
isInAbbreviation ->
|
||||
diagnosticSink.report(Errors.TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE.on(psiElement, varianceConflictDiagnosticData))
|
||||
else ->
|
||||
diagnosticSink.report(Errors.TYPE_VARIANCE_CONFLICT.errorFactory.on(psiElement, varianceConflictDiagnosticData))
|
||||
}
|
||||
}
|
||||
return declarationVariance.allowsPosition(position)
|
||||
}
|
||||
@@ -178,11 +178,10 @@ class VarianceCheckerCore(
|
||||
for (argument in arguments) {
|
||||
if (argument?.typeParameter == null || argument.projection.isStarProjection) continue
|
||||
|
||||
val projectionKind = TypeCheckingProcedure.getEffectiveProjectionKind(argument.typeParameter!!, argument.projection)!!
|
||||
val newPosition = when (projectionKind) {
|
||||
val newPosition = when (TypeCheckingProcedure.getEffectiveProjectionKind(argument.typeParameter!!, argument.projection)!!) {
|
||||
EnrichedProjectionKind.OUT -> position
|
||||
EnrichedProjectionKind.IN -> position.opposite()
|
||||
EnrichedProjectionKind.INV -> Variance.INVARIANT
|
||||
EnrichedProjectionKind.INV -> INVARIANT
|
||||
EnrichedProjectionKind.STAR -> null // CONFLICTING_PROJECTION error was reported
|
||||
}
|
||||
if (newPosition != null) {
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
class Outer<out E, in F> {
|
||||
inner class Inner {
|
||||
fun unsafe1(x: <!TYPE_VARIANCE_CONFLICT!>E<!>) {}
|
||||
fun unsafe2(x: Collection<<!TYPE_VARIANCE_CONFLICT!>E?<!>>) {}
|
||||
fun unsafe3(): <!TYPE_VARIANCE_CONFLICT!>F?<!> = null
|
||||
fun unsafe4(): Collection<<!TYPE_VARIANCE_CONFLICT!>F<!>>? = null
|
||||
fun unsafe1(x: <!TYPE_VARIANCE_CONFLICT_ERROR!>E<!>) {}
|
||||
fun unsafe2(x: Collection<<!TYPE_VARIANCE_CONFLICT_ERROR!>E?<!>>) {}
|
||||
fun unsafe3(): <!TYPE_VARIANCE_CONFLICT_ERROR!>F?<!> = null
|
||||
fun unsafe4(): Collection<<!TYPE_VARIANCE_CONFLICT_ERROR!>F<!>>? = null
|
||||
}
|
||||
|
||||
// Should be errors
|
||||
|
||||
@@ -8,16 +8,16 @@ class Bar<K> {
|
||||
|
||||
abstract class Foo<in T> {
|
||||
abstract fun yuckyEventHandler(
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner.() -> Unit
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT_ERROR!>T<!>>.Inner.() -> Unit
|
||||
): () -> Unit
|
||||
|
||||
abstract fun second(fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner)
|
||||
abstract fun second(fn: Bar<<!TYPE_VARIANCE_CONFLICT_ERROR!>T<!>>.Inner)
|
||||
|
||||
abstract fun third(fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner.SuperInner)
|
||||
abstract fun third(fn: Bar<<!TYPE_VARIANCE_CONFLICT_ERROR!>T<!>>.Inner.SuperInner)
|
||||
}
|
||||
|
||||
abstract class Baz<out T> {
|
||||
abstract fun yuckyEventHandler(
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner.() -> Unit
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT_ERROR!>T<!>>.Inner.() -> Unit
|
||||
): () -> Unit
|
||||
}
|
||||
|
||||
@@ -7,6 +7,6 @@ class Bar<K> {
|
||||
|
||||
abstract class Foo<in T> {
|
||||
abstract fun yuckyEventHandler(
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner.() -> Unit
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT_ERROR!>T<!>>.Inner.() -> Unit
|
||||
): () -> Unit
|
||||
}
|
||||
|
||||
+2
-2
@@ -9,9 +9,9 @@ interface Super<out U> {
|
||||
}
|
||||
// Related variance errors
|
||||
class Owner<in T> {
|
||||
inner class Inner<U : <!TYPE_VARIANCE_CONFLICT!>T<!>>(val u: U) {
|
||||
inner class Inner<U : <!TYPE_VARIANCE_CONFLICT_ERROR!>T<!>>(val u: U) {
|
||||
fun getT() = u
|
||||
}
|
||||
|
||||
<!TYPE_VARIANCE_CONFLICT!>fun foo(arg: Inner<*>)<!> = arg.getT()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>fun foo(arg: Inner<*>)<!> = arg.getT()
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ interface Super<out U> {
|
||||
}
|
||||
// Related variance errors
|
||||
class Owner<in T> {
|
||||
inner class Inner<U : <!TYPE_VARIANCE_CONFLICT!>T<!>>(val u: U) {
|
||||
inner class Inner<U : <!TYPE_VARIANCE_CONFLICT_ERROR!>T<!>>(val u: U) {
|
||||
fun getT() = u
|
||||
}
|
||||
|
||||
|
||||
@@ -7,5 +7,5 @@ typealias A4<E> = Out<Inv<E>>
|
||||
|
||||
interface Q1<out S> : Out<A1<S>>
|
||||
interface Q2<out S> : Out<A2<S>>
|
||||
interface Q3<out S> : Out<A3<<!TYPE_VARIANCE_CONFLICT!>S<!>>>
|
||||
interface Q4<out S> : Out<A4<<!TYPE_VARIANCE_CONFLICT!>S<!>>>
|
||||
interface Q3<out S> : Out<A3<<!TYPE_VARIANCE_CONFLICT_ERROR!>S<!>>>
|
||||
interface Q4<out S> : Out<A4<<!TYPE_VARIANCE_CONFLICT_ERROR!>S<!>>>
|
||||
|
||||
+8
-8
@@ -3,22 +3,22 @@ interface In<in T>
|
||||
interface Out<out T>
|
||||
interface Inv<T>
|
||||
|
||||
interface TypeBounds1<in I, out O, P, X : <!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>I<!>>
|
||||
interface TypeBounds1<in I, out O, P, X : <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
interface TypeBounds2<in I, out O, P, X : O>
|
||||
interface TypeBounds3<in I, out O, P, X : P>
|
||||
interface TypeBounds4<in I, out O, P, X : In<I>>
|
||||
interface TypeBounds5<in I, out O, P, X : In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>>
|
||||
interface TypeBounds5<in I, out O, P, X : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>
|
||||
|
||||
interface WhereTypeBounds1<in I, out O, P, X> where X : <!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>I<!>
|
||||
interface WhereTypeBounds1<in I, out O, P, X> where X : <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
interface WhereTypeBounds2<in I, out O, P, X> where X : O
|
||||
interface WhereTypeBounds3<in I, out O, P, X> where X : P
|
||||
interface WhereTypeBounds4<in I, out O, P, X> where X : In<I>
|
||||
interface WhereTypeBounds5<in I, out O, P, X> where X : In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>
|
||||
interface WhereTypeBounds5<in I, out O, P, X> where X : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
|
||||
class SubClass1<in I, out O, P> : Out<<!TYPE_VARIANCE_CONFLICT("I; in; out; Out<I>")!>I<!>>
|
||||
class SubClass1<in I, out O, P> : Out<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
class SubClass2<in I, out O, P> : Out<O>
|
||||
class SubClass3<in I, out O, P> : Out<P>
|
||||
class SubClass4<in I, out O, P> : In<I>
|
||||
class SubClass5<in I, out O, P> : In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>
|
||||
class SubClass6<in I, out O, P> : Inv<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<O>")!>O<!>>
|
||||
class SubClass7<in I, out O, P> : Inv<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<I>")!>I<!>>
|
||||
class SubClass5<in I, out O, P> : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
class SubClass6<in I, out O, P> : Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
class SubClass7<in I, out O, P> : Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
|
||||
+10
-10
@@ -5,31 +5,31 @@ interface Inv<T>
|
||||
fun <T> getT(): T = null!!
|
||||
|
||||
interface Test<in I, out O, P> {
|
||||
fun parameters1(i: I, o: <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>, p: P)
|
||||
fun parameters2(i: In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>)
|
||||
fun parameters1(i: I, o: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>, p: P)
|
||||
fun parameters2(i: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
||||
fun parameters3(i: In<O>)
|
||||
|
||||
fun explicitReturnType1() : <!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>I<!>
|
||||
fun explicitReturnType1() : <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
fun explicitReturnType2() : O
|
||||
fun explicitReturnType3() : P
|
||||
fun explicitReturnType4() : In<I>
|
||||
fun explicitReturnType5() : In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>
|
||||
fun explicitReturnType5() : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
|
||||
<!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>fun imlicitReturnType1()<!> = getT<I>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>fun imlicitReturnType1()<!> = getT<I>()
|
||||
fun imlicitReturnType2() = getT<O>()
|
||||
fun imlicitReturnType3() = getT<P>()
|
||||
fun imlicitReturnType4() = getT<In<I>>()
|
||||
<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>fun imlicitReturnType5()<!> = getT<In<O>>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>fun imlicitReturnType5()<!> = getT<In<O>>()
|
||||
|
||||
fun I.receiver1()
|
||||
fun <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>.receiver2()
|
||||
fun <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>.receiver2()
|
||||
fun P.receiver3()
|
||||
fun In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>.receiver4()
|
||||
fun In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>.receiver4()
|
||||
fun In<O>.receiver5()
|
||||
|
||||
fun <X : I> typeParameter1()
|
||||
fun <X : <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>> typeParameter2()
|
||||
fun <X : <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>> typeParameter2()
|
||||
fun <X : P> typeParameter3()
|
||||
fun <X : In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>> typeParameter4()
|
||||
fun <X : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>> typeParameter4()
|
||||
fun <X : In<O>> typeParameter5()
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ interface Test<in I, out O, P> {
|
||||
fun ok2(i: (P) -> P) : (P) -> P
|
||||
fun ok3(i: (In<I>) -> In<O>) = getT<(In<O>) -> In<I>>()
|
||||
|
||||
fun neOk1(i: (<!TYPE_VARIANCE_CONFLICT!>I<!>) -> <!TYPE_VARIANCE_CONFLICT!>O<!>): (<!TYPE_VARIANCE_CONFLICT!>O<!>) -> <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
fun neOk2(i: (In<<!TYPE_VARIANCE_CONFLICT!>O<!>>) -> In<<!TYPE_VARIANCE_CONFLICT!>I<!>>)
|
||||
<!TYPE_VARIANCE_CONFLICT, TYPE_VARIANCE_CONFLICT!>fun neOk3()<!> = getT<(In<I>) -> In<O>>()
|
||||
}
|
||||
fun neOk1(i: (<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>) -> <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>): (<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>) -> <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
fun neOk2(i: (In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>) -> In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR, TYPE_VARIANCE_CONFLICT_ERROR!>fun neOk3()<!> = getT<(In<I>) -> In<O>>()
|
||||
}
|
||||
|
||||
+12
-12
@@ -27,22 +27,22 @@ interface Test<in I, out O, P> {
|
||||
fun Ok22(i: Inv<out I>)
|
||||
fun Ok23(i: Inv<out P>)
|
||||
|
||||
fun neOk1(i: <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>)
|
||||
fun neOk2(i: In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>)
|
||||
fun neOk3(i: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<In<O>>")!>O<!>>>)
|
||||
fun neOk4(i: Inv<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<I>")!>I<!>>)
|
||||
fun neOk5(i: Inv<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<O>")!>O<!>>)
|
||||
fun neOk6(i: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<In<O>>")!>O<!>>>)
|
||||
fun neOk7(i: Pair<In<<!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<In<I>, O>")!>I<!>>, <!TYPE_VARIANCE_CONFLICT("O; out; in; Pair<In<I>, O>")!>O<!>>)
|
||||
fun neOk8(i: Inv<out <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<out O>")!>O<!>>)
|
||||
fun neOk1(i: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>)
|
||||
fun neOk2(i: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
||||
fun neOk3(i: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>)
|
||||
fun neOk4(i: Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
||||
fun neOk5(i: Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
fun neOk6(i: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>)
|
||||
fun neOk7(i: Pair<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>, <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
fun neOk8(i: Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
fun neOk9(i: In<<!CONFLICTING_PROJECTION!>out<!> P>)
|
||||
fun neOk10(i: Out<<!TYPE_VARIANCE_CONFLICT("O; out; in; Out<O>")!>O<!>>)
|
||||
fun neOk10(i: Out<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
|
||||
fun neOk11(i: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; out; Inv<in I>")!>I<!>>)
|
||||
fun neOk12(i: Inv<out <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<out O>")!>O<!>>)
|
||||
fun neOk11(i: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
||||
fun neOk12(i: Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
|
||||
fun neOk30(i: Pair<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><O, ><!>)
|
||||
fun neOk31(i: Pair<<!TYPE_VARIANCE_CONFLICT("O; out; in; Pair<O, ERROR CLASS: Wrong number of type arguments>")!>O<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>)
|
||||
fun neOk31(i: Pair<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>)
|
||||
fun neOk32(i: <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>)
|
||||
fun neOk33(i: Inv<<!SYNTAX!><!>>)
|
||||
fun neOk34(i: Inv<<!UNRESOLVED_REFERENCE!>C<!>>)
|
||||
|
||||
+12
-12
@@ -27,22 +27,22 @@ interface Test<in I, out O, P> {
|
||||
fun Ok22(i: Inv<out I>)
|
||||
fun Ok23(i: Inv<out P>)
|
||||
|
||||
fun neOk1(i: <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>)
|
||||
fun neOk2(i: In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>)
|
||||
fun neOk3(i: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<In<O>>")!>O<!>>>)
|
||||
fun neOk4(i: Inv<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<I>")!>I<!>>)
|
||||
fun neOk5(i: Inv<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<O>")!>O<!>>)
|
||||
fun neOk6(i: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<In<O>>")!>O<!>>>)
|
||||
fun neOk7(i: Pair<In<<!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<In<I>, O>")!>I<!>>, <!TYPE_VARIANCE_CONFLICT("O; out; in; Pair<In<I>, O>")!>O<!>>)
|
||||
fun neOk8(i: Inv<out <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<out O>")!>O<!>>)
|
||||
fun neOk1(i: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>)
|
||||
fun neOk2(i: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
||||
fun neOk3(i: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>)
|
||||
fun neOk4(i: Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
||||
fun neOk5(i: Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
fun neOk6(i: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>)
|
||||
fun neOk7(i: Pair<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>, <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
fun neOk8(i: Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
fun neOk9(i: In<<!CONFLICTING_PROJECTION!>out<!> P>)
|
||||
fun neOk10(i: Out<<!TYPE_VARIANCE_CONFLICT("O; out; in; Out<O>")!>O<!>>)
|
||||
fun neOk10(i: Out<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
|
||||
fun neOk11(i: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; out; Inv<in I>")!>I<!>>)
|
||||
fun neOk12(i: Inv<out <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<out O>")!>O<!>>)
|
||||
fun neOk11(i: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
||||
fun neOk12(i: Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>)
|
||||
|
||||
fun neOk30(i: Pair<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><O<!UNSUPPORTED_FEATURE!>,<!> ><!>)
|
||||
fun neOk31(i: Pair<<!TYPE_VARIANCE_CONFLICT("O; out; in; Pair<O, [ERROR : Inv]>")!>O<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>)
|
||||
fun neOk31(i: Pair<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>)
|
||||
fun neOk32(i: <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>)
|
||||
fun neOk33(i: Inv<<!SYNTAX!><!>>)
|
||||
fun neOk34(i: Inv<<!UNRESOLVED_REFERENCE!>C<!>>)
|
||||
|
||||
@@ -14,32 +14,32 @@ interface Test<in I, out O, P> {
|
||||
var ok6: Inv<in P>
|
||||
var ok7: Inv<out P>
|
||||
|
||||
var neOk1: <!TYPE_VARIANCE_CONFLICT("O; out; invariant; O")!>O<!>
|
||||
var neOk2: In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; In<I>")!>I<!>>
|
||||
var neOk3: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<In<O>>")!>O<!>>>
|
||||
var neOk4: Inv<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<I>")!>I<!>>
|
||||
var neOk5: Inv<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<O>")!>O<!>>
|
||||
var neOk6: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<In<O>>")!>O<!>>>
|
||||
var neOk7: Pair<In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Pair<In<I>, O>")!>I<!>>, <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Pair<In<I>, O>")!>O<!>>
|
||||
var neOk8: Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<in O>")!>O<!>>
|
||||
var neOk9: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<in I>")!>I<!>>
|
||||
var neOk1: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>
|
||||
var neOk2: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk3: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>
|
||||
var neOk4: Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk5: Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk6: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>
|
||||
var neOk7: Pair<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>, <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk8: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk9: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk10: In<<!CONFLICTING_PROJECTION!>out<!> I>
|
||||
|
||||
var neOk11: <!TYPE_VARIANCE_CONFLICT("I; in; invariant; I")!>I<!>
|
||||
var neOk12: In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<O>")!>O<!>>
|
||||
var neOk13: In<In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; In<In<I>>")!>I<!>>>
|
||||
var neOk14: Out<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Out<I>")!>I<!>>
|
||||
var neOk15: Out<Out<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Out<Out<I>>")!>I<!>>>
|
||||
var neOk16: Out<In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Out<In<O>>")!>O<!>>>
|
||||
var neOk17: Pair<In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Pair<In<O>, I>")!>O<!>>, <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Pair<In<O>, I>")!>I<!>>
|
||||
var neOk11: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
var neOk12: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk13: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>>
|
||||
var neOk14: Out<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk15: Out<Out<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>>
|
||||
var neOk16: Out<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>
|
||||
var neOk17: Pair<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>, <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
|
||||
var neOk20: Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<in O>")!>O<!>>
|
||||
var neOk21: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<in I>")!>I<!>>
|
||||
var neOk22: Inv<out <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<out O>")!>O<!>>
|
||||
var neOk23: Inv<out <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<out I>")!>I<!>>
|
||||
var neOk20: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk21: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk22: Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk23: Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
|
||||
var neOk30: Pair<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><I, ><!>
|
||||
var neOk31: Pair<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Pair<I, ERROR CLASS: Wrong number of type arguments>")!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
|
||||
var neOk31: Pair<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
|
||||
var neOk32: <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>
|
||||
var neOk33: Inv<<!SYNTAX!><!>>
|
||||
var neOk34: Inv<<!UNRESOLVED_REFERENCE!>C<!>>
|
||||
|
||||
@@ -14,32 +14,32 @@ interface Test<in I, out O, P> {
|
||||
var ok6: Inv<in P>
|
||||
var ok7: Inv<out P>
|
||||
|
||||
var neOk1: <!TYPE_VARIANCE_CONFLICT("O; out; invariant; O")!>O<!>
|
||||
var neOk2: In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; In<I>")!>I<!>>
|
||||
var neOk3: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<In<O>>")!>O<!>>>
|
||||
var neOk4: Inv<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<I>")!>I<!>>
|
||||
var neOk5: Inv<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<O>")!>O<!>>
|
||||
var neOk6: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<In<O>>")!>O<!>>>
|
||||
var neOk7: Pair<In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Pair<In<I>, O>")!>I<!>>, <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Pair<In<I>, O>")!>O<!>>
|
||||
var neOk8: Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<in O>")!>O<!>>
|
||||
var neOk9: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<in I>")!>I<!>>
|
||||
var neOk1: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>
|
||||
var neOk2: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk3: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>
|
||||
var neOk4: Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk5: Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk6: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>
|
||||
var neOk7: Pair<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>, <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk8: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk9: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk10: In<<!CONFLICTING_PROJECTION!>out<!> I>
|
||||
|
||||
var neOk11: <!TYPE_VARIANCE_CONFLICT("I; in; invariant; I")!>I<!>
|
||||
var neOk12: In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<O>")!>O<!>>
|
||||
var neOk13: In<In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; In<In<I>>")!>I<!>>>
|
||||
var neOk14: Out<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Out<I>")!>I<!>>
|
||||
var neOk15: Out<Out<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Out<Out<I>>")!>I<!>>>
|
||||
var neOk16: Out<In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Out<In<O>>")!>O<!>>>
|
||||
var neOk17: Pair<In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Pair<In<O>, I>")!>O<!>>, <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Pair<In<O>, I>")!>I<!>>
|
||||
var neOk11: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
var neOk12: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk13: In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>>
|
||||
var neOk14: Out<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk15: Out<Out<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>>
|
||||
var neOk16: Out<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>>
|
||||
var neOk17: Pair<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>, <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
|
||||
var neOk20: Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<in O>")!>O<!>>
|
||||
var neOk21: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<in I>")!>I<!>>
|
||||
var neOk22: Inv<out <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<out O>")!>O<!>>
|
||||
var neOk23: Inv<out <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<out I>")!>I<!>>
|
||||
var neOk20: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk21: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
var neOk22: Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
var neOk23: Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
|
||||
var neOk30: Pair<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><I<!UNSUPPORTED_FEATURE!>,<!> ><!>
|
||||
var neOk31: Pair<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Pair<I, [ERROR : Inv]>")!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
|
||||
var neOk31: Pair<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
|
||||
var neOk32: <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>
|
||||
var neOk33: Inv<<!SYNTAX!><!>>
|
||||
var neOk34: Inv<<!UNRESOLVED_REFERENCE!>C<!>>
|
||||
|
||||
@@ -10,8 +10,8 @@ interface Test<in I : Any, out O : Any, P : Any> {
|
||||
fun ok2(i: In<O?>?) : Out<O?>?
|
||||
fun ok3(i: Inv<in O?>) = getT<Inv<in I?>>()
|
||||
|
||||
fun neOk1(i: <!TYPE_VARIANCE_CONFLICT("O; out; in; O?")!>O?<!>) : <!TYPE_VARIANCE_CONFLICT("I; in; out; I?")!>I?<!>
|
||||
fun neOk(i: Out<<!TYPE_VARIANCE_CONFLICT("O; out; in; Out<O?>?")!>O?<!>>?) : In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O?>?")!>O?<!>>?
|
||||
fun neOk3(i: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; out; Inv<in I?>")!>I?<!>>)
|
||||
<!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<in O?>?")!>fun neOk4()<!> = getT<Inv<in O?>?>()
|
||||
fun neOk1(i: <!TYPE_VARIANCE_CONFLICT_ERROR!>O?<!>) : <!TYPE_VARIANCE_CONFLICT_ERROR!>I?<!>
|
||||
fun neOk(i: Out<<!TYPE_VARIANCE_CONFLICT_ERROR!>O?<!>>?) : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O?<!>>?
|
||||
fun neOk3(i: Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>I?<!>>)
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>fun neOk4()<!> = getT<Inv<in O?>?>()
|
||||
}
|
||||
|
||||
+10
-10
@@ -21,20 +21,20 @@ interface Test<in I, out O, P> {
|
||||
fun ok12(): Inv<in P>
|
||||
fun ok13(): Inv<out P>
|
||||
|
||||
fun neOk1(): <!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>I<!>
|
||||
fun neOk2(): In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>
|
||||
fun neOk3(): In<In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<In<I>>")!>I<!>>>
|
||||
fun neOk4(): Inv<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<I>")!>I<!>>
|
||||
fun neOk5(): Inv<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<O>")!>O<!>>
|
||||
fun neOk6(): Pair<In<<!TYPE_VARIANCE_CONFLICT("O; out; in; Pair<In<O>, I>")!>O<!>>, <!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<In<O>, I>")!>I<!>>
|
||||
fun neOk7(): Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<in O>")!>O<!>>
|
||||
fun neOk1(): <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
fun neOk2(): In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
fun neOk3(): In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>>
|
||||
fun neOk4(): Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
fun neOk5(): Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
fun neOk6(): Pair<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>, <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
fun neOk7(): Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
fun neOk8(): Out<<!CONFLICTING_PROJECTION("Out<in I>")!>in<!> I>
|
||||
|
||||
fun neOk10(): Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<in O>")!>O<!>>
|
||||
fun neOk11(): Inv<out <!TYPE_VARIANCE_CONFLICT("I; in; out; Inv<out I>")!>I<!>>
|
||||
fun neOk10(): Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
fun neOk11(): Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
|
||||
fun neOk30(): Pair<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><I, ><!>
|
||||
fun neOk31(): Pair<<!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<I, ERROR CLASS: Wrong number of type arguments>")!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
|
||||
fun neOk31(): Pair<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
|
||||
fun neOk32(): <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>
|
||||
fun neOk33(): Inv<<!SYNTAX!><!>>
|
||||
fun neOk34(): Inv<<!UNRESOLVED_REFERENCE!>C<!>>
|
||||
|
||||
+10
-10
@@ -21,20 +21,20 @@ interface Test<in I, out O, P> {
|
||||
fun ok12(): Inv<in P>
|
||||
fun ok13(): Inv<out P>
|
||||
|
||||
fun neOk1(): <!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>I<!>
|
||||
fun neOk2(): In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>
|
||||
fun neOk3(): In<In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<In<I>>")!>I<!>>>
|
||||
fun neOk4(): Inv<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<I>")!>I<!>>
|
||||
fun neOk5(): Inv<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<O>")!>O<!>>
|
||||
fun neOk6(): Pair<In<<!TYPE_VARIANCE_CONFLICT("O; out; in; Pair<In<O>, I>")!>O<!>>, <!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<In<O>, I>")!>I<!>>
|
||||
fun neOk7(): Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<in O>")!>O<!>>
|
||||
fun neOk1(): <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
fun neOk2(): In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
fun neOk3(): In<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>>
|
||||
fun neOk4(): Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
fun neOk5(): Inv<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
fun neOk6(): Pair<In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>, <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
fun neOk7(): Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
fun neOk8(): Out<<!CONFLICTING_PROJECTION("Out")!>in<!> I>
|
||||
|
||||
fun neOk10(): Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<in O>")!>O<!>>
|
||||
fun neOk11(): Inv<out <!TYPE_VARIANCE_CONFLICT("I; in; out; Inv<out I>")!>I<!>>
|
||||
fun neOk10(): Inv<in <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
fun neOk11(): Inv<out <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
|
||||
fun neOk30(): Pair<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!><I<!UNSUPPORTED_FEATURE!>,<!> ><!>
|
||||
fun neOk31(): Pair<<!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<I, [ERROR : Inv]>")!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
|
||||
fun neOk31(): Pair<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
|
||||
fun neOk32(): <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>
|
||||
fun neOk33(): Inv<<!SYNTAX!><!>>
|
||||
fun neOk34(): Inv<<!UNRESOLVED_REFERENCE!>C<!>>
|
||||
|
||||
@@ -6,17 +6,17 @@ interface Inv<T>
|
||||
fun <T> getT(): T = null!!
|
||||
|
||||
class Test<in I, out O, P>(
|
||||
val type1: <!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>I<!>,
|
||||
val type1: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>,
|
||||
val type2: O,
|
||||
val type3: P,
|
||||
val type4: In<I>,
|
||||
val type5: In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>,
|
||||
val type5: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>,
|
||||
|
||||
var type6: <!TYPE_VARIANCE_CONFLICT("I; in; invariant; I")!>I<!>,
|
||||
var type7: <!TYPE_VARIANCE_CONFLICT("O; out; invariant; O")!>O<!>,
|
||||
var type6: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>,
|
||||
var type7: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>,
|
||||
var type8: P,
|
||||
var type9: In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; In<I>")!>I<!>>,
|
||||
var type0: In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<O>")!>O<!>>,
|
||||
var type9: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>,
|
||||
var type0: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>,
|
||||
|
||||
type11: I,
|
||||
type12: O,
|
||||
|
||||
+12
-12
@@ -13,39 +13,39 @@ class Delegate<T> {
|
||||
fun <T> getT(): T = null!!
|
||||
|
||||
abstract class Test<in I, out O, P> {
|
||||
abstract val type1: <!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>I<!>
|
||||
abstract val type1: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
abstract val type2: O
|
||||
abstract val type3: P
|
||||
abstract val type4: In<I>
|
||||
abstract val type5: In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>
|
||||
abstract val type5: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
|
||||
<!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>val implicitType1<!> = getT<I>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>val implicitType1<!> = getT<I>()
|
||||
val implicitType2 = getT<O>()
|
||||
val implicitType3 = getT<P>()
|
||||
val implicitType4 = getT<In<I>>()
|
||||
<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>val implicitType5<!> = getT<In<O>>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>val implicitType5<!> = getT<In<O>>()
|
||||
|
||||
<!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>val delegateType1<!> by Delegate<I>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>val delegateType1<!> by Delegate<I>()
|
||||
val delegateType2 by Delegate<O>()
|
||||
val delegateType3 by Delegate<P>()
|
||||
val delegateType4 by Delegate<In<I>>()
|
||||
<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>val delegateType5<!> by Delegate<In<O>>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>val delegateType5<!> by Delegate<In<O>>()
|
||||
|
||||
abstract val I.receiver1: Int
|
||||
abstract val <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>.receiver2: Int
|
||||
abstract val <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>.receiver2: Int
|
||||
abstract val P.receiver3: Int
|
||||
abstract val In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>.receiver4: Int
|
||||
abstract val In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>.receiver4: Int
|
||||
abstract val In<O>.receiver5: Int
|
||||
|
||||
val <X : I> X.typeParameter1: Int get() = 0
|
||||
val <X : <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>> X.typeParameter2: Int get() = 0
|
||||
val <X : <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>> X.typeParameter2: Int get() = 0
|
||||
val <X : P> X.typeParameter3: Int get() = 0
|
||||
val <X : In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>> X.typeParameter4: Int get() = 0
|
||||
val <X : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>> X.typeParameter4: Int get() = 0
|
||||
val <X : In<O>> X.typeParameter5: Int get() = 0
|
||||
|
||||
val <X> X.typeParameter6: Int where X : I get() = 0
|
||||
val <X> X.typeParameter7: Int where X : <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!> get() = 0
|
||||
val <X> X.typeParameter7: Int where X : <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!> get() = 0
|
||||
val <X> X.typeParameter8: Int where X : P get() = 0
|
||||
val <X> X.typeParameter9: Int where X : In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>> get() = 0
|
||||
val <X> X.typeParameter9: Int where X : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>> get() = 0
|
||||
val <X> X.typeParameter0: Int where X : In<O> get() = 0
|
||||
}
|
||||
|
||||
+18
-18
@@ -13,39 +13,39 @@ class Delegate<T> {
|
||||
fun <T> getT(): T = null!!
|
||||
|
||||
abstract class Test<in I, out O, P> {
|
||||
abstract var type1: <!TYPE_VARIANCE_CONFLICT("I; in; invariant; I")!>I<!>
|
||||
abstract var type2: <!TYPE_VARIANCE_CONFLICT("O; out; invariant; O")!>O<!>
|
||||
abstract var type1: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
abstract var type2: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>
|
||||
abstract var type3: P
|
||||
abstract var type4: In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; In<I>")!>I<!>>
|
||||
abstract var type5: In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<O>")!>O<!>>
|
||||
abstract var type4: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>
|
||||
abstract var type5: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
||||
|
||||
<!TYPE_VARIANCE_CONFLICT("I; in; invariant; I")!>var implicitType1<!> = getT<I>()
|
||||
<!TYPE_VARIANCE_CONFLICT("O; out; invariant; O")!>var implicitType2<!> = getT<O>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>var implicitType1<!> = getT<I>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>var implicitType2<!> = getT<O>()
|
||||
var implicitType3 = getT<P>()
|
||||
<!TYPE_VARIANCE_CONFLICT("I; in; invariant; In<I>")!>var implicitType4<!> = getT<In<I>>()
|
||||
<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<O>")!>var implicitType5<!> = getT<In<O>>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>var implicitType4<!> = getT<In<I>>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>var implicitType5<!> = getT<In<O>>()
|
||||
|
||||
<!TYPE_VARIANCE_CONFLICT("I; in; invariant; I")!>var delegateType1<!> by Delegate<I>()
|
||||
<!TYPE_VARIANCE_CONFLICT("O; out; invariant; O")!>var delegateType2<!> by Delegate<O>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>var delegateType1<!> by Delegate<I>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>var delegateType2<!> by Delegate<O>()
|
||||
var delegateType3 by Delegate<P>()
|
||||
<!TYPE_VARIANCE_CONFLICT("I; in; invariant; In<I>")!>var delegateType4<!> by Delegate<In<I>>()
|
||||
<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<O>")!>var delegateType5<!> by Delegate<In<O>>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>var delegateType4<!> by Delegate<In<I>>()
|
||||
<!TYPE_VARIANCE_CONFLICT_ERROR!>var delegateType5<!> by Delegate<In<O>>()
|
||||
|
||||
abstract var I.receiver1: Int
|
||||
abstract var <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>.receiver2: Int
|
||||
abstract var <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>.receiver2: Int
|
||||
abstract var P.receiver3: Int
|
||||
abstract var In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>.receiver4: Int
|
||||
abstract var In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>.receiver4: Int
|
||||
abstract var In<O>.receiver5: Int
|
||||
|
||||
var <X : I> X.typeParameter1: Int get() = 0; set(i) {}
|
||||
var <X : <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!>> X.typeParameter2: Int get() = 0; set(i) {}
|
||||
var <X : <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>> X.typeParameter2: Int get() = 0; set(i) {}
|
||||
var <X : P> X.typeParameter3: Int get() = 0; set(i) {}
|
||||
var <X : In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>>> X.typeParameter4: Int get() = 0; set(i) {}
|
||||
var <X : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>> X.typeParameter4: Int get() = 0; set(i) {}
|
||||
var <X : In<O>> X.typeParameter5: Int get() = 0; set(i) {}
|
||||
|
||||
var <X> X.typeParameter6: Int where X : I get() = 0; set(i) {}
|
||||
var <X> X.typeParameter7: Int where X : <!TYPE_VARIANCE_CONFLICT("O; out; in; O")!>O<!> get() = 0; set(i) {}
|
||||
var <X> X.typeParameter7: Int where X : <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!> get() = 0; set(i) {}
|
||||
var <X> X.typeParameter8: Int where X : P get() = 0; set(i) {}
|
||||
var <X> X.typeParameter9: Int where X : In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<I>")!>I<!>> get() = 0; set(i) {}
|
||||
var <X> X.typeParameter9: Int where X : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>> get() = 0; set(i) {}
|
||||
var <X> X.typeParameter0: Int where X : In<O> get() = 0; set(i) {}
|
||||
}
|
||||
|
||||
+10
-10
@@ -1,21 +1,21 @@
|
||||
// FIR_IDENTICAL
|
||||
interface Test<in I, out O> {
|
||||
val internal_val: <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
public val public_val: <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> val protected_val: <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
val internal_val: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
public val public_val: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> val protected_val: <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
<!PRIVATE_PROPERTY_IN_INTERFACE!>private<!> val private_val: I
|
||||
|
||||
var interlan_private_set: <!TYPE_VARIANCE_CONFLICT!>O<!>
|
||||
var interlan_private_set: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>
|
||||
<!PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY!>private<!> set
|
||||
public var public_private_set: <!TYPE_VARIANCE_CONFLICT!>O<!>
|
||||
public var public_private_set: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>
|
||||
<!PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY!>private<!> set
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> var protected_private_set: <!TYPE_VARIANCE_CONFLICT!>O<!>
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> var protected_private_set: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>
|
||||
<!PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY!>private<!> set
|
||||
<!PRIVATE_PROPERTY_IN_INTERFACE!>private<!> var private_private_set: O
|
||||
private set
|
||||
|
||||
fun internal_fun(i: <!TYPE_VARIANCE_CONFLICT!>O<!>) : <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
public fun public_fun(i: <!TYPE_VARIANCE_CONFLICT!>O<!>) : <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> fun protected_fun(i: <!TYPE_VARIANCE_CONFLICT!>O<!>) : <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
fun internal_fun(i: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>) : <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
public fun public_fun(i: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>) : <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> fun protected_fun(i: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>) : <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
||||
<!PRIVATE_FUNCTION_WITH_NO_BODY!>private<!> fun private_fun(i: O) : I
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user