fn check_matcher_core<'tt>( sess: &Session, def: &Item, first_sets: &FirstSets<'tt>, matcher: &'tt [TokenTree], follow: &TokenSet<'tt>, ) -> Result<TokenSet<'tt>, ErrorGuaranteed>