P.FMT.14 extern 外部函数需要显式指定 C-ABI

【描述】

当使用 extern 指定外部函数时,建议显式指定 C-ABI

虽然 extern 不指定的话默认就是 C-ABI,但是 Rust 语言显式指定是一种约定俗成。

【反例】


#![allow(unused)]
fn main() {
// 不符合:不要省略 C-ABI 指定
extern {
    pub static lorem: c_int;
}
}

【正例】


#![allow(unused)]
fn main() {
// 符合
extern "C" {
    pub static lorem: c_int;
}

extern "Rust" {
    type MyType;
    fn f(&self) -> usize;
}
}

【rustfmt 配置】

对应选项可选值是否 stable说明
force_explicit_abitrue(默认)Yesextern 外部函数总是要指定 ABI