Skip to content

F[*] != F #9566

Open
Open
@djspiewak

Description

@djspiewak

I don't have a nice minimization for this one yet, but it appears that type lambdas change the meaning of the type in subtle ways. Consider this commit: typelevel/cats-effect@ef891ca Note the use of G[*] in place of G throughout many of the functions in Resource, such as allocated. This is a workaround for a bug in Scala 2 (described here: typelevel/cats-effect#807). Unfortunately, it also seems to break Dotty entirely.

With the G[*] construction in place, Dotty refuses to compile this commit, with most of the errors taking the form of trying to find an Applicative for something like [A] ==>> IO[A]. Swapping out G[*] for G fixes the issue, though it sets us back in terms of Scala 2 support, since we need to find a different workaround for the aforementioned bug.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions