tokio: document missing timer panics (#2801)

Fixes: #2696
Co-authored-by: Mikail Bagishov <[email protected]>
This commit is contained in:
Blas Rodriguez Irizar
2020-09-05 20:33:42 +02:00
committed by GitHub
co-authored by Mikail Bagishov
parent 048174012d
commit 6260ed907b
+11
View File
@@ -20,6 +20,17 @@ impl Handle {
/// # Panics
///
/// This function panics if there is no current timer set.
///
/// It can be triggered when `Builder::enable_time()` or
/// `Builder::enable_all()` are not included in the builder.
///
/// It can also panic whenever a timer is created outside of a Tokio
/// runtime. That is why `rt.block_on(delay_for(...))` will panic,
/// since the function is executed outside of the runtime.
/// Whereas `rt.block_on(async {delay_for(...).await})` doesn't
/// panic. And this is because wrapping the function on an async makes it
/// lazy, and so gets executed inside the runtime successfuly without
/// panicking.
pub(crate) fn current() -> Self {
context::time_handle()
.expect("there is no timer running, must be called from the context of Tokio runtime")