Skip to content

Commit 97c6798

Browse files
Moved classes outside of function
1 parent 4f54b37 commit 97c6798

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

tests/test_kwargs_and_defaults.cpp

+16-14
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,22 @@
1414

1515
#include <utility>
1616

17+
// Classes needed for subclass test.
18+
class ArgsSubclass : public py::args {
19+
using py::args::args;
20+
};
21+
class KWArgsSubclass : public py::kwargs {
22+
using py::kwargs::kwargs;
23+
};
24+
template <>
25+
struct handle_type_name<ArgsSubclass> {
26+
static constexpr auto name = const_name("*args");
27+
};
28+
template <>
29+
struct handle_type_name<KWArgsSubclass> {
30+
static constexpr auto name = const_name("**kwargs");
31+
};
32+
1733
TEST_SUBMODULE(kwargs_and_defaults, m) {
1834
auto kw_func
1935
= [](int x, int y) { return "x=" + std::to_string(x) + ", y=" + std::to_string(y); };
@@ -324,20 +340,6 @@ TEST_SUBMODULE(kwargs_and_defaults, m) {
324340
py::arg("j"));
325341

326342
// Test support for args and kwargs subclasses
327-
class ArgsSubclass : public py::args {
328-
using py::args::args;
329-
};
330-
class KWArgsSubclass : public py::kwargs {
331-
using py::kwargs::kwargs;
332-
};
333-
template <>
334-
struct handle_type_name<ArgsSubclass> {
335-
static constexpr auto name = const_name("*args");
336-
};
337-
template <>
338-
struct handle_type_name<KWArgsSubclass> {
339-
static constexpr auto name = const_name("**kwargs");
340-
};
341343
m.def("args_kwargs_subclass_function",
342344
[](const ArgsSubclass &args, const KWArgsSubclass &kwargs) {
343345
return py::make_tuple(args, kwargs);

0 commit comments

Comments
 (0)