Good

org.scalactic.Good
See theGood companion class
object Good

Companion object for Good that offers, in addition to the standard factory method for Good that takes single “good” type, an parameterless apply used to narrow the Good type when creating a Bad.

Attributes

Companion
class
Source
Or.scala
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Good.type

Members list

Type members

Classlikes

class GoodType[G]

Supports the syntax that enables Bad instances to be created with a specific Good type.

Supports the syntax that enables Bad instances to be created with a specific Good type.

Attributes

Source
Or.scala
Supertypes
class Object
trait Matchable
class Any

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
Source
Mirror.scala
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror
Source
Mirror.scala

Value members

Concrete methods

def apply[G]: GoodType[G]

Captures a Good type to enable a Bad to be constructed with a specific Good type.

Captures a Good type to enable a Bad to be constructed with a specific Good type.

Because Or has two types, but the Bad factory method only takes a value of the “bad” type, the Scala compiler will infer Nothing for the Good type:

scala> Bad("oops")
res1: org.scalactic.Bad[Nothing,String] = Bad(oops)

Often Nothing will work fine, as it will be widened as soon as the compiler encounters a more specific Good type. Sometimes, however, you may need to specify it. In such situations you can use this factory method, like this:

scala> Good[Int].orBad("oops")
res3: org.scalactic.Bad[Int,String] = Bad(oops)

Attributes

Source
Or.scala