mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-23 05:35:13 +00:00
Merge pull request #260 from hbruintjes/allow_const_shared
Allow std::enable_shared_from_this when using const element type
This commit is contained in:
commit
d7e208c740
@ -887,7 +887,7 @@ private:
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
static void init_holder_helper(instance_type *inst, const holder_type * /* unused */, const std::enable_shared_from_this<T> * /* dummy */) {
|
static void init_holder_helper(instance_type *inst, const holder_type * /* unused */, const std::enable_shared_from_this<T> * /* dummy */) {
|
||||||
try {
|
try {
|
||||||
new (&inst->holder) holder_type(std::static_pointer_cast<type>(inst->value->shared_from_this()));
|
new (&inst->holder) holder_type(std::static_pointer_cast<typename holder_type::element_type>(inst->value->shared_from_this()));
|
||||||
} catch (const std::bad_weak_ptr &) {
|
} catch (const std::bad_weak_ptr &) {
|
||||||
new (&inst->holder) holder_type(inst->value);
|
new (&inst->holder) holder_type(inst->value);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user