3 ms·
If you can't create a safe interface and must have the function then create an unsafe function and clearly document the invariants and then rely on the user to
by ViewTrick1002 10mo ago
If you can't create a safe interface and must have the function then create an unsafe function and clearly document the invariants and then rely on the user to uphold them?
Take a look at the unsafe functions for the standard library Vec type to see examples of this:
https://doc.rust-lang.org/std/vec/struct.Vec.html#method.from_raw_parts https://doc.rust-lang.org/std/vec/struct.Vec.html#method.fro...
- eru 10mo ago> If you can't create a safe interface and must have the function then create an unsafe function and clearly document the invariants and then rely on the user to uphold them? Yes, that's what you do in practice. But it's no different--in principle--from the approach C programmers have to use.