pub enum ResolutionRejection {
UnknownConflict {
conflict_id: ConflictId,
},
CustomOpMissingParents {
conflict_id: ConflictId,
expected: Vec<OpId>,
got: Vec<OpId>,
},
TypeError {
conflict_id: ConflictId,
errors: Vec<String>,
},
}Expand description
Why a resolution was rejected. Distinct from CommitError
because a resolve call returns per-conflict verdicts; commit
returns a single overall verdict.
Variants§
UnknownConflict
The conflict_id doesn’t refer to any pending conflict in the session. Either the agent invented one, or it was already resolved and the session pruned it.
Fields
conflict_id: ConflictIdCustomOpMissingParents
The custom op’s parents don’t include both ours and
theirs. A custom resolution that doesn’t acknowledge
both sides isn’t a merge — it’s a fork.
TypeError
The resolution is structurally valid but the program it
produces — dst’s head with this resolution (and every
resolution accepted so far) overlaid — does not type-check.
Only returned by MergeSession::resolve_checked; the
structural MergeSession::resolve never composes a program
and so never emits this. errors are the composed program’s
type errors, rendered by the injected ResolutionChecker.
Trait Implementations§
Source§impl Clone for ResolutionRejection
impl Clone for ResolutionRejection
Source§fn clone(&self) -> ResolutionRejection
fn clone(&self) -> ResolutionRejection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResolutionRejection
impl Debug for ResolutionRejection
Source§impl<'de> Deserialize<'de> for ResolutionRejection
impl<'de> Deserialize<'de> for ResolutionRejection
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ResolutionRejection
Source§impl PartialEq for ResolutionRejection
impl PartialEq for ResolutionRejection
Source§impl Serialize for ResolutionRejection
impl Serialize for ResolutionRejection
impl StructuralPartialEq for ResolutionRejection
Auto Trait Implementations§
impl Freeze for ResolutionRejection
impl RefUnwindSafe for ResolutionRejection
impl Send for ResolutionRejection
impl Sync for ResolutionRejection
impl Unpin for ResolutionRejection
impl UnsafeUnpin for ResolutionRejection
impl UnwindSafe for ResolutionRejection
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.