Lines Matching full:let
24 /// A local (let) binding.
36 /// macro would expand to. It can be any of local variable (`let`),
43 /// A local `let` binding: `let x: u64 = s.parse()?;`.
47 pub let_token: Token![let],
55 /// The expression assigned in a local `let` binding, including optional
58 /// `LocalInit` represents `= s.parse()?` in `let x: u64 = s.parse()?` and
59 /// `= r else { return }` in `let Ok(x) = r else { return }`.
72 /// would expand to. It can be any of local variable (`let`), item, or
115 /// // let mut x = 1;
129 /// let outer_attrs = input.call(Attribute::parse_outer)?;
130 /// let fn_token: Token![fn] = input.parse()?;
131 /// let name: Ident = input.parse()?;
133 /// let content;
134 /// let brace_token = braced!(content in input);
135 /// let inner_attrs = content.call(Attribute::parse_inner)?;
136 /// let stmts = content.call(Block::parse_within)?;
140 /// let mut attrs = outer_attrs;
154 let mut stmts = Vec::new(); in parse_within()
156 while let semi @ Some(_) = input.parse()? { in parse_within()
162 let stmt = parse_stmt(input, AllowNoSemi(true))?; in parse_within()
163 let requires_semicolon = match &stmt { in parse_within()
184 let content; in parse()
195 let allow_nosemi = AllowNoSemi(false); in parse()
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()
207 let mut is_item_macro = false; in parse_stmt()
208 if let Ok(path) = ahead.call(Path::parse_mod_style) { in parse_stmt()
222 if input.peek(Token![let]) && !input.peek(token::Group) { in parse_stmt()
261 let item = item::parsing::parse_rest_of_item(begin, attrs, input)?; in parse_stmt()
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()
286 let let_token: Token![let] = input.parse()?; in stmt_local()
288 let mut pat = Pat::parse_single(input)?; 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()
301 let eq_token: Token![=] = eq_token; 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()
306 let diverge = ExprBlock { in stmt_local()
325 let semi_token: Token![;] = input.parse()?; in stmt_local()
341 let mut e = Expr::parse_with_earlier_boundary_rule(input)?; in stmt_expr()
343 let mut attr_target = &mut e; in stmt_expr()
364 | Expr::Let(_) in stmt_expr()
391 let semi_token: Option<Token![;]> = input.parse()?; in stmt_expr()
456 if let Some(init) = &self.init { in to_tokens()
464 if let Some((else_token, diverge)) = &init.diverge { in to_tokens()