Unsafe code was used outside of an unsafe function or block.
Erroneous code example:
unsafe fn f() { return; } // This is the unsafe code fn main() { f(); // error: call to unsafe function requires unsafe function or block }
Using unsafe functionality is potentially dangerous and disallowed by safety checks. Examples:
These safety checks can be relaxed for a section of the code by wrapping the unsafe instructions with an unsafe
block. For instance:
unsafe fn f() { return; } fn main() { unsafe { f(); } // ok! }
See also https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html