> That's already supported by a .cast block.

Oh I didn't know this was already possible, that's neat.

> How about we simply follow the Rust way?

Rust's rule for unsafe behavior was what I used as a basis to write the RFC. 
Specifically this portion from Rust's documentation :

> Here are the abilities Unsafe Rust has in addition to Safe Rust:

>   * De-reference raw pointers
>   * Implement unsafe traits
>   * Call unsafe functions
>   * Mutate statics (including external ones)
>   * Access fields
> 


> That way we get the benefit that Rust gets: it's clear what code performs 
> unsafe memory operations.

> Of course this would require a lot of changes (many additions of "unsafe" 
> blocks in the stdlib for example) and we may wish to make it possible to 
> enable this on a per-module basis. But it would make analysing modules to 
> determine how unsafe they are very trivial.

If you have more to add to the discussion, new ideas or arguments to bring to 
the table of a memory unsafe effect, I encourage you to write those under the 
RFC.

One of the reason I went to the trouble or writing an RFC was because of the 
comparison to Rust `unsafe {}` pop-up every 6 month on the Forum :)

Reply via email to