Would the ownership model make D lang as complicated as Rust?
Paul Backus
snarwin at gmail.com
Wed Nov 18 01:29:37 UTC 2020
On Wednesday, 18 November 2020 at 01:21:12 UTC, Walter Bright
wrote:
> On 11/15/2020 6:34 AM, Timon Gehr wrote:
>> And an unsound interface between the two so you can have your
>> O/B and safety type checks and even get the luxury of some
>> memory corruption anyway.
>
> In Rust there are unsafe (i.e. unsound) functions, too. It's
> not possible to make Rust work without them.
In Rust, the borrow checker is still enabled in unsafe functions:
> You can take five actions in unsafe Rust, called unsafe
> superpowers, that you can’t in safe Rust. Those superpowers
> include the ability to:
>
> * Dereference a raw pointer
> * Call an unsafe function or method
> * Access or modify a mutable static variable
> * Implement an unsafe trait
> * Access fields of unions
>
> It’s important to understand that unsafe doesn’t turn off the
> borrow checker or disable any other of Rust’s safety checks: if
> you use a reference in unsafe code, it will still be checked.
Source: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html
More information about the Digitalmars-d
mailing list