summaryrefslogtreecommitdiff
path: root/src/hir/path.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-05-20 16:33:05 +0800
committerJohn Hodge <tpg@mutabah.net>2016-05-20 16:33:05 +0800
commit4ef6649aa789d8f57c62d0e848233967abde959d (patch)
tree8de30e63407a10a5b46885ffde3de9a7bc6da18a /src/hir/path.hpp
parentcbb7c1b5c7e3539340a6e4f04d521b2f9564b526 (diff)
downloadmrust-4ef6649aa789d8f57c62d0e848233967abde959d.tar.gz
HIR - Separate UFCS styles
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 _);