diff options
Diffstat (limited to 'src/hir/pattern.hpp')
-rw-r--r-- | src/hir/pattern.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/hir/pattern.hpp b/src/hir/pattern.hpp index fc763f54..c7b0fe7d 100644 --- a/src/hir/pattern.hpp +++ b/src/hir/pattern.hpp @@ -65,10 +65,15 @@ struct Pattern const Struct* binding; ::std::vector<Pattern> sub_patterns; } ), + (StructTupleWildcard, struct { + GenericPath path; + const Struct* binding; + }), (Struct, struct { GenericPath path; const Struct* binding; ::std::vector< ::std::pair< ::std::string, Pattern> > sub_patterns; + bool is_exhaustive; } ), // Refutable (Value, struct { Value val; } ), @@ -79,11 +84,17 @@ struct Pattern unsigned binding_idx; ::std::vector<Pattern> sub_patterns; } ), + (EnumTupleWildcard, struct { + GenericPath path; + const Enum* binding_ptr; + unsigned binding_idx; + } ), (EnumStruct, struct { GenericPath path; const Enum* binding_ptr; unsigned binding_idx; ::std::vector< ::std::pair< ::std::string, Pattern> > sub_patterns; + bool is_exhaustive; } ), (Slice, struct { ::std::vector<Pattern> sub_patterns; |