Ralf W. Grosse-Kunstleve

Results 186 comments of Ralf W. Grosse-Kunstleve

> I initiated our (Google's) global testing for this PR, to see if there is anything that trips over this change. Quick update: Unfortunately I'm seeing breakages with at least...

After a couple hours drilling into a deep pile of tooling, and a guess ... the diff below fixes all breakages reported in my previous comment. I don't have a...

> terminate called after throwing an instance of 'std::invalid_argument' Did someone already analyze why this happens? The usual suspects: * Exception thrown from a destructor? * Exception thrown while a...

Do you think ``` try { return new buffer_info(((capture *) ptr)->func(caster)); } catch (...) { // translate exception return nullptr; } ``` will solve this?

> It would be nice to factor out the exception translation logic from `cpp_function` I think that's a great idea. @Skylion007, @henryiii, WDYT?

@roastduck, did you already try the smart_holder branch, using `classh` for the type(s) that give you trouble on master? https://github.com/pybind/pybind11/blob/smart_holder/README_smart_holder.rst A reproducer would be useful (draft PR). If it doesn't...

> will work. But I am not sure how to safely write these template arguments for maximal compatibility. "None of us is" is probably much closer to the truth than...

Thanks @Skylion007! Leaving this in draft mode for the minute, waiting for feedback here: https://github.com/python/cpython/issues/96046#issuecomment-1219759686

> I was worried GC was not implemented properly with our use of the new API (see #4092), but it sounds like that the upstream CPython has been updated so...

> I suggest you waiting until [python/cpython#96047](https://github.com/python/cpython/pull/96047) is merged, and then test pybind11 again on a Python containing this change. Looks like it's working! All details below. The command at...