Skip to content

Commit e136ff7

Browse files
committed
Added more helpers methods on Option
1 parent 9a28762 commit e136ff7

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Added `+=` and `-=` operators.
1313

1414
Added `assert()` and removed `should_equal()`.
1515

16+
Added `Option::is_some()` and `Option::is_none()`.
17+
1618
Removed `List::for_each` (use `for x in y` loops instead).
1719

1820
## Checks

src/prelude.gdn

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,22 @@ enum Option<T> {
3232
None,
3333
}
3434

35+
/// Return True if this value is `Some`.
36+
fun<T> (this: Option<T>) is_some(): Bool {
37+
match this {
38+
Some(_) => True,
39+
None => False,
40+
}
41+
}
42+
43+
/// Return True if this value is `None`.
44+
fun<T> (this: Option<T>) is_none(): Bool {
45+
match this {
46+
Some(_) => False,
47+
None => True,
48+
}
49+
}
50+
3551
// `Result` represents a value that succeeded, with `Ok(...)`, or
3652
// failed, with `Err(...)`.
3753
enum Result<T, E> {

src/test_files/go_to_def/method_name.gdn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ fun file_name(path: String) {
55

66
// args: definition-position
77
// expected stdout:
8-
// {"start_offset":7804,"end_offset":7809,"line_number":350,"end_line_number":350,"path":"prelude.gdn"}
8+
// {"start_offset":8120,"end_offset":8125,"line_number":366,"end_line_number":366,"path":"prelude.gdn"}
99

0 commit comments

Comments
 (0)