diff options
Diffstat (limited to 'src/ast/pattern.hpp')
-rw-r--r-- | src/ast/pattern.hpp | 9 |
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 |