Skip to main content

rl_lang/docs/entries/stdlib/result/
mod.rs

1use crate::docs::entry::{FnEntry, StdEntry};
2
3pub static RES: StdEntry = StdEntry {
4    name: "res",
5    description: "functions for working with result[T] values (ok / err)",
6    functions: FUNCTIONS,
7    since: None,
8    unstable: false,
9};
10
11static FUNCTIONS: &[&FnEntry] = &[
12    &IS_OK,
13    &IS_ERR,
14    &RESULT_UNWRAP,
15    &RESULT_UNWRAP_ERR,
16    &RESULT_UNWRAP_OR,
17    &RESULT_MAP,
18    &RESULT_MAP_ERR,
19];
20
21static IS_OK: FnEntry = FnEntry {
22    signature: "is_ok(r)",
23    description: "true if r is an ok value",
24    example: "get std::res::is_ok\n\ndec result[int] r = ok(42)\nprintln(is_ok(r))  // true",
25    expected_output: None,
26    returns: "",
27    errors: None,
28    see_also: &[],
29    since: None,
30};
31
32static IS_ERR: FnEntry = FnEntry {
33    signature: "is_err(r)",
34    description: "true if r is an err value",
35    example: "get std::res::is_err\n\ndec result[int] r = err(\"not found\")\nprintln(is_err(r))  // true",
36    expected_output: None,
37    returns: "",
38    errors: None,
39    see_also: &[],
40    since: None,
41};
42
43static RESULT_UNWRAP: FnEntry = FnEntry {
44    signature: "result_unwrap(r)",
45    description: "returns the inner value of an ok result; panics at runtime if r is err",
46    example: "get std::res::result_unwrap\n\ndec result[int] r = ok(10)\nprintln(result_unwrap(r))  // 10",
47    expected_output: None,
48    returns: "",
49    errors: None,
50    see_also: &[],
51    since: None,
52};
53
54static RESULT_UNWRAP_ERR: FnEntry = FnEntry {
55    signature: "result_unwrap_err(r)",
56    description: "returns the inner value of an err result; panics at runtime if r is ok",
57    example: "get std::res::result_unwrap_err\n\ndec result[int] r = err(\"oops\")\nprintln(result_unwrap_err(r))  // oops",
58    expected_output: None,
59    returns: "",
60    errors: None,
61    see_also: &[],
62    since: None,
63};
64
65static RESULT_UNWRAP_OR: FnEntry = FnEntry {
66    signature: "result_unwrap_or(r, default)",
67    description: "returns the inner ok value, or default if r is err",
68    example: "get std::res::result_unwrap_or\n\ndec result[int] r = err(\"fail\")\nprintln(result_unwrap_or(r, 0))  // 0",
69    expected_output: None,
70    returns: "",
71    errors: None,
72    see_also: &[],
73    since: None,
74};
75
76static RESULT_MAP: FnEntry = FnEntry {
77    signature: "result_map(r, fn)",
78    description: "applies a function to the ok value and returns a new ok; passes err through unchanged",
79    example: "get std::res::result_map\n\ndec result[int] r = ok(5)\ndec result[int] doubled = result_map(r, fn(int x) -> int { return x * 2 })\nprintln(result_unwrap(doubled))  // 10",
80    expected_output: None,
81    returns: "",
82    errors: None,
83    see_also: &[],
84    since: None,
85};
86
87static RESULT_MAP_ERR: FnEntry = FnEntry {
88    signature: "result_map_err(r, fn)",
89    description: "applies a function to the err value and returns a new err; passes ok through unchanged",
90    example: "get std::res::result_map_err\n\ndec result[int] r = err(\"oops\")\ndec result[int] r2 = result_map_err(r, fn(string s) -> string { return concat(s, \"!\") })\nprintln(result_unwrap_err(r2))  // oops!",
91    expected_output: None,
92    returns: "",
93    errors: None,
94    see_also: &[],
95    since: None,
96};