diff options
author | John Hodge <tpg@mutabah.net> | 2016-11-19 14:40:09 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-11-19 14:40:09 +0800 |
commit | 9fa6d7463f027bfe3b22968bd01431570d6ae4a2 (patch) | |
tree | 9263db3073655f540efd5cbf271f979b9f6e0a33 /src/mir/mir_builder.cpp | |
parent | 3aa2b49c7d2234b45c843f08f1eeee9387ba02e1 (diff) | |
download | mrust-9fa6d7463f027bfe3b22968bd01431570d6ae4a2.tar.gz |
MIR Gen - Bugcheck on Unbound paths
Diffstat (limited to 'src/mir/mir_builder.cpp')
-rw-r--r-- | src/mir/mir_builder.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mir/mir_builder.cpp b/src/mir/mir_builder.cpp index 21afefba..1148aec2 100644 --- a/src/mir/mir_builder.cpp +++ b/src/mir/mir_builder.cpp @@ -815,7 +815,8 @@ void MirBuilder::with_val_type(const Span& sp, const ::MIR::LValue& val, ::std:: BUG(sp, "Downcast on unexpected type - " << ty); ), (Path, - ASSERT_BUG(sp, te.binding.is_Enum(), "Downcast on non-Enum"); + ASSERT_BUG(sp, !te.binding.is_Unbound(), "Unbound path " << ty << " encountered"); + ASSERT_BUG(sp, te.binding.is_Enum(), "Downcast on non-Enum - " << ty << " for " << val); const auto& enm = *te.binding.as_Enum(); const auto& variants = enm.m_variants; ASSERT_BUG(sp, e.variant_index < variants.size(), "Variant index out of range"); |