Closed fabbbbbbbb closed 8 months ago
I can't reproduce it. Note that CreateExtension()
should not have been called for simple tab-completion (it's not, as far as I can determine, when I run it), and the only way that CreateExtension()
could crash, is if s
is an invalid object, which doesn't seem likely in this simple scenario.
The CreateExtension()
call, however, is related to the change, b/c it's called for memory views in the array case (uint32_t a[4]
), but not for single elements (uint32_t a
) or strings (as the resolved unsigned char
was before). Memory views are expensive to create and often looped over, hence caching them is beneficial. Strings are copied, so no such problem. As such, I'm not excluding that something has changed for the worse, but I don't understand the flow.
I was able to reproduce it in a slightly different manner (at least, I think it's the same thing). Should be fixed now.
Should all be good now with release 3.1.0. Feel free to reopen if you find otherwise.
with python-3.11 and the latest commit of cppyy, when pressing TAB to complete a struct instance, the interpreter crashes
Note that there is no such problem if the struct has simple members (ie, not arrays, like
struct S {uint32_t a; uint32_t b;};
). I don't remember having this issue with cppyy-2.3.