summaryrefslogtreecommitdiff
path: root/src/hir/pattern.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/pattern.hpp')
-rw-r--r--src/hir/pattern.hpp11
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;