mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 05:05:11 +00:00
Remove superseded handle::operator() overloads
The variadic handle::operator() offers the same functionality as well as mixed positional, keyword, * and ** arguments. The tests are also superseded by the ones in `test_callbacks`.
This commit is contained in:
parent
625bd48a91
commit
16db1bfbd7
@ -1134,20 +1134,6 @@ template <return_value_policy policy,
|
||||
return operator()<policy>(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
inline object handle::operator()(detail::args_proxy args) const {
|
||||
object result(PyObject_CallObject(m_ptr, args.ptr()), false);
|
||||
if (!result)
|
||||
throw error_already_set();
|
||||
return result;
|
||||
}
|
||||
|
||||
inline object handle::operator()(detail::args_proxy args, detail::kwargs_proxy kwargs) const {
|
||||
object result(PyObject_Call(m_ptr, args.ptr(), kwargs.ptr()), false);
|
||||
if (!result)
|
||||
throw error_already_set();
|
||||
return result;
|
||||
}
|
||||
|
||||
template <typename... Args, typename /*SFINAE*/>
|
||||
dict::dict(Args &&...args)
|
||||
: dict(detail::unpacking_collector<>(std::forward<Args>(args)...).kwargs()) { }
|
||||
|
@ -48,8 +48,6 @@ public:
|
||||
object call(Args&&... args) const;
|
||||
template <return_value_policy policy = return_value_policy::automatic_reference, typename ... Args>
|
||||
object operator()(Args&&... args) const;
|
||||
inline object operator()(detail::args_proxy args) const;
|
||||
inline object operator()(detail::args_proxy f_args, detail::kwargs_proxy kwargs) const;
|
||||
operator bool() const { return m_ptr != nullptr; }
|
||||
bool operator==(const handle &h) const { return m_ptr == h.m_ptr; }
|
||||
bool operator!=(const handle &h) const { return m_ptr != h.m_ptr; }
|
||||
|
@ -20,13 +20,6 @@ std::string kw_func4(const std::vector<int> &entries) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
py::object call_kw_func(py::function f) {
|
||||
py::tuple args = py::make_tuple(1234);
|
||||
py::dict kwargs;
|
||||
kwargs["y"] = py::cast(5678);
|
||||
return f(*args, **kwargs);
|
||||
}
|
||||
|
||||
py::tuple args_function(py::args args) {
|
||||
return args;
|
||||
}
|
||||
@ -49,9 +42,7 @@ test_initializer arg_keywords_and_defaults([](py::module &m) {
|
||||
std::vector<int> list;
|
||||
list.push_back(13);
|
||||
list.push_back(17);
|
||||
|
||||
m.def("kw_func4", &kw_func4, py::arg("myList") = list);
|
||||
m.def("call_kw_func", &call_kw_func);
|
||||
|
||||
m.def("args_function", &args_function);
|
||||
m.def("args_kwargs_function", &args_kwargs_function);
|
||||
|
@ -1,7 +1,6 @@
|
||||
import pytest
|
||||
from pybind11_tests import (kw_func0, kw_func1, kw_func2, kw_func3, kw_func4, call_kw_func,
|
||||
args_function, args_kwargs_function, kw_func_udl, kw_func_udl_z,
|
||||
KWClass)
|
||||
from pybind11_tests import (kw_func0, kw_func1, kw_func2, kw_func3, kw_func4, args_function,
|
||||
args_kwargs_function, kw_func_udl, kw_func_udl_z, KWClass)
|
||||
|
||||
|
||||
def test_function_signatures(doc):
|
||||
@ -49,8 +48,6 @@ def test_named_arguments(msg):
|
||||
|
||||
|
||||
def test_arg_and_kwargs():
|
||||
assert call_kw_func(kw_func2) == "x=1234, y=5678"
|
||||
|
||||
args = 'arg1_value', 'arg2_value', 3
|
||||
assert args_function(*args) == args
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user