File tree 2 files changed +5
-4
lines changed
2 files changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -257,15 +257,15 @@ struct alias_constructor {
257
257
typename ... Extra,
258
258
enable_if_t <Class::has_alias && std::is_constructible<Alias<Class>, Args...>::value, int >
259
259
= 0 >
260
- static void execute (Class &cl, const Extra &...extra) {
260
+ static void execute (Class &cl, Extra & &...extra) {
261
261
cl.def (
262
262
" __init__" ,
263
263
[](value_and_holder &v_h, Args... args) {
264
264
v_h.value_ptr ()
265
265
= construct_or_initialize<Alias<Class>>(std::forward<Args>(args)...);
266
266
},
267
267
is_new_style_constructor (),
268
- extra...);
268
+ std::forward<Extra>( extra) ...);
269
269
}
270
270
};
271
271
Original file line number Diff line number Diff line change @@ -110,6 +110,7 @@ class cpp_function : public function {
110
110
// NOLINTNEXTLINE(google-explicit-constructor)
111
111
cpp_function (std::nullptr_t ) {}
112
112
cpp_function (std::nullptr_t , const is_setter &) {}
113
+ cpp_function (std::nullptr_t , is_setter &&) {}
113
114
114
115
// / Construct a cpp_function from a vanilla function pointer
115
116
template <typename Return, typename ... Args, typename ... Extra>
@@ -123,9 +124,9 @@ class cpp_function : public function {
123
124
typename ... Extra,
124
125
typename = detail::enable_if_t <detail::is_lambda<Func>::value>>
125
126
// NOLINTNEXTLINE(google-explicit-constructor)
126
- cpp_function (Func &&f, const Extra &...extra ) {
127
+ cpp_function (Func &&f, Extra & &...extra ) {
127
128
initialize (
128
- std::forward<Func>(f), (detail::function_signature_t <Func> *) nullptr , extra...);
129
+ std::forward<Func>(f), (detail::function_signature_t <Func> *) nullptr , std::forward<Extra>( extra) ...);
129
130
}
130
131
131
132
// / Construct a cpp_function from a class method (non-const, no ref-qualifier)
You can’t perform that action at this time.
0 commit comments