diff --git a/src/validate.rs b/src/validate.rs index 6964cb35c..a6b5c7c52 100644 --- a/src/validate.rs +++ b/src/validate.rs @@ -322,12 +322,14 @@ fn validate_duplicate_team_entries(data: &Data, errors: &mut Vec) { errors.push(e.to_string()); } + let alumni = || { + team.explicit_alumni() + .iter() + .map(|alum| alum.github.as_str()) + }; + // Check alumni for duplicates - if let Err(e) = check_duplicates( - team.name(), - "alumni", - team.explicit_alumni().iter().map(|a| a.github.as_str()), - ) { + if let Err(e) = check_duplicates(team.name(), "alumni", alumni()) { errors.push(e.to_string()); } @@ -335,10 +337,7 @@ fn validate_duplicate_team_entries(data: &Data, errors: &mut Vec) { if let Err(e) = check_duplicates( team.name(), "leads + alumni", - team.explicit_alumni() - .iter() - .map(|a| a.github.as_str()) - .chain(team.explicit_leads().iter().map(|s| s.as_str())), + alumni().chain(team.explicit_leads().iter().map(|s| s.as_str())), ) { errors.push(e.to_string()); } @@ -347,10 +346,7 @@ fn validate_duplicate_team_entries(data: &Data, errors: &mut Vec) { if let Err(e) = check_duplicates( team.name(), "members + alumni", - team.explicit_alumni() - .iter() - .map(|a| a.github.as_str()) - .chain(team.explicit_members().iter().map(|s| s.github.as_str())), + alumni().chain(team.explicit_members().iter().map(|s| s.github.as_str())), ) { errors.push(e.to_string()); }