diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2018-12-30 13:55:00 -0800 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2018-12-30 13:55:00 -0800 |
| commit | 1f65dc07705e9463ffed0395894f1e7d63cec515 (patch) | |
| tree | 380dcfaead68cc3d9bf0fa89ebc41b7aa2716a5c /src/librustc/hir/map | |
| parent | 59183180f718fc2212828e180f2f856f0db1bb9c (diff) | |
| download | rust-1f65dc07705e9463ffed0395894f1e7d63cec515.tar.gz rust-1f65dc07705e9463ffed0395894f1e7d63cec515.zip | |
Point at the return type span on type mismatch due to missing return
Do not point at the entire block span on fn return type mismatches caused by missing return.
Diffstat (limited to 'src/librustc/hir/map')
| -rw-r--r-- | src/librustc/hir/map/mod.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/librustc/hir/map/mod.rs b/src/librustc/hir/map/mod.rs index 188d487d644..5bcbeeefa50 100644 --- a/src/librustc/hir/map/mod.rs +++ b/src/librustc/hir/map/mod.rs @@ -667,6 +667,7 @@ impl<'hir> Map<'hir> { Node::Item(_) | Node::ForeignItem(_) | Node::TraitItem(_) | + Node::Expr(Expr { node: ExprKind::Closure(..), ..}) | Node::ImplItem(_) => true, _ => false, } @@ -675,7 +676,7 @@ impl<'hir> Map<'hir> { match *node { Node::Expr(ref expr) => { match expr.node { - ExprKind::While(..) | ExprKind::Loop(..) => true, + ExprKind::While(..) | ExprKind::Loop(..) | ExprKind::Ret(..) => true, _ => false, } } |
