تعریف پل در Rust

#[cxx::bridge]
mod ffi {
    extern "Rust" {
        type MyType; // Opaque type
        fn foo(&self); // Method on `MyType`
        fn bar() -> Box<MyType>; // Free function
    }
}

struct MyType(i32);

impl MyType {
    fn foo(&self) {
        println!("{}", self.0);
    }
}

fn bar() -> Box<MyType> {
    Box::new(MyType(123))
}
  • موارد اعلام شده در موارد extern "Rust" reference که در محدوده ماژول والد قرار دارند.
  • تولیدکننده کد CXX از extern "Rust" خارجی شما برای تولید یک فایل هدر ++C حاوی اعلان‌های ++C مربوطه استفاده می‌کند. header تولید‌شده همان مسیری را دارد که فایل منبع Rust حاوی پل دارای آن است، به جز استفاده از پسوند فایل rs.h.