summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-11-26 11:01:52 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-11-26 11:01:52 +0800
commit83beaea9602af2c2cf0ddd690a74ebb8d09762b8 (patch)
tree5f1043b9cc582a4130ac58ed6fbf9c71651141b4 /src
parentb9bc72577076c984d901e4c41dc028073b7a44e4 (diff)
downloadmrust-83beaea9602af2c2cf0ddd690a74ebb8d09762b8.tar.gz
Resolve Absolute - Fix edge case where there's no scopes during var lookup
Diffstat (limited to 'src')
-rw-r--r--src/resolve/absolute.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/resolve/absolute.cpp b/src/resolve/absolute.cpp
index edff4221..aece0032 100644
--- a/src/resolve/absolute.cpp
+++ b/src/resolve/absolute.cpp
@@ -194,7 +194,7 @@ namespace
else
{
assert( m_block_level > 0 );
- if( !m_name_context.back().is_VarBlock() || m_name_context.back().as_VarBlock().level < m_block_level ) {
+ if( m_name_context.empty() || !m_name_context.back().is_VarBlock() || m_name_context.back().as_VarBlock().level < m_block_level ) {
m_name_context.push_back( Ent::make_VarBlock({ m_block_level, {} }) );
}
DEBUG("New var @ " << m_block_level << ": #" << m_var_count << " " << name);