diff --git a/src/macro_helpers.h b/src/macro_helpers.h index 03b6a057..cc025ee1 100644 --- a/src/macro_helpers.h +++ b/src/macro_helpers.h @@ -81,8 +81,8 @@ int array[] = { A, B, RESTRICT_ARGS_COUNT(C, 3, B_MACRO, ##__VA_ARGS__) }; NUM_EXPECTED_ARGS, \ ORIGINAL_MACRO, \ ...) \ - ( __NL__ \ - []{ /* Here we are in the body of a dummy lambda function. */ __NL__ \ + ((struct { __NL__ \ + /* Here we are in the body of a dummy lambda function. */ __NL__ \ /* []{} is, BTW, the shortest way to write a lambda. */ __NL__ \ /* It is only used to hold the static_assert that cannot be */ __NL__ \ /* defined directly in the keymap initializer list. By using the */ __NL__ \ @@ -116,6 +116,6 @@ int array[] = { A, B, RESTRICT_ARGS_COUNT(C, 3, B_MACRO, ##__VA_ARGS__) }; VERBOSE_STATIC_ASSERT_FOOTER __NL__ \ ); __NL__ \ __NL__ \ - }, /* End of dummy lambda, the comma operator's A operand. */ __NL__ \ + }){}, /* End of dummy lambda, the comma operator's A operand. */ __NL__ \ B /* The overall ASSERT_ARGS_COUNT evaluates to B. */ __NL__ \ )