//> using lib "com.lihaoyi::upickle:3.0.0"
import upickle.default.*
enum Domain derives ReadWriter :
case Something,`reddit.com`
case class ADomain(d: Domain) derives ReadWriter
@main def checkMe =
val worky = """ {"d": "Something"} """
val noWorky = """ {"d": "reddit.com"} """
val t1 = upickle.default.read[ADomain](worky)
println(t1)
val t2 = upickle.default.read[ADomain](noWorky)
println(t2)
Will generate this output;
ADomain(Something)
Exception in thread "main" upickle.core.AbortException: invalid tag for tagged object: reddit.com at index 7
at upickle.core.Types$TaggedReader.visitString(Types.scala:157)
This script in scala-cli
Will generate this output;