pub struct ServiceCompatibility;Expand description
Main service compatibility analyzer
Implementations§
Source§impl ServiceCompatibility
impl ServiceCompatibility
Sourcepub fn analyze_compatibility(
base_service: &ServiceSpec,
candidate_service: &ServiceSpec,
) -> Result<CompatibilityAnalysisResult>
pub fn analyze_compatibility( base_service: &ServiceSpec, candidate_service: &ServiceSpec, ) -> Result<CompatibilityAnalysisResult>
Analyze compatibility between two ServiceSpec using both fingerprints and proto-sign
Sourcepub fn is_breaking(
base_service: &ServiceSpec,
candidate_service: &ServiceSpec,
) -> Result<bool>
pub fn is_breaking( base_service: &ServiceSpec, candidate_service: &ServiceSpec, ) -> Result<bool>
检查是否存在破坏性变更(用于 CI/CD 快速判断)
注意:此方法内部会执行完整的兼容性分析。如果需要详细信息,
建议直接调用 analyze_compatibility 并检查 result.level。
Sourcepub fn breaking_changes(
base_service: &ServiceSpec,
candidate_service: &ServiceSpec,
) -> Result<Vec<BreakingChange>>
pub fn breaking_changes( base_service: &ServiceSpec, candidate_service: &ServiceSpec, ) -> Result<Vec<BreakingChange>>
获取破坏性变更列表(用于生成升级指南、错误报告等)
注意:此方法内部会执行完整的兼容性分析。如果需要其他信息,
建议直接调用 analyze_compatibility 并使用 result.breaking_changes。
Auto Trait Implementations§
impl Freeze for ServiceCompatibility
impl RefUnwindSafe for ServiceCompatibility
impl Send for ServiceCompatibility
impl Sync for ServiceCompatibility
impl Unpin for ServiceCompatibility
impl UnwindSafe for ServiceCompatibility
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
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>
Converts
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>
Converts
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