fn modifiers(&mut self) -> (Modifiers, Option<Span>) {
    let mut modifiers = Modifiers::empty();
    loop {
      match self.ident_() {
        None => return (modifiers, None),
        Some(id) => match Modifiers::from_name(self.span(id)) {
          Modifiers::NONE => return (modifiers, Some(id)),
          m => {
            if modifiers.intersects(m) {
              self.push_err(self.err_str("double modifier"))
            }
            modifiers |= m;
          }
        },
      }
    }
  }
/// Try to parse visibility and sort modifiers.
Try to parse visibility and sort modifiers.
Try to parse visibility and sort modifiers .
fn modifiers(&mut self) -> (Modifiers, Option<Span>) {
    let mut modifiers = Modifiers::empty();
    loop {
      match self.ident_() {
        None => return (modifiers, None),
        Some(id) => match Modifiers::from_name(self.span(id)) {
          Modifiers::NONE => return (modifiers, Some(id)),
          m => {
            if modifiers.intersects(m) {
              self.push_err(self.err_str("double modifier"))
            }
            modifiers |= m;
          }
        },
      }
    }
  }
fn modifiers ( & mut self ) -> ( Modifiers , Option < Span > ) { let mut modifiers = Modifiers :: empty ( ) ; loop { match self . ident_ ( ) { None => return ( modifiers , None ) , Some ( id ) => match Modifiers :: from_name ( self . span ( id ) ) { Modifiers :: NONE => return ( modifiers , Some ( id ) ) , m => { if modifiers . intersects ( m ) { self . push_err ( self . err_str ( " " ) ) } modifiers |= m ; } } , } } }
Try to parse visibility and sort modifiers.
Try to parse visibility and sort modifiers .
&mut self
&mut self