We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TagK3[F]
TagKK[F[Any, ?, ?]]
Given:
trait BIO3[F[-_, +_, +_]] type BIO[F[+_, +_]] = BIO3[Lambda[(`-R`, `+E`, `+A`) => F[E, A]]] def direct[F[+_, +_]: TagKK] = Tag[BIO[F]].tag def indirectFrom3[F[-_, +_, +_]: TagK3] = direct[F[Any, +?, +?]] println(indirectFrom3[zio.ZIO]) println(direct[zio.ZIO[Any, +?, +?]])
Results in indirectFrom3 returning an invalid, mangled tag:
indirectFrom3
BIO3[=λ %1,%2,%3 → ZIO[-Any,+3,+3]]
while direct is correct:
direct
BIO3[=λ %1,%2,%3 → ZIO[-Any,+2,+3]]
The difference here is between the TagKK generated from TagK3 in indirectFrom3 and in direct TagKK in direct. Their printouts also differ:
TagKK
TagK3
def tag1[F[-_, +_, +_]: TagK3] = TagKK[F[Any, +?, +?]].tag def tag2[F[-_, +_, +_]](implicit t: TagKK[F[Any, +?, +?]]) = TagKK[F[Any, +?, +?]].tag println(s"tag1: ${tag1[zio.ZIO]}") println(s"tag2: ${tag2[zio.ZIO]}")
tag1: λ %1,%2 → ZIO[-Any,+1,+2] tag2: λ %0,%1 → ZIO[-Any,+0,+1]
/cc @pshirshov
The text was updated successfully, but these errors were encountered:
https://github.com/zio/izumi-reflect/blob/develop/izumi-reflect/izumi-reflect/src/test/scala-2/izumi/reflect/test/LightTypeTagProgressionTest.scala#L43
Sorry, something went wrong.
improved lambda application, fixes #82, #83
a222537
Fixed in a222537
neko-kai
No branches or pull requests
Given:
Results in
indirectFrom3
returning an invalid, mangled tag:while
direct
is correct:The difference here is between the
TagKK
generated fromTagK3
inindirectFrom3
and in directTagKK
indirect
. Their printouts also differ:/cc @pshirshov
The text was updated successfully, but these errors were encountered: