是否从 scala 3 中删除了 quasiquote?

Is quasiquote removed from scala 3?

我正在阅读 metaprogramming manual on Scala 3,但没有找到我在当前项目中大量使用的 quasiqotes。像这样解构树的替代方法是什么:

def impl(c: blackbox.Context): c.Expr[Unit] = {
    import c.universe._
    
    val someTree = //...
    someTree match {
        case typedef @ q"$mods type $name[..$tparams] >: $low <: $high" =>
            //...
        
    }
}

如何将带有树解构的代码移植到 Scala 3?

您可以在 Scala 3 中对 Exprs 进行模式匹配:

https://dotty.epfl.ch/docs/reference/metaprogramming/macros.html#pattern-matching-on-quoted-expressions