Skip to main content

Settle

Trait Settle 

Source
pub trait Settle: 'static {
    // Required methods
    fn settle(
        &self,
        rerun: &mut Rerun<'_>,
        pulls: &[Pull],
        own: Option<&str>,
    ) -> GeopResult<StateValues>;
    fn solvable(&self, reader: &Reader<'_>) -> GeopResult<Vec<String>>;
}
Expand description

What settles a program’s state after every edit: moves what the steps say a solve moves — where placed parts are — so that the constraints they declare hold. At most one per registry; with none, the state is kept as given. When to settle, and what of the program runs first, is the editor’s.

Required Methods§

Source

fn settle( &self, rerun: &mut Rerun<'_>, pulls: &[Pull], own: Option<&str>, ) -> GeopResult<StateValues>

The values of rerun.program’s state it moves, and where to: first towards what pulls pull — every value free to give way — or else, where the constraints do not hold, the state of the step own being edited first. None where nothing needs to move.

Source

fn solvable(&self, reader: &Reader<'_>) -> GeopResult<Vec<String>>

The names of the state it solves for in the part reader reads: once the whole program has run, the rest of the state goes.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§