KT-6803 Subtyping breaks on star-projections for recursive generics

Star-projections have upper bounds of the form "parameter's bound where all parameter of the same class are substituted with their star-projections"

  #KT-6803 Fixed
This commit is contained in:
Andrey Breslav
2015-03-03 18:26:47 +03:00
parent 11b693c3be
commit e0b7e4efca
15 changed files with 127 additions and 17 deletions
@@ -103,7 +103,7 @@ public class TypeDeserializer(
protos.map { proto ->
val type = type(proto.getType())
if (proto.getProjection() == ProtoBuf.Type.Argument.Projection.STAR)
StarProjectionImpl(type)
TypeBasedStarProjectionImpl(type)
else TypeProjectionImpl(variance(proto.getProjection()), type)
}.toReadOnlyList()