object GlobalExecutionContext extends WartTraverser
The global execution context scala.concurrent.ExecutionContext.global should be avoided because it is integrated with neither of the following: - Canton's error reporting - execution context supervision - thread count configuration - the workarounds for the bugs in the ForkJoinPool Moreover, if it is used in tests, the tests may interfere in unexpected ways.
For unit tests, mix in the traits com.daml.resources.HasExecutionContext
or com.digitalasset.canton.HasExecutorService
,
which provide a suitably configured scala.concurrent.ExecutionContext.
For integration tests, an execution context should already be in scope.
In production code, properly pass the right scala.concurrent.ExecutionContext into where it is needed.
Create a new one using com.digitalasset.canton.concurrent.Threading
if absolutely necessary.
For similar reasons, the scala.concurrent.ExecutionContext.parasitic should not be used.
Use com.digitalasset.canton.concurrent.DirectExecutionContext
instead.
scala.concurrent.ExecutionContext.opportunistic should be avoided as well, but given that scala.concurrent.ExecutionContext.opportunistic is private to the scala package, this wart does not check for it.
- Alphabetic
- By Inheritance
- GlobalExecutionContext
- WartTraverser
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(u: WartUniverse): Traverser
- Definition Classes
- GlobalExecutionContext → WartTraverser
- def asAnnotationMacro(c: Context)(annottees: scala.reflect.macros.blackbox.Context.Expr[Any]*): scala.reflect.macros.blackbox.Context.Expr[Any]
- Definition Classes
- WartTraverser
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asMacro(c: Context)(expr: scala.reflect.macros.blackbox.Context.Expr[Any]): scala.reflect.macros.blackbox.Context.Expr[Any]
- Definition Classes
- WartTraverser
- lazy val className: String
- Definition Classes
- WartTraverser
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def compose(o: WartTraverser): WartTraverser
- Definition Classes
- WartTraverser
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def error(u: WartUniverse)(pos: scala.reflect.api.Universe.Position, message: String): Unit
- Definition Classes
- WartTraverser
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hasTypeAscription(u: WartUniverse)(tree: scala.reflect.api.Universe.ValOrDefDef): Boolean
- Definition Classes
- WartTraverser
- def hasWartAnnotation(u: WartUniverse)(tree: scala.reflect.api.Universe.Tree): Boolean
- Definition Classes
- WartTraverser
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def isAnonymousFunctionName(u: WartUniverse)(t: scala.reflect.api.Universe.TypeName): Boolean
- Definition Classes
- WartTraverser
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isPrimitive(u: WartUniverse)(t: scala.reflect.api.Universe.Type): Boolean
- Definition Classes
- WartTraverser
- def isPrivate(u: WartUniverse)(t: scala.reflect.api.Universe.ValOrDefDef): Boolean
- Definition Classes
- WartTraverser
- def isPublic(u: WartUniverse)(t: scala.reflect.api.Universe.ValOrDefDef): Boolean
- Definition Classes
- WartTraverser
- def isSynthetic(u: WartUniverse)(t: scala.reflect.api.Universe.Tree): Boolean
- Definition Classes
- WartTraverser
- def isSyntheticPartialFunction(u: WartUniverse)(tree: scala.reflect.api.Universe.Tree): Boolean
- Definition Classes
- WartTraverser
- def isWartAnnotation(u: WartUniverse)(a: scala.reflect.api.Universe.Annotation): Boolean
- Definition Classes
- WartTraverser
- val messageGlobal: String
- val messageParasitic: String
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def warning(u: WartUniverse)(pos: scala.reflect.api.Universe.Position, message: String): Unit
- Definition Classes
- WartTraverser
- lazy val wartName: String
- Definition Classes
- WartTraverser
- def wasInferred(u: WartUniverse)(t: scala.reflect.api.Universe.TypeTree): Boolean
- Definition Classes
- WartTraverser