pub trait RuntimeHostCompoundProvider<S>: Send + Sync {
// Required method
fn pull(
&self,
solution: &S,
limits: RuntimeProviderLimits,
) -> Vec<RawProviderCandidate>;
}Expand description
Object-safe lazy pull boundary for host-language callbacks only.
A Python implementation performs Python::attach(...).unwrap_or_else( panic_with_py_err) inside this method. Core never catches/re-wraps that
panic, preserving the original Python exception and traceback for direct
and retained solves. open_cursor, size, and validate_cursor must not
call this method.
Required Methods§
fn pull( &self, solution: &S, limits: RuntimeProviderLimits, ) -> Vec<RawProviderCandidate>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".