diff options
author | John Hodge <tpg@mutabah.net> | 2017-01-11 18:38:16 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2017-01-11 18:38:16 +0800 |
commit | 04b6360ff879a70a42fcd5f09cccc23cc2dd2d9f (patch) | |
tree | 3edb5fb90c56557ec4e1fbe2f31f24daf9daccc1 /src/trans/enumerate.cpp | |
parent | c8ce15fead40716f3cd904e2dd4c77d324931357 (diff) | |
download | mrust-04b6360ff879a70a42fcd5f09cccc23cc2dd2d9f.tar.gz |
Trans - Require types used in type_id to be defined
Diffstat (limited to 'src/trans/enumerate.cpp')
-rw-r--r-- | src/trans/enumerate.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/trans/enumerate.cpp b/src/trans/enumerate.cpp index 272d96f2..b12673b1 100644 --- a/src/trans/enumerate.cpp +++ b/src/trans/enumerate.cpp @@ -866,6 +866,12 @@ void Trans_Enumerate_Types(EnumState& state) (Call, if( te.fcn.is_Value() ) H::visit_lvalue(tv,pp,fcn, te.fcn.as_Value()); + else if( te.fcn.is_Intrinsic() ) + { + if( te.fcn.as_Intrinsic().name == "type_id" ) { + tv.visit_type(monomorph(te.fcn.as_Intrinsic().params.m_types.at(0))); + } + } H::visit_lvalue(tv,pp,fcn, te.ret_val); for(const auto& arg : te.args) H::visit_lvalue(tv,pp,fcn, arg); |