1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Canonical translation of terminal [`MachineOutcome`] into [`LoopError`].
//!
//! The driver's `Done` arm and [`Loop::stop_reason`] both need to turn a
//! [`MachineOutcome`] into the [`LoopError`] propagated from `run()`. Before
//! this module existed, that translation was written in multiple places; this
//! is the single source of truth.
//!
//! The separate [`LoopError`] → hook-`RunEndReason` mapping lives with the
//! hooks feature in the driver's emission submodule.
//!
//! [`Loop::stop_reason`]: crate::engine::core::Loop::stop_reason
use crateMachineOutcome;
use crateLoopError;