diff options
author | John Hodge <tpg@mutabah.net> | 2016-05-20 16:47:34 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-05-20 16:47:34 +0800 |
commit | d2fcab19c6d8441f1b0610cb2147a43292893764 (patch) | |
tree | ead58ba93db85883baddb93a531f7a71d26cfdf9 /src/hir/from_ast_expr.cpp | |
parent | 4ef6649aa789d8f57c62d0e848233967abde959d (diff) | |
download | mrust-d2fcab19c6d8441f1b0610cb2147a43292893764.tar.gz |
Resolve - Bind already-known locals (e.g. `self`)
Diffstat (limited to 'src/hir/from_ast_expr.cpp')
-rw-r--r-- | src/hir/from_ast_expr.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/hir/from_ast_expr.cpp b/src/hir/from_ast_expr.cpp index e5088d71..690d31cb 100644 --- a/src/hir/from_ast_expr.cpp +++ b/src/hir/from_ast_expr.cpp @@ -380,6 +380,9 @@ struct LowerHIR_ExprNode_Visitor: } virtual void visit(::AST::ExprNode_NamedValue& v) override { TU_IFLET(::AST::Path::Class, v.m_path.m_class, Local, e, + if( !v.m_path.binding().is_Variable() ) { + BUG(v.get_pos(), "Named value was a local, but wasn't bound - " << v.m_path); + } auto slot = v.m_path.binding().as_Variable().slot; m_rv.reset( new ::HIR::ExprNode_Variable( e.name, slot ) ); ) |