summaryrefslogtreecommitdiff
path: root/src/hir/path.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/path.hpp')
-rw-r--r--src/hir/path.hpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/hir/path.hpp b/src/hir/path.hpp
index 584d598b..05ceab3d 100644
--- a/src/hir/path.hpp
+++ b/src/hir/path.hpp
@@ -64,11 +64,22 @@ public:
// - Generic path
TAGGED_UNION(Data, Generic,
(Generic, GenericPath),
- (UFCS, struct {
+ (UfcsInherent, struct {
+ TypeRefPtr type;
+ ::std::string item;
+ PathParams params;
+ }),
+ (UfcsKnown, struct {
TypeRefPtr type;
GenericPath trait;
::std::string item;
PathParams params;
+ }),
+ (UfcsUnknown, struct {
+ TypeRefPtr type;
+ //GenericPath ??;
+ ::std::string item;
+ PathParams params;
})
);
@@ -76,6 +87,9 @@ private:
Data m_data;
public:
+ Path(Data data):
+ m_data(mv$(data))
+ {}
Path(GenericPath _);
Path(TypeRefPtr type, GenericPath trait, ::std::string item, PathParams params);
Path(SimplePath _);