Update extern docs for Rust 2024 and add safety remarks
This commit is contained in:
@@ -381,11 +381,15 @@ mod enum_keyword {}
|
||||
/// lazy_static;`. The other use is in foreign function interfaces (FFI).
|
||||
///
|
||||
/// `extern` is used in two different contexts within FFI. The first is in the form of external
|
||||
/// blocks, for declaring function interfaces that Rust code can call foreign code by.
|
||||
/// blocks, for declaring function interfaces that Rust code can call foreign code by. This use
|
||||
/// of `extern` is unsafe, since we are asserting to the compiler that all function declarations
|
||||
/// are correct. If they are not, using these items may lead to undefined behavior.
|
||||
///
|
||||
/// ```rust ignore
|
||||
/// // SAFETY: The function declarations given below are in
|
||||
/// // line with the header files of `my_c_library`.
|
||||
/// #[link(name = "my_c_library")]
|
||||
/// extern "C" {
|
||||
/// unsafe extern "C" {
|
||||
/// fn my_c_function(x: i32) -> bool;
|
||||
/// }
|
||||
/// ```
|
||||
|
||||
Reference in New Issue
Block a user