相关疑难解决方法(0)

解码具有标记类型的案例类

鉴于:

鉴于以下关于亚扪人:

@ import $ivy.`io.circe::circe-core:0.9.0` 

@ import $ivy.`io.circe::circe-generic:0.9.0`                   

@ import $ivy.`com.chuusai::shapeless:2.3.3` 

@ import shapeless.tag 
import shapeless.tag

@ trait Foo 
defined trait Foo

@ import io.circe._, io.circe.generic.semiauto._ 
import io.circe._, io.circe.generic.semiauto._

@ import shapeless.tag.@@ 
import shapeless.tag.@@

@ implicit def taggedTypeDecoder[A, B](implicit ev: Decoder[A]): Decoder[A @@ B] = 
    ev.map(tag[B][A](_)) 
defined function taggedTypeDecoder
Run Code Online (Sandbox Code Playgroud)

鉴于Foo:

@ case class F(x: String @@ Foo)  
defined class F
Run Code Online (Sandbox Code Playgroud)

我可以召唤一个Decoder[String @@ Foo]:

@ Decoder[String @@ Foo] 
res17: Decoder[String @@ Foo] = io.circe.Decoder$$anon$21@16b32e49
Run Code Online (Sandbox Code Playgroud)

但不是F: …

scala shapeless circe

6
推荐指数
1
解决办法
482
查看次数

标签 统计

circe ×1

scala ×1

shapeless ×1