pub struct IntegrationBlame {
pub apply_conflicts: Vec<ApplyConflict>,
pub duplicate_conflicts: Vec<DuplicateBlame>,
pub build_test: Option<BuildTestFailure>,
}Expand description
Structured attribution of why a union integration failed — which subtask, file, symbol, or check is implicated. Populated only on failure. This is the data a regional replan needs to retry just the failing region (instead of re-running the whole goal), and what a UI reads to show “why did this run fail”, not merely “it failed”.
Deliberately out of scope: parsing the build/test output to map a failing
test back to a symbol — that needs a language-specific parser. The raw
(bounded) output tail is retained in build_test instead.
Fields§
§apply_conflicts: Vec<ApplyConflict>Patches that failed to apply (textual conflicts), attributed to subtask + files.
duplicate_conflicts: Vec<DuplicateBlame>Duplicate declarations the union gate found, attributed to subtasks.
build_test: Option<BuildTestFailure>The union build/test failure, when that is what rejected the merge.
Implementations§
Source§impl IntegrationBlame
impl IntegrationBlame
pub fn is_empty(&self) -> bool
Sourcepub fn implicated_subtasks(&self) -> BTreeSet<String>
pub fn implicated_subtasks(&self) -> BTreeSet<String>
The subtasks a regional replan must DROP and redo — every subtask any
failure cause implicates. A build_test failure carries its localized
region (the subtasks whose files the failure output named); when that
couldn’t be localized it carries the whole integrated set instead, which
forces the implicated set to everything ⇒ the caller computes an empty
“clean” set ⇒ it falls back to a whole-goal session rather than a regional
one.
Trait Implementations§
Source§impl Clone for IntegrationBlame
impl Clone for IntegrationBlame
Source§impl Debug for IntegrationBlame
impl Debug for IntegrationBlame
Source§impl Default for IntegrationBlame
impl Default for IntegrationBlame
impl Eq for IntegrationBlame
Source§impl From<&IntegrationBlame> for IntegrationBlameDto
impl From<&IntegrationBlame> for IntegrationBlameDto
Source§fn from(b: &IntegrationBlame) -> Self
fn from(b: &IntegrationBlame) -> Self
Source§impl PartialEq for IntegrationBlame
impl PartialEq for IntegrationBlame
impl StructuralPartialEq for IntegrationBlame
Auto Trait Implementations§
impl Freeze for IntegrationBlame
impl RefUnwindSafe for IntegrationBlame
impl Send for IntegrationBlame
impl Sync for IntegrationBlame
impl Unpin for IntegrationBlame
impl UnsafeUnpin for IntegrationBlame
impl UnwindSafe for IntegrationBlame
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more