pub struct Pipeline { /* private fields */ }Expand description
Runs strategies in order; first Resolved wins. If none resolves, returns the last Conflict (first-class conflict, never a silent pick).
Implementations§
Source§impl Pipeline
impl Pipeline
Sourcepub fn new(strategies: Vec<Box<dyn MergeStrategy>>) -> Self
pub fn new(strategies: Vec<Box<dyn MergeStrategy>>) -> Self
Builds a pipeline from an ordered list of strategies, cheapest first.
Sourcepub fn default_v1() -> Self
pub fn default_v1() -> Self
The v1 default: trivial, then line-based. Structured (Mergiraf) and LLM slots are appended by the caller when enabled.
Sourcepub fn merge(&self, base: &str, left: &str, right: &str) -> PipelineResult
pub fn merge(&self, base: &str, left: &str, right: &str) -> PipelineResult
Runs the strategies in order and returns the first clean resolution, or the last conflict if nothing resolves.
§Panics
Panics if every strategy reports MergeOutcome::Unavailable; a
pipeline must always contain at least one applicable strategy.
Auto Trait Implementations§
impl Freeze for Pipeline
impl !RefUnwindSafe for Pipeline
impl Send for Pipeline
impl Sync for Pipeline
impl Unpin for Pipeline
impl UnsafeUnpin for Pipeline
impl !UnwindSafe for Pipeline
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more