scala.compiletime
extends Object with SerializableSupertypes
Object, SerializableMembers
S
= Nothing <: IntSuccesor of a natural number where zero is the type 0 and successors are reduced as if the definition was
type S[N <: Int] <: Int = N match { case 0 => 1 c...
Succesor of a natural number where zero is the type 0 and successors are reduced as if the definition was
type S[N <: Int] <: Int = N match { case 0 => 1 case 1 => 2 case 2 => 3 ... case 2147483646 => 2147483647 }
byName
[T] ( x: => T ) : TAssertion that an argument is by-name. Used for nullability checking.
Assertion that an argument is by-name. Used for nullability checking.
code
( self: => StringContext ) ( args: =>Returns the string representations for code passed in the interpolated values
Returns the string representations for code passed in the interpolated values
inline def logged(p1: => Any) = {
val c = code"code: $p1"
val res = p1
(c, p1)
}
logged(indentity("foo"))
is equivalent to:
("code: indentity("foo")", indentity("foo"))
constValue
[T] : TconstValueOpt
[T] : Option[T]erasedValue
[T] : Terror
( msg: String ) : NothingThe error method is used to produce user-defined compile errors during inline expansion. If an inline expansion results in a call error(msgStr) the com...
The error method is used to produce user-defined compile errors during inline expansion. If an inline expansion results in a call error(msgStr) the compiler produces an error message containing the given msgStr.
error("My error message")
or
error(code"My error of this code: ${println("foo")}")
summonFrom
[T] ( f: Nothing => T ) : TSummons first given matching one of the listed cases. E.g. in
given B { ... }
summonFrom { case given A => 1 case given B => 2 case given C => 3 case _ => 4
Summons first given matching one of the listed cases. E.g. in
given B { ... }
summonFrom { case given A => 1 case given B => 2 case given C => 3 case _ => 4 }
the returned value would be 2
.
summonInline
[T] : TSummon a given value of type T
. Usually, the argument is not passed explicitly.
The summoning is delayed until the call has been fully inlined.
Summon a given value of type T
. Usually, the argument is not passed explicitly.
The summoning is delayed until the call has been fully inlined.