diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-11-26 11:01:52 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-11-26 11:01:52 +0800 |
commit | 83beaea9602af2c2cf0ddd690a74ebb8d09762b8 (patch) | |
tree | 5f1043b9cc582a4130ac58ed6fbf9c71651141b4 /src | |
parent | b9bc72577076c984d901e4c41dc028073b7a44e4 (diff) | |
download | mrust-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.cpp | 2 |
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); |