summaryrefslogtreecommitdiff
path: root/src/hir/from_ast.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/from_ast.cpp')
-rw-r--r--src/hir/from_ast.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/hir/from_ast.cpp b/src/hir/from_ast.cpp
index dfe6b8ab..b0768a84 100644
--- a/src/hir/from_ast.cpp
+++ b/src/hir/from_ast.cpp
@@ -690,10 +690,8 @@
for(const auto& t : e.traits)
{
const auto& tb = t.binding().as_Trait();
- if( tb.trait_ && tb.trait_->is_marker() ) {
- v.m_markers.push_back( LowerHIR_GenericPath(ty.span(), t) );
- }
- else if( tb.hir && tb.hir->m_is_marker ) {
+ assert( tb.trait_ || tb.hir );
+ if( (tb.trait_ && tb.trait_->is_marker()) || (tb.hir->m_is_marker) ) {
v.m_markers.push_back( LowerHIR_GenericPath(ty.span(), t) );
}
else {
@@ -704,6 +702,7 @@
v.m_trait = LowerHIR_TraitPath(ty.span(), t);
}
}
+ ASSERT_BUG(ty.span(), v.m_trait.m_path.m_path.m_components.size() > 0, "TraitObject type didn't contain a data trait - " << ty);
return ::HIR::TypeRef( ::HIR::TypeRef::Data::make_TraitObject( mv$(v) ) );
),
(Function,