[FIR] Implement TYPE_VARIANCE_CONFLICT, TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE diagnostics, fix tests

This commit is contained in:
Ivan Kochurkin
2021-05-21 17:53:01 +03:00
committed by TeamCityServer
parent ef53f0e0b3
commit cf531dbbe6
36 changed files with 392 additions and 300 deletions
@@ -15,7 +15,7 @@ interface Test<in I, out O, P> {
fun ok7(): Out<P>
fun ok8(): Out<In<P>>
fun ok9(): Pair<In<I>, O>
fun ok10(): Inv<in I>
fun ok11(): Inv<out O>
fun ok12(): Inv<in P>
@@ -29,7 +29,7 @@ interface Test<in I, out O, P> {
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 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<!>>