Skip to content

Commit 5dd6de4

Browse files
committed
schedule doc example type clarity
1 parent fbc7dc0 commit 5dd6de4

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

rustler/src/schedule.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,16 @@ macro_rules! reschedule {
4040
/// ## Example:
4141
/// ```rust,ignore
4242
/// #[nif]
43-
/// fn factorial(input: u32, result: Option<u32>) -> Schedule<factorial, u32, u32, u32> {
43+
/// fn factorial(input: u8, result: Option<u32>) -> Schedule<factorial, u32, u8, Option<u32>> {
4444
/// let result = result.unwrap_or(1);
4545
/// if input == 0 {
4646
/// Schedule::Return(result)
4747
/// } else {
48-
/// // alternatively `Schedule::Continue2(std::marker::PhantomData, SchedulerFlags::Normal, input - 1, result * input)`
49-
/// // alternatively `Schedule::continue2(SchedulerFlags::Normal, input - 1, result * input)`
50-
/// // alternatively `Schedule::from((SchedulerFlags::Normal, input - 1, result * input))`
51-
/// // alternatively `(SchedulerFlags::Normal, input - 1, result * input).into()`
52-
/// reschedule!(SchedulerFlags::Normal, input - 1, result * input)
48+
/// // alternatively `Schedule::Continue2(std::marker::PhantomData, SchedulerFlags::Normal, input - 1, Some(result * input as u32))`
49+
/// // or `Schedule::continue2(SchedulerFlags::Normal, input - 1, Some(result * input as u32))`
50+
/// // or `Schedule::from((SchedulerFlags::Normal, input - 1, Some(result * input as u32)))`
51+
/// // or `(SchedulerFlags::Normal, input - 1, Some(result * input as u32)).into()`
52+
/// reschedule!(SchedulerFlags::Normal, input - 1, Some(result * input as u32))
5353
/// }
5454
/// }
5555
/// ```
Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
use rustler::{reschedule, Schedule, SchedulerFlags};
22

33
#[rustler::nif]
4-
fn scheduled_fac<'a>(input: u32, result: Option<u32>) -> Schedule<scheduled_fac, u32, u32, u32> {
4+
fn scheduled_fac<'a>(
5+
input: u8,
6+
result: Option<u32>,
7+
) -> Schedule<scheduled_fac, u32, u8, Option<u32>> {
58
let result = result.unwrap_or(1);
69
if input == 0 {
710
Schedule::Return(result)
811
} else {
9-
reschedule!(SchedulerFlags::Normal, input - 1, result * input)
12+
reschedule!(
13+
SchedulerFlags::Normal,
14+
input - 1,
15+
Some(result * input as u32)
16+
)
1017
}
1118
}

0 commit comments

Comments
 (0)