Open
Description
This fails for any T
with a custom type converter (e.g. std::string
, Eigen::MatrixXd
, MyCustomConvertingType
, etc.):
m.def("f", [](std::shared_ptr<T>) {})
The issue is that the holder type casters assume that type_caster<T>
is a type_caster_base<T>
, and make use of type_caster_base<T>
constructors and internals. #786 makes it into a compile-time failure (before that it will result in strange run-time failures as we end up invoking a generic caster on an unregistered type).