diff --git a/compiler/erg_compiler/hir.rs b/compiler/erg_compiler/hir.rs index aa6be0e7..87afdaf3 100644 --- a/compiler/erg_compiler/hir.rs +++ b/compiler/erg_compiler/hir.rs @@ -1466,7 +1466,11 @@ impl_stream_for_wrapper!(Block, Expr); impl Locational for Block { fn loc(&self) -> Location { - Location::concat(self.0.first().unwrap(), self.0.last().unwrap()) + if self.0.is_empty() { + Location::Unknown + } else { + Location::concat(self.0.first().unwrap(), self.0.last().unwrap()) + } } } diff --git a/compiler/erg_parser/ast.rs b/compiler/erg_parser/ast.rs index 6b7fb9f7..99fcf5e8 100644 --- a/compiler/erg_parser/ast.rs +++ b/compiler/erg_parser/ast.rs @@ -1156,7 +1156,11 @@ impl_display_from_nested!(Block); impl Locational for Block { fn loc(&self) -> Location { - Location::concat(self.0.first().unwrap(), self.0.last().unwrap()) + if self.0.is_empty() { + Location::Unknown + } else { + Location::concat(self.0.first().unwrap(), self.0.last().unwrap()) + } } }