Fix issue: CLEAN method was not properly exported by tuple.
This commit is contained in:
1 parent
5d1eb45d5c
commit
acbf1efad6
2 files changed
+15
-1
No files matched your search
@@ -475,7 +475,7 @@ namespace m_tuple {
|
||||
M_IF_METHOD_ALL(INIT_MOVE, __VA_ARGS__)(INIT_MOVE(M_C(name, _init_move)),), \
|
||||
M_IF_METHOD_ALL(MOVE, __VA_ARGS__)(MOVE(M_C(name, _move)),), \
|
||||
M_IF_METHOD_ALL(SWAP, __VA_ARGS__)(MOVE(M_C(name, _swap)),), \
|
||||
M_IF_METHOD_ALL(CLEAN, __VA_ARGS__)(MOVE(M_C(name, _clean)),), \
|
||||
M_IF_METHOD_ALL(CLEAN, __VA_ARGS__)(CLEAN(M_C(name, _clean)),), \
|
||||
M_IF_METHOD(NEW, M_RET_ARG1(__VA_ARGS__,))(NEW(M_DELAY2(M_GET_NEW) M_RET_ARG1(__VA_ARGS__,)),), \
|
||||
M_IF_METHOD(REALLOC, M_RET_ARG1(__VA_ARGS__,))(REALLOC(M_DELAY2(M_GET_REALLOC) M_RET_ARG1(__VA_ARGS__,)),), \
|
||||
M_IF_METHOD(DEL, M_RET_ARG1(__VA_ARGS__,))(DEL(M_DELAY2(M_GET_DEL) M_RET_ARG1(__VA_ARGS__,)),), \
|
||||
|
||||
@@ -47,6 +47,7 @@ TUPLE_DEF2(pair3,
|
||||
TUPLE_DEF2(pair_str,
|
||||
(vala, string_t, STRING_OPLIST),
|
||||
(valb, string_t, STRING_OPLIST))
|
||||
#define M_OPL_pair_str_t() TUPLE_OPLIST(pair_str, STRING_OPLIST, STRING_OPLIST)
|
||||
|
||||
TUPLE_DEF2(single_str, (vala, string_t, STRING_OPLIST))
|
||||
|
||||
@@ -54,6 +55,13 @@ TUPLE_DEF2(pair2_str,
|
||||
(str, string_t),
|
||||
(value, unsigned long))
|
||||
|
||||
// Recursive tuple definition.
|
||||
TUPLE_DEF2(rtuple,
|
||||
(ituple, pair_str_t),
|
||||
(name, string_t))
|
||||
#define M_OPL_rtuple_t() TUPLE_OPLIST(rtuple, M_OPL_pair_str_t(), STRING_OPLIST)
|
||||
|
||||
|
||||
static void check_swap(void)
|
||||
{
|
||||
pair_str_t p1, p2;
|
||||
@@ -82,6 +90,12 @@ static void check_clean(void)
|
||||
assert(string_equal_str_p (p1->vala, ""));
|
||||
|
||||
single_str_clear(p1);
|
||||
|
||||
M_LET(r, rtuple_t) {
|
||||
string_set_str(r->name, "Hello");
|
||||
rtuple_clean(r);
|
||||
assert(string_equal_str_p (r->name, ""));
|
||||
}
|
||||
}
|
||||
|
||||
static void check_io(void)
|
||||
|
||||
Reference in new issue
Block a user