options: use isSome (#7782)

Fixes #7780
This commit is contained in:
alaviss
2018-05-06 15:55:19 +07:00
committed by Andreas Rumpf
parent d8dd43e500
commit 26d89fa09c

View File

@@ -134,7 +134,7 @@ proc get*[T](self: Option[T]): T =
proc get*[T](self: Option[T], otherwise: T): T =
## Returns the contents of this option or `otherwise` if the option is none.
if self.has:
if self.isSome:
self.val
else:
otherwise
@@ -154,7 +154,7 @@ proc map*[T, R](self: Option[T], callback: proc (input: T): R): Option[R] =
proc flatten*[A](self: Option[Option[A]]): Option[A] =
## Remove one level of structure in a nested Option.
if self.has:
if self.isSome:
self.val
else:
none(A)
@@ -179,14 +179,14 @@ proc filter*[T](self: Option[T], callback: proc (input: T): bool): Option[T] =
proc `==`*(a, b: Option): bool =
## Returns ``true`` if both ``Option``s are ``none``,
## or if they have equal values
(a.has and b.has and a.val == b.val) or (not a.has and not b.has)
(a.isSome and b.isSome and a.val == b.val) or (not a.isSome and not b.isSome)
proc `$`*[T](self: Option[T]): string =
## Get the string representation of this option. If the option has a value,
## the result will be `Some(x)` where `x` is the string representation of the contained value.
## If the option does not have a value, the result will be `None[T]` where `T` is the name of
## the type contained in the option.
if self.has:
if self.isSome:
"Some(" & $self.val & ")"
else:
"None[" & T.name & "]"