diff options
author | John Hodge <tpg@mutabah.net> | 2016-12-16 23:31:43 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-12-16 23:31:43 +0800 |
commit | 5aea1a2a905cf4aff72a934c6550132c1d29ea68 (patch) | |
tree | 78bf158de11b7b720fe2bba87448f050dd03764b /src/mir/from_hir.cpp | |
parent | 83f37af7a3d962753d8c6b7693d194d80b44b43c (diff) | |
download | mrust-5aea1a2a905cf4aff72a934c6550132c1d29ea68.tar.gz |
MIR - Fix unsizing between trait objects
Diffstat (limited to 'src/mir/from_hir.cpp')
-rw-r--r-- | src/mir/from_hir.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mir/from_hir.cpp b/src/mir/from_hir.cpp index 72fe1645..7d5853dd 100644 --- a/src/mir/from_hir.cpp +++ b/src/mir/from_hir.cpp @@ -1089,6 +1089,7 @@ namespace { } ), (TraitObject, + #if 0 // TODO: Obtain the vtable if the destination is a trait object // vtable exists as an unnamable associated type const auto& trait = *e.m_trait.m_trait_ptr; @@ -1115,6 +1116,9 @@ namespace { ); m_builder.set_result( node.span(), ::MIR::RValue::make_MakeDst({ mv$(ptr_lval), mv$(vtable_lval) }) ); + #else + m_builder.set_result( node.span(), ::MIR::RValue::make_Cast({ mv$(ptr_lval), node.m_res_type.clone() }) ); + #endif ) ) } |