Skip to main content

NoPulse

Static NoPulse 

Source
pub static NoPulse: Inert
Expand description

Never stops and discards reports, including in every nested phase.

Pass &NoPulse. step, live and Paced recognize it by its address, so a loop that steps on every iteration runs with no checkpoint code when nobody listens: the one comparison moves out of the loop. Where it cannot, it is a comparison and a branch. A bare check() or advance() through a &dyn Pulse still makes one call, to a function that returns at once. A pulse that wraps it, such as &&NoPulse or a Box<&NoPulse>, works but is not recognized, and pays for both calls.

Its children and stages are free the same way and need no allocation. It still validates plans, so a library’s planning mistakes surface even when nobody observes it.