1
Fork 0

Rename AssocOp::As as AssocOp::Cast.

To match `ExprKind::Cast`, and because a semantic name makes more sense
here than a syntactic name.
This commit is contained in:
Nicholas Nethercote 2024-12-19 21:46:44 +11:00
parent fc8e87b274
commit 2ac46f6517
3 changed files with 16 additions and 16 deletions

View file

@ -13,7 +13,7 @@ pub enum AssocOp {
/// `=`
Assign,
/// `as`
As,
Cast,
/// `..` or `..=` range
Range(RangeLimits),
}
@ -67,7 +67,7 @@ impl AssocOp {
token::DotDotEq | token::DotDotDot => Some(Range(RangeLimits::Closed)),
// `<-` should probably be `< -`
token::LArrow => Some(Binary(BinOpKind::Lt)),
_ if t.is_keyword(kw::As) => Some(As),
_ if t.is_keyword(kw::As) => Some(Cast),
_ => None,
}
}
@ -76,7 +76,7 @@ impl AssocOp {
pub fn precedence(&self) -> ExprPrecedence {
use AssocOp::*;
match *self {
As => ExprPrecedence::Cast,
Cast => ExprPrecedence::Cast,
Binary(bin_op) => bin_op.precedence(),
Range(_) => ExprPrecedence::Range,
Assign | AssignOp(_) => ExprPrecedence::Assign,
@ -90,7 +90,7 @@ impl AssocOp {
match *self {
Assign | AssignOp(_) => Fixity::Right,
Binary(binop) => binop.fixity(),
As => Fixity::Left,
Cast => Fixity::Left,
Range(_) => Fixity::None,
}
}
@ -99,7 +99,7 @@ impl AssocOp {
use AssocOp::*;
match *self {
Binary(binop) => binop.is_comparison(),
Assign | AssignOp(_) | As | Range(_) => false,
Assign | AssignOp(_) | Cast | Range(_) => false,
}
}
@ -107,7 +107,7 @@ impl AssocOp {
use AssocOp::*;
match *self {
Assign | AssignOp(_) => true,
As | Binary(_) | Range(_) => false,
Cast | Binary(_) | Range(_) => false,
}
}
@ -133,7 +133,7 @@ impl AssocOp {
AssignOp(_) | // `{ 42 } +=`
// Equal | // `{ 42 } == { 42 }` Accepting these here would regress incorrect
// NotEqual | // `{ 42 } != { 42 } struct literals parser recovery.
As // `{ 42 } as usize`
Cast // `{ 42 } as usize`
)
}
}