pub fn can_begin_expr(&self) -> bool {
        match self.kind {
            Ident(name, is_raw)              =>
                ident_can_begin_expr(name, self.span, is_raw), // value name or keyword
            OpenDelim(..)                     | // tuple, array or block
            Literal(..)                       | // literal
            Not                               | // operator not
            BinOp(Minus)                      | // unary minus
            BinOp(Star)                       | // dereference
            BinOp(Or) | OrOr                  | // closure
            BinOp(And)                        | // reference
            AndAnd                            | // double reference
            // DotDotDot is no longer supported, but we need some way to display the error
            DotDot | DotDotDot | DotDotEq     | // range notation
            Lt | BinOp(Shl)                   | // associated path
            ModSep                            | // global path
            Lifetime(..)                      | // labeled loop
            Pound                             => true, // expression attributes
            Interpolated(ref nt) => match **nt {
                NtLiteral(..) |
                NtIdent(..)   |
                NtExpr(..)    |
                NtBlock(..)   |
                NtPath(..)    |
                NtLifetime(..) => true,
                _ => false,
            },
            _ => false,
        }
    }
/// Returns `true` if the token can appear at the start of an expression.
Returns `true` if the token can appear at the start of an expression.
Returns ` true ` if the token can appear at the start of an expression .
pub fn can_begin_expr(&self) -> bool {
        match self.kind {
            Ident(name, is_raw)              =>
                ident_can_begin_expr(name, self.span, is_raw), // value name or keyword
            OpenDelim(..)                     | // tuple, array or block
            Literal(..)                       | // literal
            Not                               | // operator not
            BinOp(Minus)                      | // unary minus
            BinOp(Star)                       | // dereference
            BinOp(Or) | OrOr                  | // closure
            BinOp(And)                        | // reference
            AndAnd                            | // double reference
            // DotDotDot is no longer supported, but we need some way to display the error
            DotDot | DotDotDot | DotDotEq     | // range notation
            Lt | BinOp(Shl)                   | // associated path
            ModSep                            | // global path
            Lifetime(..)                      | // labeled loop
            Pound                             => true, // expression attributes
            Interpolated(ref nt) => match **nt {
                NtLiteral(..) |
                NtIdent(..)   |
                NtExpr(..)    |
                NtBlock(..)   |
                NtPath(..)    |
                NtLifetime(..) => true,
                _ => false,
            },
            _ => false,
        }
    }
pub fn can_begin_expr ( & self ) -> bool { match self . kind { Ident ( name , is_raw ) => ident_can_begin_expr ( name , self . span , is_raw ) , // value name or keyword OpenDelim ( .. ) | // tuple, array or block Literal ( .. ) | // literal Not | // operator not BinOp ( Minus ) | // unary minus BinOp ( Star ) | // dereference BinOp ( Or ) | OrOr | // closure BinOp ( And ) | // reference AndAnd | // double reference // DotDotDot is no longer supported, but we need some way to display the error DotDot | DotDotDot | DotDotEq | // range notation Lt | BinOp ( Shl ) | // associated path ModSep | // global path Lifetime ( .. ) | // labeled loop Pound => true , // expression attributes Interpolated ( ref nt ) => match * * nt { NtLiteral ( .. ) | NtIdent ( .. ) | NtExpr ( .. ) | NtBlock ( .. ) | NtPath ( .. ) | NtLifetime ( .. ) => true , _ => false , } , _ => false , } }
Returns `true` if the token can appear at the start of an expression.
Returns ` true ` if the token can appear at the start of an expression .
&self
&self