///|
pub(all) struct GroupMember {
id : String
transformation : String
source : String
attempt : String
} derive(Eq, @debug.Debug, ToJson, @json.FromJson)
///|
/// All associations are relative to the group's directory inside its owning case.
pub(all) struct EquivalentGroupRecord {
format_version : Int32
purpose : String
case_source : String
configurations : Array[String]
result_protocol : String
injected : Bool
members : Array[GroupMember]
comparison : Comparison
} derive(Eq, @debug.Debug, ToJson, @json.FromJson)
///|
pub(all) struct EquivalentGroupReduction {
format_version : Int32
first_configuration : String
second_configuration : String
relations : Array[(String, String)]
progress : ReductionProgress
} derive(Eq, @debug.Debug, ToJson, @json.FromJson)
///|
pub extend GroupMember with Eq::{equal, not_equal}
///|
pub extend GroupMember with @debug.Debug::{to_repr}
///|
pub extend GroupMember with ToJson::{to_json}
///|
pub extend GroupMember with @json.FromJson::{from_json}
///|
pub extend EquivalentGroupRecord with Eq::{equal, not_equal}
///|
pub extend EquivalentGroupRecord with @debug.Debug::{to_repr}
///|
pub extend EquivalentGroupRecord with ToJson::{to_json}
///|
pub extend EquivalentGroupRecord with @json.FromJson::{from_json}
///|
pub extend EquivalentGroupReduction with Eq::{equal, not_equal}
///|
pub extend EquivalentGroupReduction with @debug.Debug::{to_repr}
///|
pub extend EquivalentGroupReduction with ToJson::{to_json}
///|
pub extend EquivalentGroupReduction with @json.FromJson::{from_json}