2a16fe1d0f
In K1, upper bound violated causes candidate to have lower applicability due to constraint errors, in K2 however constraint errors has to be reported explicitly
161 lines
7.0 KiB
Plaintext
Vendored
161 lines
7.0 KiB
Plaintext
Vendored
FILE: upperBoundViolated.kt
|
|
public abstract interface A : R|kotlin/Any| {
|
|
}
|
|
public final class B<T : R|A|> : R|kotlin/Any| {
|
|
public constructor<T : R|A|>(): R|B<T>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class C : R|A| {
|
|
public constructor(): R|C| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final typealias GGG = R|C|
|
|
public final typealias HHH = R|GGG|
|
|
public final typealias JJJ = R|B<C>|
|
|
public final fun <T : R|A|> fest(): R|kotlin/Unit| {
|
|
}
|
|
public final fun test(): R|kotlin/Unit| {
|
|
lval b1: R|B<kotlin/Int>| = <Inapplicable(INAPPLICABLE): /B.B>#<R|kotlin/Int|>()
|
|
lval b2: R|B<C>| = R|/B.B|<R|C|>()
|
|
lval b3: R|B<kotlin/Any?>| = <Inapplicable(INAPPLICABLE): /B.B>#<R|kotlin/Any?|>()
|
|
lval b4: <ERROR TYPE REF: Unresolved name: NumberPhile> = <Inapplicable(INAPPLICABLE): /B.B>#<<ERROR TYPE REF: Symbol not found for UnexistingType>>().<Unresolved name: NL>#(ERROR_EXPR(No right operand)).<Unresolved name: Int>#(<Call has no callee>#()).<Unresolved name: NumberPhile>#(ERROR_EXPR(No right operand))
|
|
lval b5: R|B<B<ERROR CLASS: Symbol not found for UnexistingType>>| = <Inapplicable(INAPPLICABLE): /B.B>#<R|B<ERROR CLASS: Symbol not found for UnexistingType>|>()
|
|
<Inapplicable(INAPPLICABLE): /fest>#<R|kotlin/Boolean|>()
|
|
R|/fest|<R|C|>()
|
|
R|/fest|<R|C|>()
|
|
<Inapplicable(INAPPLICABLE): /fest>#<R|B<C>|>()
|
|
}
|
|
public open class S<F, G : R|F|> : R|kotlin/Any| {
|
|
public constructor<F, G : R|F|>(): R|S<F, G>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class T<U, Y : R|U|> : R|S<U, Y>| {
|
|
public constructor<U, Y : R|U|>(): R|T<U, Y>| {
|
|
super<R|S<U, Y>|>()
|
|
}
|
|
|
|
}
|
|
public final class P<T0 : R|kotlin/Number|, T1> : R|kotlin/Any| {
|
|
public constructor<T0 : R|kotlin/Number|, T1>(): R|P<T0, T1>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class P1<T2 : R|kotlin/Number|, T3 : R|kotlin/Number|> : R|kotlin/Any| {
|
|
public constructor<T2 : R|kotlin/Number|, T3 : R|kotlin/Number|>(): R|P1<T2, T3>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final fun <K, L : R|K|> rest(): R|kotlin/Unit| {
|
|
lval o1: R|S<K, L>| = R|/S.S|<R|K|, R|L|>()
|
|
lval o2: R|S<K, K>| = R|/S.S|<R|K|, R|K|>()
|
|
lval o3: R|S<L, L>| = R|/S.S|<R|L|, R|L|>()
|
|
lval o4: R|S<S<K, L>, T<K, L>>| = R|/S.S|<R|S<K, L>|, R|T<K, L>|>()
|
|
lval o5: R|S<S<K, L>, T<K, K>>| = <Inapplicable(INAPPLICABLE): /S.S>#<R|S<K, L>|, R|T<K, K>|>()
|
|
lval o5: R|S<S<L, L>, T<K, L>>| = <Inapplicable(INAPPLICABLE): /S.S>#<R|S<L, L>|, R|T<K, L>|>()
|
|
lval o6: R|S<kotlin/Any, T<S<K, L>, kotlin/String>>| = R|/S.S|<R|kotlin/Any|, R|T<S<K, L>, kotlin/String>|>()
|
|
lval o7: R|S<kotlin/Any, T<S<K, L>, kotlin/Nothing>>| = R|/S.S|<R|kotlin/Any|, R|T<S<K, L>, kotlin/Nothing>|>()
|
|
lval o8: R|P<kotlin/String, P1<kotlin/String, kotlin/String>>| = <Inapplicable(INAPPLICABLE): /P.P>#<R|kotlin/String|, R|P1<kotlin/String, kotlin/String>|>()
|
|
}
|
|
public final class NumColl<T : R|kotlin/collections/Collection<kotlin/Number>|> : R|kotlin/Any| {
|
|
public constructor<T : R|kotlin/collections/Collection<kotlin/Number>|>(): R|NumColl<T>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final typealias NL<K> = R|NumColl<kotlin/collections/List<K>>|
|
|
public final val test7: <ERROR TYPE REF: Unresolved name: NumberPhile> = R|/NumColl.NumColl|<R|kotlin/Int|>().<Unresolved name: NumberPhile>#(ERROR_EXPR(No right operand))
|
|
public get(): <ERROR TYPE REF: Unresolved name: NumberPhile>
|
|
public final val test8: R|NumColl<kotlin/collections/List<kotlin/String>>| = R|/NumColl.NumColl|<R|kotlin/String|>()
|
|
public get(): R|NumColl<kotlin/collections/List<kotlin/String>>|
|
|
public final class NumberPhile<T : R|kotlin/Number|> : R|kotlin/Any| {
|
|
public constructor<T : R|kotlin/Number|>(x: R|T|): R|NumberPhile<T>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final val np1: R|NumberPhile<kotlin/Int>| = R|/NumberPhile.NumberPhile|<R|kotlin/Int|>(Int(10))
|
|
public get(): R|NumberPhile<kotlin/Int>|
|
|
public final val np2: R|NumberPhile<ERROR CLASS: Cannot infer argument for type parameter T>| = <Inapplicable(INAPPLICABLE): /NumberPhile.NumberPhile>#<R|ERROR CLASS: Cannot infer argument for type parameter T|>(String(Test))
|
|
public get(): R|NumberPhile<ERROR CLASS: Cannot infer argument for type parameter T>|
|
|
public final class Test1<S1 : R|Test1<S1, K>|, K : R|kotlin/Any|> : R|kotlin/Any| {
|
|
public constructor<S1 : R|Test1<S1, K>|, K : R|kotlin/Any|>(): R|Test1<S1, K>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class Test2<S2 : R|Test1<S2, *>|> : R|kotlin/Any| {
|
|
public constructor<S2 : R|Test1<S2, *>|>(): R|Test2<S2>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class Test3<S3 : R|Test3<S3, in K>|, K : R|kotlin/Any|> : R|kotlin/Any| {
|
|
public constructor<S3 : R|Test3<S3, in K>|, K : R|kotlin/Any|>(): R|Test3<S3, K>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class Test4<S4 : R|Test3<S4, out kotlin/Any>|> : R|kotlin/Any| {
|
|
public constructor<S4 : R|Test3<S4, out kotlin/Any>|>(): R|Test4<S4>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class Test5<S5 : R|Test5<S5, in K>|, K : R|kotlin/Any|> : R|kotlin/Any| {
|
|
public constructor<S5 : R|Test5<S5, in K>|, K : R|kotlin/Any|>(): R|Test5<S5, K>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class Test6<S6 : R|Test5<S6, in kotlin/Any>|> : R|kotlin/Any| {
|
|
public constructor<S6 : R|Test5<S6, in kotlin/Any>|>(): R|Test6<S6>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class Test7<S7 : R|Test7<S7, in K>|, K : R|kotlin/CharSequence|> : R|kotlin/Any| {
|
|
public constructor<S7 : R|Test7<S7, in K>|, K : R|kotlin/CharSequence|>(): R|Test7<S7, K>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class Test8<S8 : R|Test7<S8, in kotlin/Any>|> : R|kotlin/Any| {
|
|
public constructor<S8 : R|Test7<S8, in kotlin/Any>|>(): R|Test8<S8>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class Class<V : R|kotlin/Any|> : R|kotlin/Any| {
|
|
public constructor<V : R|kotlin/Any|>(): R|Class<V>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final typealias Alias<V1> = R|(Class<V1>) -> kotlin/Boolean|
|
|
public abstract class Base<T : R|Base<T>|> : R|kotlin/Any| {
|
|
public constructor<T : R|Base<T>|>(): R|Base<T>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class DerivedOut<out O : R|Base<out O>|> : R|kotlin/Any| {
|
|
public constructor<out O : R|Base<out O>|>(): R|DerivedOut<O>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|
|
public final class DerivedIn<in I : R|Base<in I>|> : R|kotlin/Any| {
|
|
public constructor<in I : R|Base<in I>|>(): R|DerivedIn<I>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
}
|