This commit is contained in:
Oliver Schneider 2017-05-11 16:32:06 +02:00
parent fb6895836f
commit 81b35d197b
2 changed files with 8 additions and 0 deletions

View file

@ -111,6 +111,8 @@ impl ReturnPass {
let ast::StmtKind::Expr(ref retexpr) = retexpr.node, let ast::StmtKind::Expr(ref retexpr) = retexpr.node,
let Some(stmt) = it.next_back(), let Some(stmt) = it.next_back(),
let ast::StmtKind::Local(ref local) = stmt.node, let ast::StmtKind::Local(ref local) = stmt.node,
// don't lint in the presence of type inference
local.ty.is_none(),
!local.attrs.iter().any(attr_is_cfg), !local.attrs.iter().any(attr_is_cfg),
let Some(ref initexpr) = local.init, let Some(ref initexpr) = local.init,
let ast::PatKind::Ident(_, Spanned { node: id, .. }, _) = local.pat.node, let ast::PatKind::Ident(_, Spanned { node: id, .. }, _) = local.pat.node,

View file

@ -36,5 +36,11 @@ fn test_nowarn_3() -> (i32, i32) {
(x, y) (x, y)
} }
fn test_nowarn_4() -> i32 {
// this should technically warn, but not b/c of let_and_return, but b/c of useless type
let x: i32 = 5;
x
}
fn main() { fn main() {
} }