Suggest Semicolon in Incorrect Repeat Expressions
This commit is contained in:
parent
872aa75867
commit
98cc3457af
9 changed files with 144 additions and 25 deletions
|
@ -7,7 +7,7 @@ use rustc_ast::token::CommentKind;
|
|||
use rustc_ast::util::parser::{AssocOp, ExprPrecedence};
|
||||
use rustc_ast::{
|
||||
self as ast, AttrId, AttrStyle, DelimArgs, FloatTy, InlineAsmOptions, InlineAsmTemplatePiece,
|
||||
IntTy, Label, LitKind, MetaItemInner, MetaItemLit, TraitObjectSyntax, UintTy,
|
||||
IntTy, Label, LitIntType, LitKind, MetaItemInner, MetaItemLit, TraitObjectSyntax, UintTy,
|
||||
};
|
||||
pub use rustc_ast::{
|
||||
BinOp, BinOpKind, BindingMode, BorrowKind, BoundConstness, BoundPolarity, ByRef, CaptureBy,
|
||||
|
@ -2064,6 +2064,18 @@ impl Expr<'_> {
|
|||
}
|
||||
}
|
||||
|
||||
/// Check if expression is an integer literal that can be used
|
||||
/// where `usize` is expected.
|
||||
pub fn is_size_lit(&self) -> bool {
|
||||
matches!(
|
||||
self.kind,
|
||||
ExprKind::Lit(Lit {
|
||||
node: LitKind::Int(_, LitIntType::Unsuffixed | LitIntType::Unsigned(UintTy::Usize)),
|
||||
..
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
/// If `Self.kind` is `ExprKind::DropTemps(expr)`, drill down until we get a non-`DropTemps`
|
||||
/// `Expr`. This is used in suggestions to ignore this `ExprKind` as it is semantically
|
||||
/// silent, only signaling the ownership system. By doing this, suggestions that check the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue