Lines Matching refs:input
285 fn parse(input: ParseStream) -> Result<Self> {
286 Self::parse_helper(input, false)
292 fn parse(input: ParseStream) -> Result<Self> {
293 if input.peek(Lifetime) && !input.peek2(Token![+]) {
294 return Ok(GenericArgument::Lifetime(input.parse()?));
297 if input.peek(Lit) || input.peek(token::Brace) {
298 return const_argument(input).map(GenericArgument::Const);
301 let mut argument: Type = input.parse()?;
313 if let Some(eq_token) = input.parse::<Option<Token![=]>>()? {
321 return if input.peek(Lit) || input.peek(token::Brace) {
326 value: const_argument(input)?,
333 ty: input.parse()?,
339 if let Some(colon_token) = input.parse::<Option<Token![:]>>()? {
352 if input.peek(Token![,]) || input.peek(Token![>]) {
355 let value: TypeParamBound = input.parse()?;
357 if !input.peek(Token![+]) {
360 let punct: Token![+] = input.parse()?;
377 pub(crate) fn const_argument(input: ParseStream) -> Result<Expr> {
378 let lookahead = input.lookahead1();
380 if input.peek(Lit) {
381 let lit = input.parse()?;
385 if input.peek(Ident) {
386 let ident: Ident = input.parse()?;
394 if input.peek(token::Brace) {
397 let block: ExprBlock = input.parse()?;
403 let begin = input.fork();
405 braced!(content in input);
407 let verbatim = verbatim::between(&begin, input);
422 pub fn parse_turbofish(input: ParseStream) -> Result<Self> {
423 let colon2_token: Token![::] = input.parse()?;
424 Self::do_parse(Some(colon2_token), input)
429 input: ParseStream,
433 lt_token: input.parse()?,
437 if input.peek(Token![>]) {
440 let value: GenericArgument = input.parse()?;
442 if input.peek(Token![>]) {
445 let punct: Token![,] = input.parse()?;
450 gt_token: input.parse()?,
457 fn parse(input: ParseStream) -> Result<Self> {
458 let colon2_token: Option<Token![::]> = input.parse()?;
459 Self::do_parse(colon2_token, input)
465 fn parse(input: ParseStream) -> Result<Self> {
468 paren_token: parenthesized!(content in input),
470 output: input.call(ReturnType::without_plus)?,
477 fn parse(input: ParseStream) -> Result<Self> {
478 Self::parse_helper(input, false)
483 fn parse_helper(input: ParseStream, expr_style: bool) -> Result<Self> {
484 if input.peek(Token![super])
485 || input.peek(Token![self])
486 || input.peek(Token![crate])
487 || cfg!(feature = "full") && input.peek(Token![try])
489 let ident = input.call(Ident::parse_any)?;
493 let ident = if input.peek(Token![Self]) {
494 input.call(Ident::parse_any)?
496 input.parse()?
499 if !expr_style && input.peek(Token![<]) && !input.peek(Token![<=])
500 || input.peek(Token![::]) && input.peek3(Token![<])
504 arguments: PathArguments::AngleBracketed(input.parse()?),
535 /// fn parse(input: ParseStream) -> Result<Self> {
537 /// use_token: input.parse()?,
538 /// path: input.call(Path::parse_mod_style)?,
544 pub fn parse_mod_style(input: ParseStream) -> Result<Self> {
546 leading_colon: input.parse()?,
550 if !input.peek(Ident)
551 && !input.peek(Token![super])
552 && !input.peek(Token![self])
553 && !input.peek(Token![Self])
554 && !input.peek(Token![crate])
558 let ident = Ident::parse_any(input)?;
560 if !input.peek(Token![::]) {
563 let punct = input.parse()?;
567 return Err(input.parse::<Ident>().unwrap_err());
569 return Err(input.error("expected path segment after `::`"));
576 pub(crate) fn parse_helper(input: ParseStream, expr_style: bool) -> Result<Self> {
578 leading_colon: input.parse()?,
581 let value = PathSegment::parse_helper(input, expr_style)?;
586 Path::parse_rest(input, &mut path, expr_style)?;
591 input: ParseStream,
595 while input.peek(Token![::]) && !input.peek3(token::Paren) {
596 let punct: Token![::] = input.parse()?;
598 let value = PathSegment::parse_helper(input, expr_style)?;
611 pub(crate) fn qpath(input: ParseStream, expr_style: bool) -> Result<(Option<QSelf>, Path)> {
612 if input.peek(Token![<]) {
613 let lt_token: Token![<] = input.parse()?;
614 let this: Type = input.parse()?;
615 let path = if input.peek(Token![as]) {
616 let as_token: Token![as] = input.parse()?;
617 let path: Path = input.parse()?;
622 let gt_token: Token![>] = input.parse()?;
623 let colon2_token: Token![::] = input.parse()?;
626 let path = PathSegment::parse_helper(input, expr_style)?;
628 if !input.peek(Token![::]) {
631 let punct: Token![::] = input.parse()?;
658 let path = Path::parse_helper(input, expr_style)?;