diff --git a/src/tools/rust-analyzer/crates/span/src/ast_id.rs b/src/tools/rust-analyzer/crates/span/src/ast_id.rs index bae461e5a8de..f6500a9b4dbe 100644 --- a/src/tools/rust-analyzer/crates/span/src/ast_id.rs +++ b/src/tools/rust-analyzer/crates/span/src/ast_id.rs @@ -678,9 +678,10 @@ pub fn from_source(node: &SyntaxNode) -> AstIdMap { } } syntax::WalkEvent::Leave(node) => { - if cfg!(debug_assertions) && ast::BlockExpr::can_cast(node.kind()) { - assert_eq!( - blocks.pop().map(|it| it.0), + if ast::BlockExpr::can_cast(node.kind()) { + let block = blocks.pop(); + debug_assert_eq!( + block.map(|it| it.0), Some(node), "left a BlockExpr we never entered" );