scala.tools.nsc.typechecker

# Implicits

#### trait Implicits extends AnyRef

This trait provides methods to find various kinds of implicits.

Self Type
  Analyzer
Version

  1.0

Linear Supertypes
AnyRef, Any
Known Subclasses
Analyzer, Duplicator, Duplicators, Erasure, SpecializationDuplicator, TreeCheckers, erasure, treeChecker
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. Implicits
2. AnyRef
3. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Type Members

1. #### class ImplicitInfo extends AnyRef

   A class that records an available implicit

2. #### class ImplicitSearch extends Analyzer.Typer with Analyzer.ImplicitsContextErrors

   A class that sets up an implicit search.

3. #### case class OpenImplicit(info: Analyzer.ImplicitInfo, pt: Global.Type, tree: Global.Tree) extends Product with Serializable

   A class which is used to track pending implicits to prevent infinite implicit searches.

4. #### class SearchResult extends AnyRef

   The result of an implicit search

### Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from Implicits to any2stringadd[Implicits] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ->[B](y: B): (Implicits, B)

   Implicit information
     This member is added by an implicit conversion from Implicits to ArrowAssoc[Implicits] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

5. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

6. #### lazy val AmbiguousSearchFailure: Analyzer.SearchResult

7. #### lazy val DivergentSearchFailure: Analyzer.SearchResult

8. #### object Function1

   An extractor for unary function types arg => res

9. #### object HasMember

   An extractor for types of the form ? { name: ? }

10. #### object HasMethodMatching

    An extractor for types of the form ? { name: (? >: argtpe <: Any*)restp }

11. #### object ImplicitNotFoundMsg

12. #### val NoImplicitInfo: Analyzer.ImplicitInfo

    A sentinel indicating no implicit was found

13. #### lazy val SearchFailure: Analyzer.SearchResult

14. #### def allViewsFrom(tp: Global.Type, context: Analyzer.Context, tpars: List[Global.Symbol]): List[(Analyzer.SearchResult, List[Global.TypeConstraint])]

    Find all views from type `tp` (in which `tpars` are free)

    Find all views from type `tp` (in which `tpars` are free)

    Note that the trees in the search results in the returned list share the same type variables. Ignore their constr field! The list of type constraints returned along with each tree specifies the constraints that must be met by the corresponding type parameter in `tpars` (for the returned implicit view to be valid).

15. #### final def asInstanceOf[T0]: T0

    Definition Classes
      Any

16. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

17. #### def ensuring(cond: (Implicits) ⇒ Boolean, msg: ⇒ Any): Implicits

    Implicit information
      This member is added by an implicit conversion from Implicits to Ensuring[Implicits] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

18. #### def ensuring(cond: (Implicits) ⇒ Boolean): Implicits

    Implicit information
      This member is added by an implicit conversion from Implicits to Ensuring[Implicits] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

19. #### def ensuring(cond: Boolean, msg: ⇒ Any): Implicits

    Implicit information
      This member is added by an implicit conversion from Implicits to Ensuring[Implicits] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

20. #### def ensuring(cond: Boolean): Implicits

    Implicit information
      This member is added by an implicit conversion from Implicits to Ensuring[Implicits] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

21. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

22. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

23. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

24. #### def formatted(fmtstr: String): String

    Implicit information
      This member is added by an implicit conversion from Implicits to StringFormat[Implicits] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

25. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

26. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

27. #### def inferImplicit(tree: Global.Tree, pt: Global.Type, isView: Boolean, context: Analyzer.Context, silent: Boolean, withMacrosDisabled: Boolean, pos: Global.Position, onError: (Global.Position, String) ⇒ Unit): Global.Tree

    A friendly wrapper over inferImplicit to be used in macro contexts and toolboxes.

28. #### def inferImplicit(tree: Global.Tree, pt: Global.Type, reportAmbiguous: Boolean, isView: Boolean, context: Analyzer.Context, saveAmbiguousDivergent: Boolean, pos: Global.Position): Analyzer.SearchResult

    Search for an implicit value.

    Search for an implicit value. See the comment on `result` at the end of class `ImplicitSearch` for more info how the search is conducted.

    tree

      The tree for which the implicit needs to be inserted. (the inference might instantiate some of the undetermined type parameters of that tree.

    pt

      The expected type of the implicit.

    reportAmbiguous

      Should ambiguous implicit errors be reported? False iff we search for a view to find out whether one type is coercible to another.

    isView

      We are looking for a view

    context

      The current context

    saveAmbiguousDivergent

      False if any divergent/ambiguous errors should be ignored after implicits search, true if they should be reported (used in further typechecking).

    pos

      Position that is should be used for tracing and error reporting (useful when we infer synthetic stuff and pass EmptyTree in the `tree` argument) If it's set NoPosition, then position-based services will use `tree.pos`

    returns

      A search result

29. #### def inferImplicit(tree: Global.Tree, pt: Global.Type, reportAmbiguous: Boolean, isView: Boolean, context: Analyzer.Context, saveAmbiguousDivergent: Boolean): Analyzer.SearchResult

30. #### def inferImplicit(tree: Global.Tree, pt: Global.Type, reportAmbiguous: Boolean, isView: Boolean, context: Analyzer.Context): Analyzer.SearchResult

31. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

32. #### def memberWildcardType(name: Global.Name, tp: Global.Type): Global.Type

    A constructor for types ?{ def/type name: tp }, used in infer view to member searches.

33. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

34. #### final def notify(): Unit

    Definition Classes
      AnyRef

35. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

36. #### def resetImplicits(): Unit

37. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

38. #### def toString(): String

    Definition Classes
      AnyRef → Any

39. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

40. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

41. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

42. #### def →[B](y: B): (Implicits, B)

    Implicit information
      This member is added by an implicit conversion from Implicits to ArrowAssoc[Implicits] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from Implicits to any2stringadd[Implicits]

### Inherited by implicit conversion StringFormat from Implicits to StringFormat[Implicits]

### Inherited by implicit conversion Ensuring from Implicits to Ensuring[Implicits]

### Inherited by implicit conversion ArrowAssoc from Implicits to ArrowAssoc[Implicits]

### Ungrouped