avoid C++ -> Python -> C++ overheads when passing around function objects
diff --git a/example/example5.ref b/example/example5.ref
index f32ba3a..c2e8eef 100644
--- a/example/example5.ref
+++ b/example/example5.ref
@@ -1,20 +1,13 @@
Rabbit is a parrot
-Polly is a parrot
-Molly is a dog
-Woof!
-func(43) = 44
-Payload constructor
-Payload copy constructor
-Payload move constructor
-Payload destructor
-Payload destructor
-Payload destructor
Rabbit is a parrot
Polly is a parrot
+Polly is a parrot
Molly is a dog
+Molly is a dog
+Woof!
The following error is expected: Incompatible function arguments. The following argument types are supported:
1. (example.Dog) -> NoneType
- Invoked with: <Pet object at 0>
+ Invoked with: <example.Pet object at 0>
Callback function 1 called!
False
Callback function 2 called : Hello, x, True, 5
@@ -24,4 +17,22 @@
Callback function 3 called : Partial object with one argument
False
func(43) = 44
+func(43) = 44
func(number=43) = 44
+Payload constructor
+Payload copy constructor
+Payload move constructor
+Payload destructor
+Payload destructor
+Payload destructor
+argument matches dummy_function
+eval(1) = 2
+roundtrip..
+argument matches dummy_function
+eval(1) = 2
+could not convert to a function pointer.
+eval(1) = 3
+could not convert to a function pointer.
+All OK!
+could not convert to a function pointer.
+All OK!