diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-06-27 17:03:29 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-06-27 17:03:29 +0100 |
commit | 45fc8d5c84d40da7a5dbf9b1a23ec389f54d1a81 (patch) | |
tree | ebe09304a24180b010b21a6aea3a727433403565 /crates/ra_hir_def/src/body | |
parent | 9d1e2c4d9dc6c7f5fbaee5d9907d135f618d7ac6 (diff) | |
parent | 9777d2cb2dcea7b5a3b289708fea21b4bf787f0f (diff) |
Merge #4587
4587: Add "missing unsafe" diagnostics r=Nashenas88 a=Nashenas88
Addresses #190
Co-authored-by: Paul Daniel Faria <[email protected]>
Diffstat (limited to 'crates/ra_hir_def/src/body')
-rw-r--r-- | crates/ra_hir_def/src/body/lower.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/ra_hir_def/src/body/lower.rs b/crates/ra_hir_def/src/body/lower.rs index a7e2e0982..c6bc85e2f 100644 --- a/crates/ra_hir_def/src/body/lower.rs +++ b/crates/ra_hir_def/src/body/lower.rs | |||
@@ -176,6 +176,7 @@ impl ExprCollector<'_> { | |||
176 | if !self.expander.is_cfg_enabled(&expr) { | 176 | if !self.expander.is_cfg_enabled(&expr) { |
177 | return self.missing_expr(); | 177 | return self.missing_expr(); |
178 | } | 178 | } |
179 | |||
179 | match expr { | 180 | match expr { |
180 | ast::Expr::IfExpr(e) => { | 181 | ast::Expr::IfExpr(e) => { |
181 | let then_branch = self.collect_block_opt(e.then_branch()); | 182 | let then_branch = self.collect_block_opt(e.then_branch()); |
@@ -218,8 +219,12 @@ impl ExprCollector<'_> { | |||
218 | let body = self.collect_block_opt(e.block_expr()); | 219 | let body = self.collect_block_opt(e.block_expr()); |
219 | self.alloc_expr(Expr::TryBlock { body }, syntax_ptr) | 220 | self.alloc_expr(Expr::TryBlock { body }, syntax_ptr) |
220 | } | 221 | } |
222 | ast::Effect::Unsafe(_) => { | ||
223 | let body = self.collect_block_opt(e.block_expr()); | ||
224 | self.alloc_expr(Expr::Unsafe { body }, syntax_ptr) | ||
225 | } | ||
221 | // FIXME: we need to record these effects somewhere... | 226 | // FIXME: we need to record these effects somewhere... |
222 | ast::Effect::Async(_) | ast::Effect::Label(_) | ast::Effect::Unsafe(_) => { | 227 | ast::Effect::Async(_) | ast::Effect::Label(_) => { |
223 | self.collect_block_opt(e.block_expr()) | 228 | self.collect_block_opt(e.block_expr()) |
224 | } | 229 | } |
225 | }, | 230 | }, |
@@ -445,7 +450,6 @@ impl ExprCollector<'_> { | |||
445 | Mutability::from_mutable(e.mut_token().is_some()) | 450 | Mutability::from_mutable(e.mut_token().is_some()) |
446 | }; | 451 | }; |
447 | let rawness = Rawness::from_raw(raw_tok); | 452 | let rawness = Rawness::from_raw(raw_tok); |
448 | |||
449 | self.alloc_expr(Expr::Ref { expr, rawness, mutability }, syntax_ptr) | 453 | self.alloc_expr(Expr::Ref { expr, rawness, mutability }, syntax_ptr) |
450 | } | 454 | } |
451 | ast::Expr::PrefixExpr(e) => { | 455 | ast::Expr::PrefixExpr(e) => { |