diff options
| author | John Hodge <tpg@mutabah.net> | 2016-03-30 20:29:42 +0800 |
|---|---|---|
| committer | John Hodge <tpg@mutabah.net> | 2016-03-30 20:29:42 +0800 |
| commit | 0397724cfdbff39773ecc825dc25917b860ee982 (patch) | |
| tree | 7a8bbd5475c6a743bbba1b113c2c7c33163c3bfa /src/include | |
| parent | 8f77e93357eeb45a31b14af91cd749a379da5179 (diff) | |
| download | mrust-0397724cfdbff39773ecc825dc25917b860ee982.tar.gz | |
AST - Path binding clone
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/tagged_union.hpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/include/tagged_union.hpp b/src/include/tagged_union.hpp index 88b07d82..2a240d68 100644 --- a/src/include/tagged_union.hpp +++ b/src/include/tagged_union.hpp @@ -97,14 +97,14 @@ // "match"-like statement // TU_MATCH(Class, m_data, ent, (Variant, CODE), (Variant2, CODE)) -#define TU_MATCH(CLASS, VAR, NAME, ...) switch( TU_FIRST VAR.tag()) {/* +#define TU_MATCH(CLASS, VAR, NAME, ...) switch( (TU_FIRST VAR).tag()) {/* */ TU_MATCH_ARMS(CLASS, VAR, NAME, __VA_ARGS__)/* */} -#define TU_MATCH_DEF(CLASS, VAR, NAME, DEF, ...) switch( TU_FIRST VAR.tag()) {/* +#define TU_MATCH_DEF(CLASS, VAR, NAME, DEF, ...) switch( (TU_FIRST VAR).tag()) {/* */ TU_MATCH_ARMS(CLASS, VAR, NAME, __VA_ARGS__)/* */ default: {TU_EXP DEF;} break;/* */} -#define TU_MATCH_BIND1(TAG, VAR, NAME) /*MATCH_BIND*/ auto& NAME = VAR.as_##TAG(); (void)&NAME; +#define TU_MATCH_BIND1(TAG, VAR, NAME) /*MATCH_BIND*/ auto& NAME = (VAR).as_##TAG(); (void)&NAME; #define TU_MATCH_BIND2_(TAG, v1,v2, n1,n2) TU_MATCH_BIND1(TAG, v1, n1) TU_MATCH_BIND1(TAG, v2, n2) #define TU_MATCH_BIND2(...) TU_MATCH_BIND2_(__VA_ARGS__) #define TU_MATCH_ARM(CLASS, VAR, NAME, TAG, ...) case CLASS::TAG_##TAG: {/* |
