https://bugs.kde.org/show_bug.cgi?id=448087

Jos van den Oever <j...@vandenoever.info> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |CONFIRMED
     Ever confirmed|0                           |1

--- Comment #1 from Jos van den Oever <j...@vandenoever.info> ---
I agree with the analysis. This is a fundamental problem that I did not realize
before.

One can get rid of the undefined behavior by changing all '&mut self' to
'&self' in the interface and leave the problem for the implementer. (This is
also what kdebuac.rhn  describes in https://bugs.kde.org/show_bug.cgi?id=406178
)

They might then use a Mutex. That would then lead to a deadlock instead of
undefined behavior.

The idea of a QueuedConnection would not solve the problem general problem. One
would need to guarantee that any code that calls into C++ does not call back in
Rust. The only safe way is to have only immutable references.

The read-only experimental branch might be the solution:
https://gitlab.com/rhn/rust-qt-bindings-generator/-/commits/simplify_ro

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to