Skip to main content

Module dereference

Module dereference 

Source
Expand description

Invoking a loader from inside an algorithm, on sufficient native stack. Invoking the LoadDocumentCallback from inside an algorithm.

The algorithms recurse once per nesting level of their input, and keep that recursion off the caller’s native stack by checking, at every recursion point, that at least RED_ZONE of it is left (native_stack). Dereferencing a document leaves the algorithm for the embedder’s Loader: an HTTP client behind a cache, say, whose native stack per poll the crate cannot bound. Polled without a check of its own, a loader runs on whatever the last recursion point left, which may be only a little more than the red zone.

Dereference::dereference is therefore the one way an algorithm invokes a loader: every poll of the loader runs as a recursion point does, so it always starts with at least RED_ZONE of native stack. The workspace clippy.toml disallows calling Loader::load and Loader::load_with anywhere else.

Traits§

Dereference
Dereferencing a document through a Loader on sufficient native stack.