summaryrefslogtreecommitdiff
path: root/src/ast/pattern.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/pattern.hpp')
-rw-r--r--src/ast/pattern.hpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ast/pattern.hpp b/src/ast/pattern.hpp
index 355b5c2a..299a26a6 100644
--- a/src/ast/pattern.hpp
+++ b/src/ast/pattern.hpp
@@ -68,12 +68,17 @@ public:
struct TagTuple {};
Pattern(TagTuple, ::std::vector<Pattern> sub_patterns):
- m_data( Data::make_Tuple( { ::std::move(sub_patterns) } ) )
+ m_data( Data::make_Tuple( { ::std::move(sub_patterns) } ) )
{}
struct TagEnumVariant {};
Pattern(TagEnumVariant, Path path, ::std::vector<Pattern> sub_patterns):
- m_data( Data::make_StructTuple( { ::std::move(path), ::std::move(sub_patterns) } ) )
+ m_data( Data::make_StructTuple( { ::std::move(path), ::std::move(sub_patterns) } ) )
+ {}
+
+ struct TagStruct {};
+ Pattern(TagStruct, Path path, ::std::vector< ::std::pair< ::std::string,Pattern> > sub_patterns):
+ m_data( Data::make_Struct( { ::std::move(path), ::std::move(sub_patterns) } ) )
{}
// Mutators