aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/validation/block.rs
diff options
context:
space:
mode:
authorBenjamin Coenen <[email protected]>2020-05-02 11:25:04 +0100
committerBenjamin Coenen <[email protected]>2020-05-02 11:25:04 +0100
commit0b40876b993ab30421624b831cb03b4042eb0142 (patch)
tree85abb233dd8645480d61ab857a2b46c1209b142a /crates/ra_syntax/src/validation/block.rs
parenteea21738ab9e0b7438d03f7b2efc18c15cc30cf2 (diff)
parent75bc0249463b72971200e482d69dad88d4e76ae3 (diff)
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
Diffstat (limited to 'crates/ra_syntax/src/validation/block.rs')
-rw-r--r--crates/ra_syntax/src/validation/block.rs20
1 files changed, 9 insertions, 11 deletions
diff --git a/crates/ra_syntax/src/validation/block.rs b/crates/ra_syntax/src/validation/block.rs
index 8e962ab5b..2c08f7e6e 100644
--- a/crates/ra_syntax/src/validation/block.rs
+++ b/crates/ra_syntax/src/validation/block.rs
@@ -6,19 +6,17 @@ use crate::{
6 SyntaxKind::*, 6 SyntaxKind::*,
7}; 7};
8 8
9pub(crate) fn validate_block_expr(expr: ast::BlockExpr, errors: &mut Vec<SyntaxError>) { 9pub(crate) fn validate_block_expr(block: ast::BlockExpr, errors: &mut Vec<SyntaxError>) {
10 if let Some(parent) = expr.syntax().parent() { 10 if let Some(parent) = block.syntax().parent() {
11 match parent.kind() { 11 match parent.kind() {
12 FN_DEF | EXPR_STMT | BLOCK => return, 12 FN_DEF | EXPR_STMT | BLOCK_EXPR => return,
13 _ => {} 13 _ => {}
14 } 14 }
15 } 15 }
16 if let Some(block) = expr.block() { 16 errors.extend(block.attrs().map(|attr| {
17 errors.extend(block.attrs().map(|attr| { 17 SyntaxError::new(
18 SyntaxError::new( 18 "A block in this position cannot accept inner attributes",
19 "A block in this position cannot accept inner attributes", 19 attr.syntax().text_range(),
20 attr.syntax().text_range(), 20 )
21 ) 21 }))
22 }))
23 }
24} 22}