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.
Type members
Classlikes
Inherited types
The names of the product elements
The names of the product elements
- Inherited from:
- Mirror
- Source:
- Mirror.scala
Value members
Concrete methods
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)
- Source:
- Or.scala