summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hir_expand/annotate_value_usage.cpp4
-rw-r--r--src/mir/from_hir.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/hir_expand/annotate_value_usage.cpp b/src/hir_expand/annotate_value_usage.cpp
index f5acbbc5..491ab4c7 100644
--- a/src/hir_expand/annotate_value_usage.cpp
+++ b/src/hir_expand/annotate_value_usage.cpp
@@ -560,10 +560,10 @@ namespace {
),
(EnumStruct,
const auto& enm = *pe.binding_ptr;
- ASSERT_BUG(sp, enm.m_data.is_Data(), "");
+ ASSERT_BUG(sp, enm.m_data.is_Data(), "EnumStruct pattern on non-data enum");
const auto& var = enm.m_data.as_Data().at(pe.binding_idx);
const auto& str = *var.type.m_data.as_Path().binding.as_Struct();
- ASSERT_BUG(sp, str.m_data.is_Named(), "");
+ ASSERT_BUG(sp, str.m_data.is_Named(), "EnumStruct pattern on non-struct variant - " << pe.path);
const auto& flds = str.m_data.as_Named();
auto monomorph_cb = monomorphise_type_get_cb(sp, nullptr, &pe.path.m_params, nullptr);
diff --git a/src/mir/from_hir.cpp b/src/mir/from_hir.cpp
index e13b9db1..ee4cf474 100644
--- a/src/mir/from_hir.cpp
+++ b/src/mir/from_hir.cpp
@@ -251,6 +251,7 @@ namespace {
}
TU_ARMA(Struct, e) {
const auto& str = *e.binding;
+ ASSERT_BUG(sp, str.m_data.is_Named(), "Struct pattern on non-Named struct - " << e.path);
const auto& fields = str.m_data.as_Named();
for(const auto& fld_pat : e.sub_patterns)
{
@@ -304,6 +305,7 @@ namespace {
ASSERT_BUG(sp, enm.m_data.is_Data(), "Expected struct variant - " << pat);
const auto& var = enm.m_data.as_Data()[e.binding_idx];;
const auto& str = *var.type.m_data.as_Path().binding.as_Struct();
+ ASSERT_BUG(sp, str.m_data.is_Named(), "Struct pattern on non-Named struct - " << e.path);
const auto& fields = str.m_data.as_Named();
auto lval_var = ::MIR::LValue::make_Downcast({ box$(mv$(lval)), e.binding_idx });
for(const auto& fld_pat : e.sub_patterns)