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