pub fn parse_arg_general(&mut self, require_name: bool) -> PResult<'a, Arg> {
        maybe_whole!(no_clone self, NtArg);

        let pat = if require_name || self.is_named_argument() {
            debug!("parse_arg_general parse_pat (require_name:{})",
                   require_name);
            let pat = try!(self.parse_pat());

            try!(self.expect(&token::Colon));
            pat
        } else {
            debug!("parse_arg_general ident_to_pat");
            ast_util::ident_to_pat(ast::DUMMY_NODE_ID,
                                   self.last_span,
                                   special_idents::invalid)
        };

        let t = try!(self.parse_ty_sum());

        Ok(Arg {
            ty: t,
            pat: pat,
            id: ast::DUMMY_NODE_ID,
        })
    }
/// This version of parse arg doesn't necessarily require
/// identifier names.
This version of parse arg doesn't necessarily require
identifier names.
This version of parse arg doesn ' t necessarily require identifier names .
pub fn parse_arg_general(&mut self, require_name: bool) -> PResult<'a, Arg> {
        maybe_whole!(no_clone self, NtArg);
        let pat = if require_name || self.is_named_argument() {
            debug!("parse_arg_general parse_pat (require_name:{})",
                   require_name);
            let pat = try!(self.parse_pat());
            try!(self.expect(&token::Colon));
            pat
        } else {
            debug!("parse_arg_general ident_to_pat");
            ast_util::ident_to_pat(ast::DUMMY_NODE_ID,
                                   self.last_span,
                                   special_idents::invalid)
        };
        let t = try!(self.parse_ty_sum());
        Ok(Arg {
            ty: t,
            pat: pat,
            id: ast::DUMMY_NODE_ID,
        })
    }
pub fn parse_arg_general ( & mut self , require_name : bool ) -> PResult < ' a , Arg > { maybe_whole ! ( no_clone self NtArg ) ; let pat = if require_name || self . is_named_argument ( ) { debug ! ( " " require_name ) ; let pat = try ! ( self parse_pat ( ) ) ; try ! ( self expect ( token Colon ) ) ; pat } else { debug ! ( " " ) ; ast_util :: ident_to_pat ( ast :: DUMMY_NODE_ID , self . last_span , special_idents :: invalid ) } ; let t = try ! ( self parse_ty_sum ( ) ) ; Ok ( Arg { ty : t , pat : pat , id : ast :: DUMMY_NODE_ID , } ) }
This version of parse arg doesn't necessarily require
identifier names.
This version of parse arg doesn ' t necessarily require identifier names .
&mut self
require_name
bool
&mut self
require_name
bool