summaryrefslogtreecommitdiff
path: root/src/parse/interpolated_fragment.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-11-02 11:07:23 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-11-02 11:07:23 +0800
commit1d02810c3cf908bfba7c15ae50eb5314603b9d85 (patch)
tree79dd5e4ef4c3ff79db0912ba546f08e61a7a8c10 /src/parse/interpolated_fragment.cpp
parent7111acba04d72fe4084b1a1f3209ff83efe8614d (diff)
parent8b53b38f40625ab0510f541d69db3f83332a830a (diff)
downloadmrust-1d02810c3cf908bfba7c15ae50eb5314603b9d85.tar.gz
Merge branch 'nightly-1.29' - #95 Working support for rustc 1.29
Diffstat (limited to 'src/parse/interpolated_fragment.cpp')
-rw-r--r--src/parse/interpolated_fragment.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/parse/interpolated_fragment.cpp b/src/parse/interpolated_fragment.cpp
index d8a8bc43..634309a5 100644
--- a/src/parse/interpolated_fragment.cpp
+++ b/src/parse/interpolated_fragment.cpp
@@ -31,6 +31,9 @@ InterpolatedFragment::~InterpolatedFragment()
case InterpolatedFragment::ITEM:
delete reinterpret_cast<AST::Named<AST::Item>*>(m_ptr);
break;
+ case InterpolatedFragment::VIS:
+ delete reinterpret_cast<AST::Visibility*>(m_ptr);
+ break;
}
}
}
@@ -82,6 +85,11 @@ InterpolatedFragment::InterpolatedFragment(TypeRef v):
m_ptr( new TypeRef(mv$(v)) )
{
}
+InterpolatedFragment::InterpolatedFragment(AST::Visibility v):
+ m_type( InterpolatedFragment::VIS ),
+ m_ptr( new AST::Visibility(mv$(v)) )
+{
+}
::std::ostream& operator<<(::std::ostream& os, InterpolatedFragment const& x)
{
@@ -117,6 +125,9 @@ InterpolatedFragment::InterpolatedFragment(TypeRef v):
const auto& named_item = *reinterpret_cast<const AST::Named<AST::Item>*>(x.m_ptr);
os << "item[" << named_item.data.tag_str() << "(" << named_item.name << ")]";
} break;
+ case InterpolatedFragment::VIS:
+ os << "vis[" << *reinterpret_cast<const AST::Visibility*>(x.m_ptr) << "]";
+ break;
}
return os;
}