compileTimeOnly

scala.annotation.compileTimeOnly
final class compileTimeOnly(message: String) extends StaticAnnotation

An annotation that designates that an annottee should not be referred to after type checking (which includes macro expansion).

Examples of potential use: 1) The annottee can only appear in the arguments of some other macro that will eliminate it from the AST during expansion. 2) The annottee is a macro and should have been expanded away, so if hasn't, something wrong has happened. (Comes in handy to provide better support for new macro flavors, e.g. macro annotations, that can't be expanded by the vanilla compiler).

Value parameters

message

the error message to print during compilation if a reference remains after type checking

Attributes

Source
compileTimeOnly.scala
Graph
Supertypes
class Annotation
class Object
trait Matchable
class Any
In this article