P package

scala

extends Object

Supertypes

Object

Members

package 

scala.annotation

package 

scala.compiletime

package 

scala.implicits

package 

scala.internal

package 

scala.quoted

package 

scala.reflect

package 

scala.runtime

package 

scala.tasty

package 

scala.util

sealed abstract class 

*:

[+H, +T]

object 

*:

abstract class 

Conversion

[-T, +U]

A class for implicit values that can serve as implicit conversions The implicit resolution algorithm will act as if there existed the additional implici...

[T, U][T, U]

A class for implicit values that can serve as implicit conversions The implicit resolution algorithm will act as if there existed the additional implicit definition:

def $implicitConversion[T, U](x: T)(c: Conversion[T, U]): U = c(x)

However, the presence of this definition would slow down implicit search since its outermost type matches any pair of types. Therefore, implicit search contains a special case in Implicits#discardForView which emulates the conversion in a more efficient way.

Note that this is a SAM class - function literals are automatically converted to the Conversion values.

Also note that in bootstrapped dotty, Predef.<:< should inherit from Conversion. This would cut the number of special cases in discardForView from two to one.

object 

EmptyTuple

A tuple of 0 elements; the canonical representation of a [[scala.Product0]].

A tuple of 0 elements; the canonical representation of a [[scala.Product0]].

trait 

Enum

A base trait of all enum classes

A base trait of all enum classes

object 

Eql

Companion object containing a few universally known Eql instances. Eql instances involving primitive types or the Null type are handled directly in the...

Companion object containing a few universally known Eql instances. Eql instances involving primitive types or the Null type are handled directly in the compiler (see Implicits.synthesizedEql), so they are not included here.

sealed trait 

Eql

[-L, -R]

A marker trait indicating that values of type L can be compared to values of type R.

A marker trait indicating that values of type L can be compared to values of type R.

trait 

FunctionXXL

A function with all parameters grouped in an array.

A function with all parameters grouped in an array.

sealed trait 

NonEmptyTuple

Tuple of arbitrary non-zero arity

Tuple of arbitrary non-zero arity

trait 

PolyFunction

Marker trait for polymorphic function types.

This is the only trait that can be refined with a polymorphic method, as long as that method is called appl... [T_1, ..., T_M]

Marker trait for polymorphic function types.

This is the only trait that can be refined with a polymorphic method, as long as that method is called apply, e.g.: PolyFunction { def apply[T_1, ..., T_M](x_1: P_1, ..., x_N: P_N): R } This type will be erased to FunctionN.

object 

Product0

A class for Product0 which was missing from the scala distribution.

A class for Product0 which was missing from the scala distribution.

trait 

Product0

object 

Selectable

trait 

Selectable

A marker trait for objects that support structural selection via selectDynamic and applyDynamic

Implementation classes should define, or make available...

[_]

A marker trait for objects that support structural selection via selectDynamic and applyDynamic

Implementation classes should define, or make available as extension methods, the following two method signatures:

def selectDynamic(name: String): Any def applyDynamic(name: String)(args: Any*): Any =

selectDynamic is invoked for simple selections v.m, whereas applyDynamic is invoked for selections with arguments v.m(...). If there's only one kind of selection, the method supporting the other may be omitted. The applyDynamic can also have a second parameter list of class tag arguments, i.e. it may alternatively have the signature

def applyDynamic(name: String, paramClasses: ClassTag[_])(args: Any): Any

In this case the call will synthesize ClassTag arguments for all formal parameter types of the method in the structural type.

object 

Tuple

sealed trait 

Tuple

Tuple of arbitrary arity

Tuple of arbitrary arity

private[scala] object 

TupledFunction

sealed trait 

TupledFunction

[F, G]

Type class relating a FunctionN[..., R] with an equivalent tupled function Function1[TupleN[...], R]

Type class relating a FunctionN[..., R] with an equivalent tupled function Function1[TupleN[...], R]

object 

deriving

class 

main

An annotation that designates a main function

An annotation that designates a main function

opaque object 

opaques

An immutable array. An IArray[T] has the same representation as an Array[T], but it cannot be updated. Unlike regular arrays, immutable arrays are cova...

An immutable array. An IArray[T] has the same representation as an Array[T], but it cannot be updated. Unlike regular arrays, immutable arrays are covariant.

type 

EmptyTuple

 = EmptyTuple.type

A tuple of 0 elements

A tuple of 0 elements