Skip to content

variances are not preserved for 5+ type parameters #511

@memo33

Description

@memo33

From zio/zio-http#3264:

For classes with 5 or more type parameters, the variances seem to be randomly shuffled among the type parameters.

class Foo[-A,B,-C,+D,+E]

izumi.reflect.Tag[Foo[Int, String, Double, Float, Long]].tag

Output is random:

val res0: izumi.reflect.macrortti.LightTypeTag = ::Foo[-Int,+String,=Double,+Float,-Long]
val res0: izumi.reflect.macrortti.LightTypeTag = ::Foo[-Int,+String,-Double,=Float,+Long]
val res0: izumi.reflect.macrortti.LightTypeTag = ::Foo[+Int,-String,=Double,+Float,-Long]

(Tested with izumi-reflect 2.3.10, Scala 3.6.3.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions