mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 13:15:12 +00:00
Remove useless convert
argument from argument_loader
Since the argument loader split off from the tuple converter, it is never called with a `convert` argument set to anything but true. This removes the argument entirely, passing a literal `true` from within `argument_loader` to the individual value casters.
This commit is contained in:
parent
23e59c8633
commit
12ce07a2c2
@ -1227,8 +1227,8 @@ public:
|
||||
|
||||
static PYBIND11_DESCR arg_names() { return detail::concat(make_caster<Args>::name()...); }
|
||||
|
||||
bool load_args(handle args, handle kwargs, bool convert) {
|
||||
return load_impl(args, kwargs, convert, itypes{});
|
||||
bool load_args(handle args, handle kwargs) {
|
||||
return load_impl(args, kwargs, itypes{});
|
||||
}
|
||||
|
||||
template <typename Return, typename Func>
|
||||
@ -1243,26 +1243,26 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
bool load_impl(handle args_, handle, bool convert, type_list<args>) {
|
||||
std::get<0>(value).load(args_, convert);
|
||||
bool load_impl(handle args_, handle, type_list<args>) {
|
||||
std::get<0>(value).load(args_, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool load_impl(handle args_, handle kwargs_, bool convert, type_list<args, kwargs>) {
|
||||
std::get<0>(value).load(args_, convert);
|
||||
std::get<1>(value).load(kwargs_, convert);
|
||||
bool load_impl(handle args_, handle kwargs_, type_list<args, kwargs>) {
|
||||
std::get<0>(value).load(args_, true);
|
||||
std::get<1>(value).load(kwargs_, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool load_impl(handle args, handle, bool convert, ... /* anything else */) {
|
||||
return load_impl_sequence(args, convert, indices{});
|
||||
bool load_impl(handle args, handle, ... /* anything else */) {
|
||||
return load_impl_sequence(args, indices{});
|
||||
}
|
||||
|
||||
static constexpr bool load_impl_sequence(handle, bool, index_sequence<>) { return true; }
|
||||
static constexpr bool load_impl_sequence(handle, index_sequence<>) { return true; }
|
||||
|
||||
template <size_t... Is>
|
||||
bool load_impl_sequence(handle src, bool convert, index_sequence<Is...>) {
|
||||
for (bool r : {std::get<Is>(value).load(PyTuple_GET_ITEM(src.ptr(), Is), convert)...})
|
||||
bool load_impl_sequence(handle src, index_sequence<Is...>) {
|
||||
for (bool r : {std::get<Is>(value).load(PyTuple_GET_ITEM(src.ptr(), Is), true)...})
|
||||
if (!r)
|
||||
return false;
|
||||
return true;
|
||||
|
@ -121,7 +121,7 @@ protected:
|
||||
cast_in args_converter;
|
||||
|
||||
/* Try to cast the function arguments into the C++ domain */
|
||||
if (!args_converter.load_args(args, kwargs, true))
|
||||
if (!args_converter.load_args(args, kwargs))
|
||||
return PYBIND11_TRY_NEXT_OVERLOAD;
|
||||
|
||||
/* Invoke call policy pre-call hook */
|
||||
|
Loading…
Reference in New Issue
Block a user