We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2d0507d commit 338d615Copy full SHA for 338d615
include/pybind11/cast.h
@@ -530,13 +530,14 @@ class type_caster_generic {
530
break;
531
532
case return_value_policy::copy:
533
- if (copy_constructor)
+ if (copy_constructor) {
534
valueptr = copy_constructor(src);
535
- else
536
- throw cast_error("return_value_policy = copy, but the "
537
- "object is non-copyable!");
538
- wrapper->owned = true;
539
- break;
+ wrapper->owned = true;
+ } else { // Instead of throwing an error, treat as if return_value_policy::reference.
+ valueptr = src;
+ wrapper->owned = false;
+ }
540
+ break;
541
542
case return_value_policy::move:
543
if (move_constructor)
0 commit comments