当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala compiletime.erasedValue用法及代码示例


erasedValue 方法(或属性)属于 scala.compiletime 包(package),其相关用法说明如下。

用法:

erased def erasedValue[T]: T

当你有一个类型时使用这个方法,它没有一个值但想在它上面进行模式匹配。例如,给定类型 Tup <: Tuple ,可以在其上使用 pattern-match,如下所示:

package scala.compiletime
trait Snippet0 { self: compiletime.package$package.type =>
  type Tup
  inline def f = {
  inline erasedValue[Tup] match {
    case _: EmptyTuple => ???
    case _: (h *: t) => ???
  }
  }
}

该值只能在内联匹配中使用,并且不能在分支中使用。

源码:

package.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 compiletime.erasedValue。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。