Lines Matching refs:expr
26 /// # fn example(expr: Expr) {
28 /// let expr: Expr = /* ... */;
30 /// match expr {
31 /// Expr::MethodCall(expr) => {
34 /// Expr::Cast(expr) => {
37 /// Expr::If(expr) => {
47 /// We begin with a variable `expr` of type `Expr` that has no fields
49 /// with the same name `expr` we effectively imbue our variable with all of
52 /// `expr.receiver`, `expr.args` etc; if we ended up in the `If` case we get
53 /// to use `expr.cond`, `expr.then_branch`, `expr.else_branch`.
60 /// # fn example(expr: Expr) {
62 /// match expr {
131 /// A for loop: `for pat in expr { ... }`.
141 /// An `if` expression with an optional `else` block: `if expr { ... }
199 /// A try-expression: `expr?`.
217 /// A while loop: `while expr { ... }`.
220 /// A yield expression: `yield expr`.
225 // match expr {
228 // Expr::Array(expr) => {...}
229 // Expr::Assign(expr) => {...}
231 // Expr::Yield(expr) => {...}
315 pub expr: Option<Box<Expr>>,
335 pub expr: Box<Expr>,
392 /// A for loop: `for pat in expr { ... }`.
400 pub expr: Box<Expr>,
415 pub expr: Box<Expr>,
420 /// An `if` expression with an optional `else` block: `if expr { ... }
440 pub expr: Box<Expr>,
463 pub expr: Box<Expr>,
502 pub expr: Box<Expr>,
528 pub expr: Box<Expr>,
563 pub expr: Box<Expr>,
573 pub expr: Box<Expr>,
585 pub expr: Option<Box<Expr>>,
607 /// A try-expression: `expr?`.
611 pub expr: Box<Expr>,
642 pub expr: Box<Expr>,
657 /// A while loop: `while expr { ... }`.
669 /// A yield expression: `yield expr`.
674 pub expr: Option<Box<Expr>>,
858 pub expr: Expr,
916 pub(crate) fn requires_terminator(expr: &Expr) -> bool {
918 match expr {
1094 /// similar syntactic positions such as the condition expr after a
1095 /// `while` token or the expr at the top of a `match`.
1124 /// the braced struct init expr in relation to other operators. This can
1275 expr: Box::new(lhs),
1319 expr: Box::new(lhs),
1397 let expr = Box::new(unary_expr(input, allow_struct)?);
1405 expr,
1422 expr: Box::new(unary_expr(input)?),
1428 expr: Box::new(unary_expr(input)?),
1439 // <atom> [ <expr> ] ...
1533 expr: Box::new(e),
1540 expr: Box::new(e),
1612 expr: Box::new(e),
1704 let mut expr = if input.peek(Token![while]) {
1715 match &mut expr {
1722 Ok(expr)
1852 expr: Box::new(first),
1910 expr: Box::new(first),
1953 expr: content.parse()?,
1963 let mut expr = if input.peek(token::Group) {
1998 if continue_parsing_early(&expr) {
1999 attrs.extend(expr.replace_attrs(Vec::new()));
2000 expr.replace_attrs(attrs);
2003 return parse_expr(input, expr, allow_struct, Precedence::Any);
2007 expr = trailer_helper(input, expr)?;
2009 attrs.extend(expr.replace_attrs(Vec::new()));
2010 expr.replace_attrs(attrs);
2013 return parse_expr(input, expr, allow_struct, Precedence::Any);
2016 attrs.extend(expr.replace_attrs(Vec::new()));
2017 expr.replace_attrs(attrs);
2018 Ok(expr)
2022 fn continue_parsing_early(mut expr: &Expr) -> bool {
2023 while let Expr::Group(group) = expr {
2024 expr = &group.expr;
2026 match expr {
2058 Expr::Path(mut expr) if expr.attrs.is_empty() => {
2059 let grouped_len = expr.path.segments.len();
2060 Path::parse_rest(input, &mut expr.path, true)?;
2062 expr.qself,
2063 expr.path,
2068 Expr::Path(expr) if expr.path.segments.len() == grouped_len => {
2069 inner = Expr::Path(expr);
2080 expr: Box::new(inner),
2097 expr: content.parse()?,
2110 expr: Box::new({
2182 let expr: Expr = input.call(Expr::parse_without_eager_brace)?;
2195 expr: Box::new(expr),
2229 let expr = Expr::parse_without_eager_brace(input)?;
2243 expr: Box::new(expr),
2253 $expr_type:ty, $variant:ident, $msg:expr,
2261 let mut expr: Expr = input.parse()?;
2263 match expr {
2265 Expr::Group(next) => expr = *next.expr,
2266 _ => return Err(Error::new_spanned(expr, $msg)),
2308 expr: Box::new(unary_expr(input, allow_struct)?),
2330 expr: Box::new(unary_expr(input, allow_struct)?),
2372 expr: {
2586 let expr = if can_begin_expr(input) && (allow_struct.0 || !input.peek(token::Brace)) {
2587 let expr = ambiguous_expr(input, allow_struct)?;
2588 Some(Box::new(expr))
2597 expr,
2606 expr: {
2613 let expr = ambiguous_expr(input, allow_struct)?;
2614 Some(Box::new(expr))
2646 expr: value,
3057 self.expr.to_tokens(tokens);
3076 self.expr.to_tokens(tokens);
3142 wrap_bare_struct(tokens, &self.expr);
3155 self.expr.to_tokens(tokens);
3184 self.expr.to_tokens(tokens);
3208 wrap_bare_struct(tokens, &self.expr);
3248 wrap_bare_struct(tokens, &self.expr);
3283 self.expr.to_tokens(tokens);
3313 self.expr.to_tokens(tokens);
3323 self.expr.to_tokens(tokens);
3336 self.expr.to_tokens(tokens);
3362 self.expr.to_tokens(tokens);
3398 self.expr.to_tokens(tokens);
3436 self.expr.to_tokens(tokens);
3463 self.expr.to_tokens(tokens);