summaryrefslogtreecommitdiff
path: root/src/hir/generic_params.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/generic_params.hpp')
-rw-r--r--src/hir/generic_params.hpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/hir/generic_params.hpp b/src/hir/generic_params.hpp
index ef83bda7..afa1c682 100644
--- a/src/hir/generic_params.hpp
+++ b/src/hir/generic_params.hpp
@@ -15,19 +15,23 @@ namespace HIR {
struct TypeParamDef
{
- ::std::string m_name;
+ RcString m_name;
::HIR::TypeRef m_default;
bool m_is_sized;
};
+struct LifetimeDef
+{
+ RcString m_name;
+};
TAGGED_UNION(GenericBound, Lifetime,
(Lifetime, struct {
- ::std::string test;
- ::std::string valid_for;
+ LifetimeRef test;
+ LifetimeRef valid_for;
}),
(TypeLifetime, struct {
::HIR::TypeRef type;
- ::std::string valid_for;
+ LifetimeRef valid_for;
}),
(TraitBound, struct {
::HIR::TypeRef type;
@@ -47,8 +51,8 @@ extern ::std::ostream& operator<<(::std::ostream& os, const GenericBound& x);
class GenericParams
{
public:
- ::std::vector<TypeParamDef> m_types;
- ::std::vector< ::std::string> m_lifetimes;
+ ::std::vector<TypeParamDef> m_types;
+ ::std::vector<LifetimeDef> m_lifetimes;
::std::vector<GenericBound> m_bounds;