具有密封特征 DataTag 及其子类型(86 个案例类)。将项目升级到 scala 2.12、scodec-core 1.11.8 和 scodec-bits 1.1.27 后,编译失败并显示
[error] Method too large: protocol/Payload/BasePacket$.tagCodec ()Lscodec/Codec;
此方法调用错误:
implicit def tagCodec: Codec[DataTag] = Codec.coproduct[DataTag].auto
是否有另一种方法可以生成具有大量子类型的编解码器?
我尝试使用“基于密钥的鉴别器”示例(https://github.com/scodec/scodec/blob/series/1.11.x/unitTests/src/test/scala/scodec/examples/CoproductsExample.scala),但是结果是一样的。
PS:我在github上发了一个issue(https://github.com/scodec/scodec/issues/324),但是还没人回答。