| 674 | template <typename... Args> |
| 675 | struct process_attributes { |
| 676 | static void init(const Args &...args, function_record *r) { |
| 677 | PYBIND11_WORKAROUND_INCORRECT_MSVC_C4100(r); |
| 678 | PYBIND11_WORKAROUND_INCORRECT_GCC_UNUSED_BUT_SET_PARAMETER(r); |
| 679 | using expander = int[]; |
| 680 | (void) expander{ |
| 681 | 0, ((void) process_attribute<typename std::decay<Args>::type>::init(args, r), 0)...}; |
| 682 | } |
| 683 | static void init(const Args &...args, type_record *r) { |
| 684 | PYBIND11_WORKAROUND_INCORRECT_MSVC_C4100(r); |
| 685 | PYBIND11_WORKAROUND_INCORRECT_GCC_UNUSED_BUT_SET_PARAMETER(r); |