Ownership rules can be arbitrarily violated by unsafe code which may cause a crash, or undefined behaviour but it does not prevent rust code from running.
Many “violates single ownership rules” (eg. Concurrent mutable references) actually dont break rust, because the undefined behaviour on many platforms happen to be “eh, does whatever c does, which is actually fine”.
It would be more correct to say that they must upheld to guarantee rust code functions correctly.
However, segfaults come from memory corruption, which comes from unsafe code; probably use after drop. It doesnt usually come from violating single ownership rules, and usually it’s from “object was dropped because it was owned and you forgot to keep it alive across a callback boundary” just like c++ code with unique_ptr
…but eh, whatever. The point is it crashes, which means the binding isn’t done correctly, whatever you call it. Lay blame where blame is due; the rust wrapper isn’t safe.
A program that fails under some circumstances is a buggy program. The fact that it doesn't crash under some circumstances is no redeeming quality at all.
I don't know what you are trying to argue here. This thread is already too deep. Ownership rules are not optional. Sorry?
I've explained and I've linked references, your last two comments say "not correct". If you don't want to argue don't, if you do please present arguments.
You are not "pointing out" anything, you are stating against evidence.
Ownership rules exist only at compile time and are not the reason it crashes at runtime.