Lines Matching refs:input
153 pub fn parse_within(input: ParseStream) -> Result<Vec<Stmt>> { in parse_within()
156 while let semi @ Some(_) = input.parse()? { in parse_within()
159 if input.is_empty() { in parse_within()
162 let stmt = parse_stmt(input, AllowNoSemi(true))?; in parse_within()
171 if input.is_empty() { in parse_within()
174 return Err(input.error("unexpected token, expected `;`")); in parse_within()
183 fn parse(input: ParseStream) -> Result<Self> { in parse()
186 brace_token: braced!(content in input), in parse()
194 fn parse(input: ParseStream) -> Result<Self> { in parse()
196 parse_stmt(input, allow_nosemi) in parse()
200 fn parse_stmt(input: ParseStream, allow_nosemi: AllowNoSemi) -> Result<Stmt> { in parse_stmt()
201 let begin = input.fork(); in parse_stmt()
202 let attrs = input.call(Attribute::parse_outer)?; in parse_stmt()
206 let ahead = input.fork(); in parse_stmt()
216 input.advance_to(&ahead); in parse_stmt()
217 return stmt_mac(input, attrs, path).map(Stmt::Macro); in parse_stmt()
222 if input.peek(Token![let]) && !input.peek(token::Group) { in parse_stmt()
223 stmt_local(input, attrs).map(Stmt::Local) in parse_stmt()
224 } else if input.peek(Token![pub]) in parse_stmt()
225 || input.peek(Token![crate]) && !input.peek2(Token![::]) in parse_stmt()
226 || input.peek(Token![extern]) in parse_stmt()
227 || input.peek(Token![use]) in parse_stmt()
228 || input.peek(Token![static]) in parse_stmt()
229 && (input.peek2(Token![mut]) in parse_stmt()
230 || input.peek2(Ident) in parse_stmt()
231 && !(input.peek2(Token![async]) in parse_stmt()
232 && (input.peek3(Token![move]) || input.peek3(Token![|])))) in parse_stmt()
233 || input.peek(Token![const]) in parse_stmt()
234 && !(input.peek2(token::Brace) in parse_stmt()
235 || input.peek2(Token![static]) in parse_stmt()
236 || input.peek2(Token![async]) in parse_stmt()
237 && !(input.peek3(Token![unsafe]) in parse_stmt()
238 || input.peek3(Token![extern]) in parse_stmt()
239 || input.peek3(Token![fn])) in parse_stmt()
240 || input.peek2(Token![move]) in parse_stmt()
241 || input.peek2(Token![|])) in parse_stmt()
242 || input.peek(Token![unsafe]) && !input.peek2(token::Brace) in parse_stmt()
243 || input.peek(Token![async]) in parse_stmt()
244 && (input.peek2(Token![unsafe]) in parse_stmt()
245 || input.peek2(Token![extern]) in parse_stmt()
246 || input.peek2(Token![fn])) in parse_stmt()
247 || input.peek(Token![fn]) in parse_stmt()
248 || input.peek(Token![mod]) in parse_stmt()
249 || input.peek(Token![type]) in parse_stmt()
250 || input.peek(Token![struct]) in parse_stmt()
251 || input.peek(Token![enum]) in parse_stmt()
252 || input.peek(Token![union]) && input.peek2(Ident) in parse_stmt()
253 || input.peek(Token![auto]) && input.peek2(Token![trait]) in parse_stmt()
254 || input.peek(Token![trait]) in parse_stmt()
255 || input.peek(Token![default]) in parse_stmt()
256 && (input.peek2(Token![unsafe]) || input.peek2(Token![impl])) in parse_stmt()
257 || input.peek(Token![impl]) in parse_stmt()
258 || input.peek(Token![macro]) in parse_stmt()
261 let item = item::parsing::parse_rest_of_item(begin, attrs, input)?; in parse_stmt()
264 stmt_expr(input, allow_nosemi, attrs) in parse_stmt()
268 fn stmt_mac(input: ParseStream, attrs: Vec<Attribute>, path: Path) -> Result<StmtMacro> { in stmt_mac()
269 let bang_token: Token![!] = input.parse()?; in stmt_mac()
270 let (delimiter, tokens) = mac::parse_delimiter(input)?; in stmt_mac()
271 let semi_token: Option<Token![;]> = input.parse()?; in stmt_mac()
285 fn stmt_local(input: ParseStream, attrs: Vec<Attribute>) -> Result<Local> { in stmt_local()
286 let let_token: Token![let] = input.parse()?; in stmt_local()
288 let mut pat = Pat::parse_single(input)?; in stmt_local()
289 if input.peek(Token![:]) { in stmt_local()
290 let colon_token: Token![:] = input.parse()?; in stmt_local()
291 let ty: Type = input.parse()?; in stmt_local()
300 let init = if let Some(eq_token) = input.parse()? { in stmt_local()
302 let expr: Expr = input.parse()?; in stmt_local()
304 let diverge = if !classify::expr_trailing_brace(&expr) && input.peek(Token![else]) { in stmt_local()
305 let else_token: Token![else] = input.parse()?; in stmt_local()
309 block: input.parse()?, in stmt_local()
325 let semi_token: Token![;] = input.parse()?; in stmt_local()
337 input: ParseStream, in stmt_expr()
341 let mut e = Expr::parse_with_earlier_boundary_rule(input)?; in stmt_expr()
391 let semi_token: Option<Token![;]> = input.parse()?; in stmt_expr()
411 Err(input.error("expected semicolon")) in stmt_expr()