You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've found that I got compilation error in REPR when the splain plugin is enabled:
scala> import shapeless._, me.limansky._, cats.instances.all._
import shapeless._
import me.limansky._
import cats.instances.all._
scala> case class Foo(n: Int); case class Bar(s: String, f: Foo)
defined class Foo
defined class Bar
scala> MapReader[Bar].read(Map("s" -> "b", "n" -> "6"))
<console>:25: error: implicit error;
!I ev: MapReader[Bar]
MapReader.genericReader invalid because
!I mapReader: MapReader[R]
Generic.materialize invalid because
type parameters weren't correctly instantiated outside of the implicit tree: inferred type arguments [shapeless.::[String,shapeless.::[Foo,shapeless.HNil]],Nothing] do not conform to method materializeCoproduct's type parameter bounds [V <: shapeless.Coproduct,R <: shapeless.Coproduct]
MapReader[Bar].read(Map("s" -> "b", "n" -> "6"))
The same code without plugin works fine:
scala> import shapeless._, me.limansky._
import shapeless._
import me.limansky._
scala> import shapeless._, me.limansky._, cats.instances.all._
import shapeless._
import me.limansky._
import cats.instances.all._
scala> case class Foo(n: Int); case class Bar(s: String, f: Foo)
defined class Foo
defined class Bar
scala> MapReader[Bar].read(Map("s" -> "b", "n" -> "6"))
res0: Bar = Bar(b,Foo(6))
Yes it does. In this case it doesn't explain the error:
scala> MapReader[Bar].read(Map("s" -> "b", "n" -> "6"))
<console>:25: error: could not find implicit value for parameter ev: me.limansky.MapReader[Bar]
MapReader[Bar].read(Map("s" -> "b", "n" -> "6"))
then it's probably analogous to #4, due to the nature of the reflective hack used to hijack the compiler phases. it's likeley this isn't going to be fixed until I implement parts of the plugin in the compiler itself, which is hopefully soon.
I've found that I got compilation error in REPR when the splain plugin is enabled:
The same code without plugin works fine:
The code is available in this gist: https://gist.github.com/limansky/7c91a3deaa25fc0ec7339ea191d4a54a
It looks like the problem is reproducible only in REPR, at least the tests are compiled and passed successfully.
The text was updated successfully, but these errors were encountered: