@@ -308,18 +308,14 @@ impl Team {
308308 let alumni = data
309309 . teams ( )
310310 . chain ( data. archived_teams ( ) )
311- . flat_map ( |t| t. alumni ( ) )
312- . map ( |a| a. as_str ( ) )
311+ . flat_map ( |t| t. explicit_alumni ( ) )
312+ . map ( |a| a. github . as_str ( ) )
313313 . filter ( |person| !active_members. contains ( person) ) ;
314314 members. extend ( alumni) ;
315315 }
316316 Ok ( members)
317317 }
318318
319- pub ( crate ) fn alumni ( & self ) -> & [ String ] {
320- self . people . alumni . as_ref ( ) . map_or ( & [ ] , Vec :: as_slice)
321- }
322-
323319 pub ( crate ) fn raw_lists ( & self ) -> & [ TeamList ] {
324320 & self . lists
325321 }
@@ -478,6 +474,10 @@ impl Team {
478474 & self . people . members
479475 }
480476
477+ pub ( crate ) fn explicit_alumni ( & self ) -> & [ TeamMember ] {
478+ self . people . alumni . as_ref ( ) . map_or ( & [ ] , Vec :: as_slice)
479+ }
480+
481481 pub ( crate ) fn contains_person ( & self , data : & Data , person : & Person ) -> Result < bool , Error > {
482482 let members = self . members ( data) ?;
483483 Ok ( members. contains ( person. github ( ) ) )
@@ -525,7 +525,7 @@ impl std::cmp::Ord for GitHubTeam<'_> {
525525pub ( crate ) struct TeamPeople {
526526 pub leads : Vec < String > ,
527527 pub members : Vec < TeamMember > ,
528- pub alumni : Option < Vec < String > > ,
528+ pub alumni : Option < Vec < TeamMember > > ,
529529 #[ serde( default ) ]
530530 pub included_teams : Vec < String > ,
531531 #[ serde( default = "default_false" ) ]
0 commit comments