As,
/// `..` range
DotDot,
+ /// `...` range
+ DotDotDot,
/// `:`
Colon,
}
Token::AndAnd => Some(LAnd),
Token::OrOr => Some(LOr),
Token::DotDot => Some(DotDot),
+ Token::DotDotDot => Some(DotDotDot),
Token::Colon => Some(Colon),
_ if t.is_keyword(keywords::As) => Some(As),
_ => None
Less | Greater | LessEqual | GreaterEqual | Equal | NotEqual => 7,
LAnd => 6,
LOr => 5,
- DotDot => 4,
+ DotDot | DotDotDot => 4,
Inplace => 3,
Assign | AssignOp(_) => 2,
}
As | Multiply | Divide | Modulus | Add | Subtract | ShiftLeft | ShiftRight | BitAnd |
BitXor | BitOr | Less | Greater | LessEqual | GreaterEqual | Equal | NotEqual |
LAnd | LOr | Colon => Fixity::Left,
- DotDot => Fixity::None
+ DotDot | DotDotDot => Fixity::None
}
}
match *self {
Less | Greater | LessEqual | GreaterEqual | Equal | NotEqual => true,
Inplace | Assign | AssignOp(_) | As | Multiply | Divide | Modulus | Add | Subtract |
- ShiftLeft | ShiftRight | BitAnd | BitXor | BitOr | LAnd | LOr | DotDot | Colon => false
+ ShiftLeft | ShiftRight | BitAnd | BitXor | BitOr | LAnd | LOr |
+ DotDot | DotDotDot | Colon => false
}
}
Assign | AssignOp(_) | Inplace => true,
Less | Greater | LessEqual | GreaterEqual | Equal | NotEqual | As | Multiply | Divide |
Modulus | Add | Subtract | ShiftLeft | ShiftRight | BitAnd | BitXor | BitOr | LAnd |
- LOr | DotDot | Colon => false
+ LOr | DotDot | DotDotDot | Colon => false
}
}
BitOr => Some(BinOpKind::BitOr),
LAnd => Some(BinOpKind::And),
LOr => Some(BinOpKind::Or),
- Inplace | Assign | AssignOp(_) | As | DotDot | Colon => None
+ Inplace | Assign | AssignOp(_) | As | DotDot | DotDotDot | Colon => None
}
}
}