mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-07 00:00:09 +02:00
tokio: document missing timer panics (#2801)
Fixes: #2696 Co-authored-by: Mikail Bagishov <[email protected]>
This commit is contained in:
co-authored by
Mikail Bagishov
parent
048174012d
commit
6260ed907b
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user