As seen in https://github.com/nihil-lang/nsc/issues/2#issuecomment-697162215, we will need to have some sort of unsafe blocks to encapsulate potential undefined behaviors, like pointer offsets or address dereferencing (the compiler can't determine that the address actually points to something valid).
where it encloses unsafe operations as described above. The compiler could also detect whether an instruction is really unsafe, or not, and probably throw a warning back, something like "This instruction be potentially not be unsafe. You could remove it from the enclosing unsafe block."
As seen in https://github.com/nihil-lang/nsc/issues/2#issuecomment-697162215, we will need to have some sort of
unsafe
blocks to encapsulate potential undefined behaviors, like pointer offsets or address dereferencing (the compiler can't determine that the address actually points to something valid).Unsafe blocks would have a similar syntax to
where it encloses unsafe operations as described above. The compiler could also detect whether an instruction is really unsafe, or not, and probably throw a warning back, something like "This instruction be potentially not be unsafe. You could remove it from the enclosing unsafe block."