a few small cleanups
This commit is contained in:
parent
6d12259811
commit
185e608ae2
7 changed files with 42 additions and 56 deletions
|
|
@ -252,18 +252,11 @@ impl<'c, 'cc> ConstEvalLateContext<'c, 'cc> {
|
|||
if let ExprKind::Path(qpath) = &callee.kind;
|
||||
let res = self.tables.qpath_res(qpath, callee.hir_id);
|
||||
if let Some(def_id) = res.opt_def_id();
|
||||
let get_def_path = self.lcx.get_def_path(def_id, );
|
||||
let def_path = get_def_path
|
||||
.iter()
|
||||
.copied()
|
||||
.map(Symbol::as_str)
|
||||
.collect::<Vec<_>>();
|
||||
if def_path[0] == "core";
|
||||
if def_path[1] == "num";
|
||||
if def_path[3] == "max_value";
|
||||
if def_path.len() == 4;
|
||||
let def_path: Vec<_> = self.lcx.get_def_path(def_id).into_iter().map(Symbol::as_str).collect();
|
||||
let def_path: Vec<&str> = def_path.iter().map(|s| &**s).collect();
|
||||
if let ["core", "num", int_impl, "max_value"] = *def_path;
|
||||
then {
|
||||
let value = match &*def_path[2] {
|
||||
let value = match int_impl {
|
||||
"<impl i8>" => i8::max_value() as u128,
|
||||
"<impl i16>" => i16::max_value() as u128,
|
||||
"<impl i32>" => i32::max_value() as u128,
|
||||
|
|
|
|||
|
|
@ -869,16 +869,11 @@ pub fn remove_blocks(expr: &Expr) -> &Expr {
|
|||
if let ExprKind::Block(ref block, _) = expr.kind {
|
||||
if block.stmts.is_empty() {
|
||||
if let Some(ref expr) = block.expr {
|
||||
remove_blocks(expr)
|
||||
} else {
|
||||
expr
|
||||
return remove_blocks(expr);
|
||||
}
|
||||
} else {
|
||||
expr
|
||||
}
|
||||
} else {
|
||||
expr
|
||||
}
|
||||
expr
|
||||
}
|
||||
|
||||
pub fn is_self(slf: &Param) -> bool {
|
||||
|
|
@ -1228,12 +1223,13 @@ pub fn if_sequence(mut expr: &Expr) -> (SmallVec<[&Expr; 1]>, SmallVec<[&Block;
|
|||
}
|
||||
|
||||
pub fn parent_node_is_if_expr<'a, 'b>(expr: &Expr, cx: &LateContext<'a, 'b>) -> bool {
|
||||
let parent_id = cx.tcx.hir().get_parent_node(expr.hir_id);
|
||||
let parent_node = cx.tcx.hir().get(parent_id);
|
||||
let map = cx.tcx.hir();
|
||||
let parent_id = map.get_parent_node(expr.hir_id);
|
||||
let parent_node = map.get(parent_id);
|
||||
|
||||
match parent_node {
|
||||
rustc::hir::Node::Expr(e) => higher::if_block(&e).is_some(),
|
||||
rustc::hir::Node::Arm(e) => higher::if_block(&e.body).is_some(),
|
||||
Node::Expr(e) => higher::if_block(&e).is_some(),
|
||||
Node::Arm(e) => higher::if_block(&e.body).is_some(),
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue